85 lines
4.8 KiB
Markdown
85 lines
4.8 KiB
Markdown
# 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](release-scenario-focus-fix-20260911.md) records I1
|
||
parent rearming after source Back/Use/Escape and I2 delayed-operation ownership.
|
||
The [independent source review](release-scenario-focus-review-20260911.md) 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:
|
||
|
||
```text
|
||
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](release-chooser-full-gate-diagnosis-20260911.md) 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.
|