64 lines
4.1 KiB
Markdown
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.
|