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

64 lines
4.1 KiB
Markdown

# 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.