Files
ARCADIA-Studio/harness/release-chooser-correction-gate-20260911.md
T

111 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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` |