Review workspace
The workspace keeps one review session across its tabs, including pending commands, computation drafts, undo, save status, and navigation.
Ownership
ReviewProvider owns the working review, stored version, draft coalescer,
pending/retry batches, computation drafts, and save lifecycle.
WorkspaceSession owns tab visits, finish confirmations, section actions, and
field focus. Larger tab bodies use dynamic imports.
useReviewNavigation exposes a smaller context for navigation consumers.
Saving
Ordinary fact edits call perform and update the local preview. Autosave
defaults off; when enabled it flushes after 60 seconds of edit inactivity. Save and
controlled in-app navigation await flush. Page hide, tab hide, and unload
attempt a flush, but browser termination can interrupt it. Computation column drafts are
not commands until Save column is used.
A failed request keeps its batch and requestId for retry. A 409 installs
current, clears drafts and undo, and reports the conflict. Navigation stays
on the editor if saving fails. The provider retains up to 30 undo callbacks; undoing a
fact edit issues a validated restore command.
UI surfaces
| Surface | Responsibility |
|---|---|
| Header / identifying information | Identity, appointment, status and section actions. |
| Household | Members and related household facts. |
| Computation | Three editable scenario columns plus saved Final. |
| Review | Workbook-coded answers, narrative, required-input feedback and findings. |
| Documents | Upload PDFs and edit stored metadata; storage and snapshot saves are separate. |
| Activity | Read-only history; can quote notes attached to actions. |
| Memo / downstream panel | PEC/manager/CAO-related work where role and state permit. |
The live tree has no general notes editor. Notes still exist in types and command history. The earlier deferred notes directory is no longer present.
Finishing work
Finish actions first save pending work, prepare checks where required, and keep the
confirmation open while the user resolves blockers. The server repeats those rules.
Non-drop approval includes the known PEC routing blocker. Appointment permission uses the
schedule capability, separate from fact-edit permission; stored values
represent Eastern wall-clock time.
Changing the workspace
Trace an input to perform, then to its domain case. Check locked roles, save
failure, reload, and in-flight edits. Keep save-status updates from resetting unrelated
local drafts. Review inputs, browser state, and stored snapshots are distinct layers.