# Stakeholders

## Stakeholder And Actor Inventory

| Stakeholder or actor | Role in process | Needs | Evidence quality |
| --- | --- | --- | --- |
| Operations staff | Select exports, choose matching profile, validate runs, review exceptions, prepare import files. | Fast, reliable, auditable transfer process with clear exception guidance. | Observed |
| Staff reviewer or auditor | Reviews manual reconciliation deltas, exception reports, match audits, and control summaries. | Traceability for accepted matches, exceptions, manual edits, and totals. | Inferred |
| Venue administrator | Owns venue-specific matching conventions and crosswalk maintenance. | Configurable profiles without code changes and protected default behavior. | Inferred |
| Lunchtab system | Destination for user exports and InitialBalances imports. | Correct family-level balances and accepted CSV schemas. | Observed |
| Odin Cloud POS system | Source of account balance report. | Export is consumed as local `.xlsx`; no direct integration is implemented. | Observed |
| Students or families | Subjects of balances, identifiers, names, email addresses, and family codes. | Privacy, accuracy, and correct family balance treatment. | Inferred |
| Technical maintainer | Maintains Python desktop app, packaging, tests, release process, and profile capabilities. | Reproducible tests, release build, installer behavior, and stable artifacts. | Observed |
| Internal software distributor | Publishes installer, checksum, release notes, and guidance. | Safe Windows installer and upgrade behavior. | Observed |

## System Actors

| System actor | Responsibility | Evidence |
| --- | --- | --- |
| Desktop GUI | Provides reconciliation, manual reconciliation, InitialBalances, profile management, and sandbox workflows. | `src/odin_lunchtab/gui.py`, `src/odin_lunchtab/sandbox_gui.py` |
| CLI | Supports technical execution of reconciliation workflow. | `src/odin_lunchtab/cli.py`, README command-line section |
| Matching profile store | Persists venue profiles under local app data. | `profile_directory` in `src/odin_lunchtab/profiles.py` |
| Result folder | Stores timestamped outputs, audits, summaries, manifests, and generated hashes. | `src/odin_lunchtab/managed.py`, `src/odin_lunchtab/initial_balances.py` |
| Sandbox generator | Creates deterministic synthetic data packs and verification artifacts. | `src/odin_lunchtab/sandbox_data.py`, README sandbox section |

## Stakeholder Concerns

- Observed: Staff need source-file protection; README states selected source files are not changed, moved, or deleted.
- Observed: Staff need output traceability; manifests include input names, file hashes, generated filenames, and artifact hashes.
- Observed: Staff need exception triage; reconciliation separates full exceptions from manual-review exceptions and generates candidate matches.
- Observed: Staff need controlled import readiness; InitialBalances omits the processed import when blocked.