Files
ARCADIA-Studio/harness/release-text-navigation-native-corrections-20260911.md
T

104 lines
6.1 KiB
Markdown

# Native navigation corrections — 2026-09-11
Codex-9e8r6t `/root`; [issue 6](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/6).
The four-file correction above `f4e426ae2a6971395e1ca7e6f094b0c20056cf93`
passes its focused Windows gates and independent source review. Source checkpoint
`eeeaa1262748800c4c9aaa1eca79a7de96757358` subsequently passed the full desktop
suite and a matching GUI build. Its native trial verified the interaction fixes
but found a separate repair save-status defect; see the
[GUIv3 native evaluation](release-text-navigation-native-v3-20260911.md).
## Changes and review
The [initial DF71 native trial](release-text-navigation-native-initial-20260911.md)
found four interaction defects. The correction reserves the existing bounded
header's outer height so lint cannot move the editor; keeps results closed on a
successful Back without a notice; dismisses Find alone through the existing
captured-Escape bridge; and suppresses exactly focused Windows Alt-only Space
in the source editor. Ordinary Space, shifted input and Ctrl+Alt/AltGr remain
on their existing paths. The header still scrolls when its contents overflow.
Find Close and ordinary dismissing Escape restore the existing source selection
through the guarded viewport/focus ticket. Modal dismissal retains priority.
Independent review found that the previously unscoped Find Close could now
restore focus in a newer workspace or Find invocation. Its actual button message
now carries session/path plus an invocation token renewed on every Find Open.
Stale envelopes and bare legacy Close are rejected before invalidating current
navigation; current Close still works. Review2 accepted this closure. Root also
reviewed the final renderer-bound and evaluator-only changes.
## Verified scope
- `cargo test --locked --offline -p oa-desktop --bin arcadia-studio source_ -- --test-threads=1`:
**188 passed, 0 failed, 1 ignored, 562 filtered**, 41.73 s execution,
finished 19:38:11 UTC.
- `cargo clippy --locked --offline -p oa-desktop --all-targets -- -D warnings`:
**passed**, finished 19:40:12 UTC. Scoped formatting and diff checks passed.
- All **499 inputs / 9,470,838 bytes** were unchanged at 19:41:08 UTC.
ZIP members were also compared with the manifest and current source bytes.
Final correction `inputs4` archive SHA256:
`7ff9e5703e33bd72e5c2186dd61125e965b82b8dfbf085961d514b005e716798`.
Seven added regressions exercise Back visibility, actual captured Find Escape,
stale Find Close across reset/file switch/reopen, mounted guarded focus, stable
editor geometry, real Scrollable wheel/offset behavior, and text-bearing Windows
key events with ordinary/international input controls. Affected App assertions
compare accepted Project, raw SourceBundle, selection and history.
Geometry uses the shared production layout helper with real paragraph/editor
metrics and representative dynamic header content, not the whole App view.
The focus tree verifies removal of Find and later foreign focus; its raw-clock
case also changes focus, so it does not independently isolate that race end to
end. Existing primitive guards provide narrower separate coverage. The supplied
Alt+Space payload test is not instrumentation of the native Windows event.
The subsequent GUIv3 native trial verified the settled menu/neutral-click
sequence and ordinary Space control on Windows; that evidence is separate from
this supplied-payload test.
## Full suite and matching GUI
The committed `eeeaa126` source with unchanged correction inputs4 passed
`cargo test --locked --offline -p oa-desktop --bin arcadia-studio -- --test-threads=1`:
**750 passed, 0 failed, 1 ignored**, 322.13 s, completed at 19:49:52 UTC.
The matching Windows GUI build finished at 19:52:36 UTC. Its preserved executable
is 113,204,224 bytes, SHA256
`5478e783986579bbd2644694276154a19bc6a252d01af22292fe16433caa724f`.
Both gates rechecked all frozen source inputs before and after execution.
The [full-suite/build archive](experiments/text-navigation-native-20260911/corrected-build/manifest.json)
contains 13 payloads, 392,690 bytes; manifest SHA256
`bbe50d3c7d1b9d7ccef65f1f8f885b4155f123e575e09621afc7ef2098202689`.
It preserves raw output, Cargo artifact messages, receipts and helpers, with an
executable identity receipt rather than the large binary. These are development
profile Windows results for the exact inputs; no later source fix inherits them.
## Preserved failures
The first PowerShell 5 wrapper stopped on ordinary Cargo stderr. The corrected
PowerShell 7 run reached three real E0659 macro-import errors and was stopped
after the independent stale-Close finding; both diagnostics and interruption
are retained. Inputs2 then failed compilation because the generic helper needed
`text::Renderer`. Inputs3 fixed only that bound; 187 tests passed, but its geometry
test incorrectly equated the short inner Scrollable with the fixed outer slot
(243.70001 versus 294 px). Inputs4 corrected only the measurement to the actual
outer Container/editor boundary. Exact editor rectangle stability and the
separate overflow/offset assertions then passed. No production layout change
was made merely to satisfy that assertion. Failed runs are not Clippy or native
passes; every earlier input snapshot retains its own readback.
## Evidence and continuation
[Raw correction archive](experiments/text-navigation-native-20260911/corrections/manifest.json):
44 payloads, 9,167,596 bytes; manifest SHA256
`25a210de4a65b2221007e077fe72dfe0bb68483a068127e122839798aa4da332`.
It preserves original files, exact source ZIPs, helpers, patch, actual logs and
receipts, independent reviews and final gate result. The test executable has an
identity receipt; its large binary is not included.
The GUIv3 evaluation repeated the four failures, navigation and draft/Undo
behavior, invalid-source repair, and the realistic 30-file engineering walkthrough.
Explicit Save and complete saved equality passed, but Apply in repair mode could
incorrectly report saved against the prior destination's baseline. Publication
requires the separate saved-baseline correction and its own gates/native check.
The existing contextual release remains unchanged. Linux/WSL remains paused.