4.8 KiB
Scenario parent focus — local execution gate
Codex-956atf /root, Windows, 2026-09-11. The corrected root source passes
all five scenario_form_focus regressions, zero failures or ignored tests.
This is the working patch over8d55d2d, not a claim that the unchanged base commit
contains these corrections. Four tests mount the actual App root at1100×700
through the headless WGPU renderer; missing backend support fails explicitly.
The implementation handoff records I1 parent rearming after source Back/Use/Escape and I2 delayed-operation ownership. The independent source review has no unresolved material findings. Root preserved its strengthened overflow assertion: initial parent offset must exceed64 and the focused Name must become visible.
Actual integration and execution
The first desktop compile exited101 with12 installed-Iced API/test integration
errors. Root corrected owned dynamic widget IDs to Id::from(String); added
the chooser's Send + 'static task bound; supplied the existing test Observer's
reveal: None; disambiguated Iced Element and core TransitionDirection imports;
and constructed the editor Cursor explicitly. The source-child and parent-focus
contracts were retained. No dependency or public model schema changed.
Scoped rustfmt and git diff --check passed. The second command was:
cargo test --locked -p oa-desktop --bin arcadia-studio scenario_form_focus -- --test-threads=1
Exit0, warning-free compilation7m55s, test execution9.61s. Exactly5 passed; 715 other tests were filtered out. The current binary contains720 tests, but a full720-suite result has not yet been established by this focused command. Root selected the existing Rust/Cargo1.98.1 Windows GNU/LLVM toolchain and one Cargo job. No test stack or renderer skip setting was added.
Preserved evidence and limits
Immutable private directory .local/scenario-focus-gate-20260911/ contains the
test executable, verified runtime DLL, failed and successful logs, and a275-input
manifest of actual source/build files, including the new untracked focus module.
The manifest explicitly identifies working-source provenance rather than claiming
all inputs were identical to base HEAD.
The correction is now committed as
8895dd2e0f87c0f16085bf4b478b8c0fbed38685, pushed and exact readback verified.
Root independently compared all275 manifest inputs with that commit's Git archive;
there were zero mismatches. commit-readback.json preserves the comparison.
| Artifact | SHA256 |
|---|---|
| 135,520,256-byte test executable | C9C4210EA36854F20C0DC9F38137CEFE5C3BC9CD19E10E1AD41DCB410CC92D04 |
| 190,464-byte libunwind.dll | AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A |
| First failed compile log | D6552F4FB6A325E312241BF9035CD7F71877C2852D60D6FD7F425CB4394F1C27 |
| Passing focused log | 03DC0F104F1E4ADC7B26E25191ED9936A194EDBDF170182CAE02B4114B4E018D |
| Input/artifact manifest | C2D26460AF67D668F8159E1B2461C07110A0B2FD61938E410016FEADA7FB2D34 |
Full current desktop regression, current desktop Clippy, matching native GUI focus timing/visual behavior and Linux desktop acceptance remain separate gates. The isolated shared canvas candidate is not part of this binary; its future union must preserve the exact parent marker, session/mount split, Name identity, sensor and all five regressions. Prior676-suite/native80cf197 evidence remains historical.
Subsequent full-suite failure and corrective work
Root ran the preserved executable with --test-threads=1 and captured the complete
720-test run: exit101,716 passed/4 failed, no ignored tests,377.91s. All five parent
focus tests pass within this run. The saved full log SHA256 is
4A765FFAD4B08EC0B9D6B8399CF841E3C776051EA07B4433BB47C8E6BDC4C67F.
Three failures concern chooser fixtures/scrolling; the separately
recorded diagnosis preserves
exact panic lines and values. The fourth is the existing
new_scenario_form_resets_only_its_scroll_and_recovery_gets_a_fresh_session:
after Cancel→Start without a closed render, the new form retained700px instead
of zero. Installed Iced0.14.2 keyed-column diff does not replace same-length child
state merely because its key changed. Root introduced a small explicit editing
session wrapper which replaces only its child tree on identity change and retains
same-session field state. The original complete canvas/source/history assertions
are unchanged. The wrapper is reusable for the isolated process editor's invocation.
Root also applies the chooser's zero-reveal-axis correction to the parent focus collector's identical fractional-capacity calculation. Corrected source is not yet covered by this saved binary; a new focused/full gate is required. No fixture tolerance, disabled test, stack override or renderer skip was introduced.