Document Details

Purpose

This analysis documents the migration workflow, handoffs, decisions, dependencies, controls, and exception paths.

View or Download

Document Preview

Workflow Analysis

Workflow States

Reconciliation

Observed controller states in src/odin_lunchtab/gui_controller.py:

State Meaning Entry trigger Exit trigger
EMPTY Required files are not selected. App start or incomplete input selection. Select both Odin and Lunchtab files.
READY_TO_VALIDATE Files are selected but not validated. Select both files or change profile. Begin validation.
VALIDATING Input validation is in progress. Operator validates. Validation succeeds or fails.
VALID Inputs passed validation and can be processed. Validation success. Begin processing or change input/profile.
PROCESSING Reconciliation outputs are being written. Operator starts process. Processing succeeds or fails.
COMPLETE Run folder and outputs are available. Processing success. Change input/profile for another run.
ERROR Validation or processing failed. Exception surfaced to controller. Correct inputs and retry.

Manual Reconciliation Review

Observed states:

State Meaning
EMPTY Original or edited transfer is not selected.
READY_TO_REVIEW Both transfer files are selected.
REVIEWING Delta audit is in progress.
COMPLETE Review finished with PASS or REVIEW status.
BLOCKED Review found invalid manual amounts.
ERROR Review failed structurally or unexpectedly.

InitialBalances Transfer

Observed states:

State Meaning
EMPTY Transfer or InitialBalances file is not selected.
READY_TO_VALIDATE Both CSV files are selected.
VALIDATING Validation and optional preflight are running.
VALID Inputs can be formally processed.
PROCESSING Transfer, audit, and manifest generation are running.
COMPLETE Clean import was produced.
BLOCKED Audit artifacts were produced but import was withheld.
ERROR Workflow failed outside expected blocked-run path.

Decision Points

Decision point Decision rule Evidence quality
Are source files usable? File type, existence, headers, encodings, and required profile fields must validate. Observed
Is a reconciliation match safe? Unique target, compatible names, no conflicting rules, no duplicate source/target. Observed
Should an exception appear in manual review? All exception reasons except no Lunchtab match appear in the focused manual-review file. Observed
Can candidate selection be applied? Candidate must be actionable, transfer row must still match, and selected row must have blank current balance. Observed
Is manual reconciliation ready for downstream use? Invalid manual amounts block; risky edits require review; normal manual resolutions pass with audit. Observed
Can InitialBalances import be published? No blocking exceptions and control totals pass. Observed

Failure Paths

  • Invalid file extension or missing source file stops validation.
  • Missing required columns stop validation.
  • Unsupported or corrupted CSV encoding stops parsing.
  • Malformed Odin rows are reported and excluded from valid source control totals.
  • Duplicate or ambiguous matches are quarantined rather than guessed.
  • Audit-control failures raise runtime errors and prevent a successful run.
  • Manual reconciliation structural mismatch stops review.
  • Invalid manual amount blocks downstream use.
  • InitialBalances exceptions produce blocked audit artifacts and omit the processed import file.

Notifications And Feedback

Observed:

  • Desktop UI status text changes across validation, processing, success, blocked, and error phases.
  • Completion screens expose buttons to open result folders and key reports.
  • Run summaries provide operator-readable next actions.
  • Candidate viewer supports actionable-only and ambiguous-only filtering and can export checklists.

Inferred:

  • There is no external notification channel such as email or ticketing; staff review is local and file-based.

Workflow Strengths

  • Strong separation between automated safe matches and human-reviewed exceptions.
  • Clear blocked-run behavior for InitialBalances.
  • Repeatable profile-driven matching for venue differences.
  • Audit evidence for matches, exceptions, manual edits, and control totals.
  • Synthetic sandbox data supports training and non-live verification.

Workflow Constraints

  • The process still depends on staff obtaining correct exports from Odin and Lunchtab.
  • Profile quality directly affects match rate and exception volume.
  • Candidate reports and proposed transfers are advisory; final operational approval remains manual.
  • The application is file-based rather than integrated directly with source or destination systems.

Related case study