Document Details
Purpose
This specification defines the functional, data-quality, control, audit, and operational requirements for the migration workflow.
View or Download
Document Preview
Requirements
Business Requirements
| ID | Requirement | Evidence quality |
|---|---|---|
| BREQ-001 | The organization must transfer eligible Odin balances into Lunchtab with less manual record-by-record work. | User-provided and current-state docs |
| BREQ-002 | The process must preserve source exports and avoid modifying original files. | Observed |
| BREQ-003 | The process must quarantine unsafe, ambiguous, malformed, or unmatched records. | Observed |
| BREQ-004 | The process must provide auditable evidence for accepted matches, rejected exceptions, manual edits, and control totals. | Observed |
| BREQ-005 | The process must support venue-specific identifier conventions without code changes. | Observed |
| BREQ-006 | The process must produce a Lunchtab InitialBalances import only when integrity checks pass. | Observed |
| BREQ-007 | The organization should define operational ownership for profile changes, manual approvals, artifact storage, and release distribution. | Inferred |
Functional Requirements
| ID | Requirement | Status |
|---|---|---|
| FREQ-001 | Select Odin .xlsx and Lunchtab users .csv files in the desktop app. |
Implemented |
| FREQ-002 | Validate source file existence, type, headers, and supported CSV encoding. | Implemented |
| FREQ-003 | Preview profile matching results before writing reconciliation outputs. | Implemented |
| FREQ-004 | Run reconciliation using Legacy Default or configured matching profile. | Implemented |
| FREQ-005 | Generate cleaned Odin, processed Odin, transfer, exception, manual-review, match-audit, audit-control, candidate, summary, and manifest artifacts. | Implemented |
| FREQ-006 | Manage matching profiles with rules, transforms, account-type filters, email-domain filters, crosswalks, import, and export. | Implemented |
| FREQ-007 | Review candidate matches and create advisory checklists or proposed edited transfer files. | Implemented |
| FREQ-008 | Audit staff-edited transfer files before InitialBalances use. | Implemented |
| FREQ-009 | Validate, preflight, aggregate, and process InitialBalances transfers. | Implemented |
| FREQ-010 | Omit processed InitialBalances import when blocking exceptions exist. | Implemented |
| FREQ-011 | Generate deterministic synthetic data packs for non-live testing. | Implemented |
| FREQ-012 | Track cross-run operational metrics for trends and continuous improvement. | Proposed |
| FREQ-013 | Record formal approval outcome for high-risk manual reconciliation edits. | Proposed |
| FREQ-014 | Document post-import verification results. | Proposed |
Non-Functional Requirements
| ID | Requirement | Status |
|---|---|---|
| NFR-001 | Application must operate locally and not require admin rights for installed use. | Implemented |
| NFR-002 | Generated outputs should be written atomically to avoid partial result folders. | Implemented |
| NFR-003 | CSV outputs must be compatible with Windows and Excel. | Implemented |
| NFR-004 | Manifests and logs should minimize personal data exposure. | Implemented |
| NFR-005 | Matching must preserve identifier string semantics, including leading zeros. | Implemented |
| NFR-006 | Release process should include locked dependency sync, tests, lint, format check, executable smoke test, installer, and checksum. | Implemented |
| NFR-007 | Result artifacts containing personal data must be stored and retained according to policy. | Proposed |
Acceptance Criteria For Operational Readiness
- Staff can complete reconciliation using a selected profile and locate all generated artifacts.
- Manual-review exceptions can be triaged with candidate reports or documented manual investigation.
- Staff-edited transfers are audited and invalid manual amounts are corrected before downstream use.
- InitialBalances clean runs produce a processed import and blocked runs omit the import.
- Audit-control summaries show PASS before any generated import is used.
- A designated reviewer approves high-risk manual reconciliation deltas.
- Result folders are stored in an approved location and retained for an approved period.
- Post-import verification is recorded for production runs.
Dependencies
- Odin Cloud account balance export format.
- Lunchtab users export schema.
- Lunchtab InitialBalances export/import schema.
- Windows desktop environment for packaged app.
- Python and uv for development.
- Internal distribution channel for installer and checksums.
Assumptions
- Inferred: Operators have permission to access source exports containing student/family data.
- Inferred: Lunchtab import is performed manually outside the application.
- Unknown: Whether the app needs additional role-based access, encryption, or retention enforcement.