111 lines
7.1 KiB
Markdown
111 lines
7.1 KiB
Markdown
# Chooser and editing-session corrections — Windows gate
|
||
|
||
Codex-956atf `/root`, 2026-09-11. The corrected source passes **chooser14/14** and
|
||
**scenario-workspace18/18**, including all four previously failing cases and all
|
||
five parent-focus I1/I2 regressions. The full rerun at committed `80f2588` finished
|
||
**720 passed, 0 failed, 0 ignored**, exit0 in330.42s. The first strict desktop
|
||
Clippy then failed on three lint findings. The later source correction `3c9e6ee`
|
||
passes strict desktop Clippy and its own **720/720** full-suite rerun, with0
|
||
failures/ignored. The two passing executables and logs remain separately identified.
|
||
|
||
The [first full run](release-scenario-focus-gate-20260911.md#subsequent-full-suite-failure-and-corrective-work)
|
||
finished716 passed/4 failed. Its evidence is preserved. The
|
||
[chooser diagnosis](release-chooser-full-gate-diagnosis-20260911.md) records why
|
||
an already-visible anchor drifted by1px and why the rationale/attachment fixtures
|
||
stopped before their intended interaction. Exact assertions were retained.
|
||
|
||
Root replaced the one-child keyed-column assumption with a small generic
|
||
`behavior/form_session.rs` widget. It forwards layout/input/drawing/operations,
|
||
retains child state for the same editing identity, and creates a fresh child tree
|
||
when a different session replaces it without an intervening closed render. The
|
||
existing test now verifies zero new-form scroll while preserving the canvas's
|
||
actual137×850 offset, same-session700px scroll, raw recovery and source/history.
|
||
The helper is shared with the future isolated process-editor union.
|
||
|
||
The chooser and parent focus collectors now preserve zero requested reveal on
|
||
each axis. Rounded drawing offsets no longer create a spurious delta from a
|
||
fractional scroll capacity. The exact pointer-versus-keyboard anchor assertion
|
||
now passes. The corrected operation fixture explicitly selects and resolves its
|
||
actual interface operation; the paired-attachment fixture establishes real child
|
||
correspondence through public events before selecting its facet. Neither change
|
||
relaxes production ownership/write guards.
|
||
|
||
## Actual commands and evidence
|
||
|
||
Root used Rust/Cargo1.98.1 Windows GNU/LLVM, one Cargo job and ordinary test-stack
|
||
settings. Standalone scoped rustfmt and `git diff --check` pass.
|
||
|
||
| Command | Result |
|
||
| --- | --- |
|
||
| `cargo test --locked -p oa-desktop --bin arcadia-studio app::reference_authoring::tests:: -- --test-threads=1` | Exit0; warning-free compile2m01s;14 passed,706 filtered;64.11s. |
|
||
| Same prefix with `behavior::scenario::workspace::tests::` | Exit0;18 passed,702 filtered;4.89s. |
|
||
| Immutable corrected executable `--test-threads=1` | Exit0;720 passed,0 failed/ignored/filtered;330.42s. |
|
||
| `cargo clippy --locked -p oa-desktop --all-targets -- -D warnings` at80f2588 | Exit101: one useless conversion, unnecessary unwrap and large workflow-event variant. Subsequent correction/gates are separate. |
|
||
|
||
Immutable `.local/chooser-correction-gate-20260911/` contains the corrected
|
||
executable, verified runtime DLL and exact focused logs. Its512-input manifest
|
||
includes Rust/Cargo inputs plus shared Windows build resources, docs, examples
|
||
and harness fixtures. The earlier275-input manifest remains a narrower preserved
|
||
source inventory for the earlier executable, not this corrected gate.
|
||
|
||
| Artifact | SHA256 |
|
||
| --- | --- |
|
||
| 135,405,568-byte corrected test executable | `05811E18E4FF3495EECFD585947234906F27F7709B7E583F0362477EF1A943C3` |
|
||
| 190,464-byte libunwind.dll | `AA282FA47BB2C4E210CEA5E470CDBDCA58568F0BE0BC73E404D86AB9CD95EF6A` |
|
||
| Chooser14 log | `EFA48AE5C66C8D839635F61DE2F9C798DF809FA686B3F173FE112B28558AAAF4` |
|
||
| Scenario18 log | `10B7EF829A7AF0D741571701EC257D88B71A0D5EF7BB53A2022AE000B5FF1CEE` |
|
||
| Working-input/artifact manifest | `985C06A3B9926C9096F97D59DDE57CE3494F2FE06008BB9F46FBD5578126B4BB` |
|
||
| Full720 log | `C6D62D6E872748F277399E0058887C55340AD3D6958D556C9DA09D275B76BA09` |
|
||
| Full Git source archive80f2588 | `D25EE71824163504474398A39E35D446A1659931566FB8C9C8A449FB4F5680B4` |
|
||
|
||
All512 recorded inputs were independently compared with the complete Git archive
|
||
of `80f25882143d977ca4984691740c3a7ffd45aedd`: zero mismatches. Both this commit and
|
||
parent8895dd2 were pushed and exact remote readback verified. The archive has
|
||
14,632,960 bytes; private `commit-readback.json` records the comparison.
|
||
|
||
Independent follow-up review of root's session wrapper and parent reveal
|
||
correction completed with no material new finding; see the dated appendix in
|
||
[the review](release-scenario-focus-review-20260911.md). That source/log review
|
||
preceded full720 completion and did not execute tests. Its appended report SHA256
|
||
is `214F9F1F445209B26C50A5CF6E1F81D2D8F2A76C00ADA212378267B7582DBB8A`.
|
||
Matching native Windows GUI focus/visual acceptance remains open. The isolated shared canvas and schema8
|
||
codec changes are outside this build. Further Linux builds/checks are deferred
|
||
by the user's15:28 UTC instruction until the user reports networking resolved.
|
||
|
||
## Subsequent strict lint correction
|
||
|
||
Commit `3c9e6eeb64ce3efc03b29890b82199a42c21f335` replaces the large semantic
|
||
workflow-event payload with ordinary Box ownership and a typed constructor. All
|
||
event routing, row addressing and exact test payload assertions are retained.
|
||
The chooser now binds its optional callback directly; the test modal drops a
|
||
redundant conversion. No lint suppression was added.
|
||
|
||
The first correction attempt emitted21 type errors because a case-insensitive
|
||
PowerShell comparison skipped constructor names changed only in case. The actual
|
||
source was then corrected using a case-sensitive comparison and explicit boxed
|
||
patterns. `cargo clippy --locked -p oa-desktop --all-targets -- -D warnings`
|
||
passes with exit0 in2m52s; scoped rustfmt and whitespace checks pass. The log SHA256
|
||
is `54FEC59B7E89EF322EE4DF152EEC461526B82A3D0C1B01A988A025846FE2D645`.
|
||
The fresh full720 rerun finished with exit0,720 passed,0 failed/ignored/filtered
|
||
in339.37s, after a warning-free4m09s build. Its matching GUI subsequently built
|
||
warning-free in7m00s and passed the scoped SA creation/history/reopen workflow;
|
||
see [native evidence](release-scenario-native-3c9e6ee-20260911.md).
|
||
No concurrent production-source edits occurred.
|
||
|
||
[Durable exact logs](experiments/chooser-correction-20260911/README.md) preserve
|
||
nine original payloads/302,410 bytes, including the earlier failures, corrected
|
||
focused/full results and strict lint pass. Archive manifest SHA256
|
||
`F79E6124985362F62327F54A6B9F7F72762CE26A8A9B17B7369CEF8DDEEF208E`.
|
||
|
||
The final test stage is `.local/chooser-lint-gate-20260911/`. All513 recorded
|
||
inputs (now also including the tracked `rust-toolchain.toml`)
|
||
match Git3c9e6ee exactly. The [final manifest](experiments/chooser-lint-gate-20260911/manifest.json)
|
||
and both exact logs are durable; manifest SHA256
|
||
`CA8EA64B2E9F737C282D99DC5A59BDDD3EFD24A8118B7A779DB5CE3DABD98A34`.
|
||
|
||
| Final3c9e6ee artifact | SHA256 |
|
||
| --- | --- |
|
||
| Test executable135,412,736 bytes | `1D7B681FDD08DD473983789C8153943A73E345114F012C9237BF7C9AD44EDDBE` |
|
||
| Full720 log82,369 bytes | `41247CE9261BDABD086FEDC40A7C723D7B47C2C4E0728E7042B3F941389FB14A` |
|
||
| Strict Clippy log157 bytes | `54FEC59B7E89EF322EE4DF152EEC461526B82A3D0C1B01A988A025846FE2D645` |
|