Work / Chitragupt / Wiki / Flows
document-lifecycle-standard-review
Flowcanonicalverified 2026-06-26
FLOW.DOCUMENT-LIFECYCLE.STANDARD-REVIEWFlow — Document lifecycle · Standard review
Summary
The happy path. Parsed fields are shown alongside the original PDF; the user reviews and confirms, after which the document feeds the Tax / Expense / Portfolio rollups.
Audience
end-user
Entry
Document marked unreviewed from document-lifecycle-ingest, document-lifecycle-upgrade-backfill, document-lifecycle-ocr, document-lifecycle-classification, document-lifecycle-parse-pending, or document-lifecycle-family-transfer.
Steps
| # | Step | Surface | Notes |
|---|---|---|---|
| 1 | Document is unreviewed |
review-document | Parsed fields shown side-by-side with the original PDF |
| 2a | Confidence high (all required fields present) | review-document | Green Confirm chip surfaces; one-tap confirm |
| 2b | Confidence low / required fields missing | review-confirm-doc | User reviews each field (read-only display; re-upload to correct, per no-manual-entry) |
| 3 | User taps "Confirm" | review-document | → confirmed (EXIT) — fields flow into rollups via onDocumentConfirmed |
Exit
Document is confirmed; the ledger mapper writes entries that feed pillar-tax / pillar-expense / pillar-portfolio reviews per upload-only.
Escapes
- Confirm gate:
unreviewedIS confirmable. See the shared confirm-gate rule in document-lifecycle-ingest. - Required fields missing: user must re-upload a cleaner export — no manual override.
- AIS document shape: confirmation runs through review-confirm-ais instead of the standard confirm.
- Superseded by newer upload: doc becomes
superseded(terminal) per the shared terminal-states table in document-lifecycle-ingest.
Sources
- .context/wiki/flows/* § "Flow 12 — Document lifecycle state machine" · "I. Standard review"
- .context/wiki/flows/* § "Exit state" (Flow 12)
Every project of mine is written down like this.
Read the résumé