Files
ARCADIA-Studio/harness/release-home-recovery-review-20260906.md

4.1 KiB

Current Home/recovery cross-feature review — 2026-09-06

Bounded read-only review of current home.rs, home/tests.rs, recovery.rs, app/checkpoints.rs, app open/save/result handlers, app/save_as_tests.rs, and semantic ordered/recovery adapters. No native input or Cargo was used for this review. Existing native evidence is release-current-native-verification.md; it records actual older-binary source/property/Annotation/Binding recovery and state routing, not acceptance of every current source change.

Finding and authorized correction

P2: Home Resume discarded the actual workspace choice. home_event sent Page::Diagram, which is deliberately explicit Architecture navigation. Open the state-only saved fixture (Behavior), visit Home, then Resume: that navigation clears the active state view to an empty Architecture page. Text/Data/Traceability also returned to Architecture. This is navigation loss, not model loss.

Root authorized a bounded correction after this finding: App now remembers its last actual non-Home page; Home Resume requests that page. Constructor state-view routing initializes the remembered page correctly; explicit Architecture keeps its existing behavior. Three focused home_resume tests cover all eight pages, repeated Home navigation, exact state view and explicit Architecture, raw invalid source/property drafts, and accepted-document identity. Source edits are limited to app.rs and app/checkpoints.rs. Formatting/diff checks passed. Tests and native recheck are pending root's current build queue; earlier compiled test binaries must not be claimed to include this correction.

Other reviewed boundaries

  • Old v1 semantic checkpoints: the actual synthetic .local/native-qa/semantic-before-crash.json has checkpoint version 1, semantic version 1, one decision, and no orders field. The current closed Saved schema adds orders with #[serde(default)]; it restores an empty order-draft map while retaining existing decisions/rows/references. Its exact accepted-model fingerprint is still checked, and refresh recomputes a plan rather than executing saved commands. No incompatibility found by inspection. A current deserialize/replan regression now removes that field from valid and rejected raw v1 candidates, checks exact intent retention and rejects a changed accepted model. It is authored but awaits the root test run; the prior native restore predates the ordered addition.
  • Current restored Home card: checkpoint_loaded removes the restored ID from the displayed entries immediately, and Refresh filters both current and restored IDs. Save retires checkpoints only when all accepted/raw/workflow work is clean. The current focused test checks immediate removal. Distinct retained generations after a second crash are not proof of duplicate identity; the old snapshot intentionally remains until clean save/discard.
  • Failed saves: current result handlers leave the accepted document, raw workspace, recents, save destination, and recovery checkpoints in place on failure; pending multi-file save recovery is surfaced separately. Successful renamed Save-as adoption is revision checked and does not add semantic history. No new failure-path defect found. Previously closed late-write races were not rerun or counted as new review evidence.
  • Externally changed includes: ordinary Save retains the loaded physical expectations; a recovered checkpoint opens detached and retains no old disk binding. Save-as uses the destination's admission/expectation path and refuses collisions rather than silently overwriting an original include. No new cross-feature overwrite path found. This is code review plus existing focused tests, not a new fault-injected disk or native run.

Limits: no current-binary crash execution, filesystem permission failure, Linux runtime, execution of the new old-v1 deserialize test, or post-fix Home Resume native acceptance was performed here. One concrete navigation finding was reported and implemented; the remaining reviewed paths produced no additional concrete correctness defect.