Files
ARCADIA-Studio/harness/release-behavior-transition-independent-review-20260906.md
T

60 lines
3.4 KiB
Markdown

# Behavior transition navigation — independent review, 2026-09-06
Reviewed the bounded changes in desktop `workflow.rs`, the workflow Apply arm in
`app.rs`, `behavior.rs::selected_behavior`, and the five new
`app/transition_context_tests.rs` cases. No production edits, Cargo, or native
input were performed by this reviewer.
## Findings
No material correctness defect found in the inspected change. The adapter now
finds the change whose source is the explicit request root, rather than selecting
the first dependency. A behavior-owned root with no explicit destination returns
the core candidate before legacy architecture placement. Explicit destinations
still follow the core/placement path, while ordinary work keeps its architecture
behavior. StateAction resolves the behavior owner through its typed source state.
The app resolves the counterpart's owner from the candidate, skips port-owner
reveal for behavior navigation, and changes page/selection only after the single
`Document::execute(Replace)` succeeds. A rejected source writeback restores the
review without changing navigation or accepted history. The previous/current
owner and saved state-view identity comparison preserves camera state when that
context is unchanged. The normal scenario/state event contexts also include
document, revision and owner/view identity, so the new route does not make old
canvas events authoritative.
The new tests use a deliberately dependency-first scenario in both directions,
compare the complete app candidate with core, preserve every unrelated diagram,
and verify exact accepted source and one Undo/Redo boundary. Other tests cover
internal selection, process/chain roots without existing views, explicit
destination versus ordinary work, machine/typed-action owner and camera behavior,
and rejected source preflight plus retained invalid property input. The author
also added the suggested stale-event falsifier: the both-direction test captures
a source-scenario selection event before Apply, delivers it after Apply and Undo,
and asserts unchanged model/selection. That addition was reviewed read-only;
this review does not claim the new tests have executed.
## Independent fixture oracle
Added distinctly named `check reverse-behavior` and
`generate-reverse-behavior` modes to the tracked CM fixture generator. The new
`cm-reverse-behavior.after-template` preserves the original before-source bundle
and every saved diagram. Legacy `check reverse` and its template remain intact.
See [fixture instructions](fixtures/release1-native/communication-means/README.md).
A coordinated tiny direct-rustc build linked the stable existing core/serde
libraries into an ignored executable, without touching Cargo outputs. Results:
- New behavior template: complete model/source pass, ten generated target/trace
UUID substitutions, zero placement substitutions.
- Legacy template: complete model/source pass, fifteen substitutions including
five placement identities.
- Each policy rejects the other's placement outcome; added source whitespace is
separately rejected. Regenerating the new bundle is byte-exact.
The checker never adopts observed geometry, routing, metadata or names. Negative
logs: `.local/native-fixtures/cm-reverse-behavior-falsifiers/`. Root's completed
legacy native result remains valid evidence for that older policy. Corrected
native Behavior routing, visible Call/Reply selection and its Save/Undo/Redo
sequence are a separate pending gate, as are the new desktop test run and build.