Preserve initial navigation native trial and confirmed interaction defects

This commit is contained in:
2026-09-11 12:07:30 -07:00
parent 8e00d3ce4f
commit 2dedde29e9
57 changed files with 855 additions and 0 deletions
@@ -0,0 +1,115 @@
# Initial native navigation trial — 2026-09-11
Codex-9e8r6t `/root`; [issue 6](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/6).
**Not accepted for release:** the actual Windows trial found four interaction
defects. Useful checks below retain their narrower scope. Corrections and a new
identified native run are required; the published contextual preview is unchanged.
## Identity and isolation
Source is `36db9356cce3c7614ae37eec9fe17678ca210afe`, built from unchanged
`inputs4`; [build evidence](experiments/text-navigation-native-20260911/build/README.md)
and [integrated gate report](release-text-navigation-integrated-20260911.md).
The pinned GUI SHA256 is
`df7126b8fc14c90985c2a0c55a640990f990e487d95a33f194aa7238754ceabd`
(113,197,056 bytes). It ran from the private `text-navigation-native-20260911`
directory, PID 6344, launched at 18:40:00 UTC. Runtime DLL, profile, test copies
and oracle were pinned by the existing native helper. No WSL, Linux or VPN
operations occurred.
The earlier shared-desktop queue was based on an unverified assumption. Peer
filesystem evidence differed; local Computer inventory showed no other Studio.
[Issue 5 comments 473–478](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/5#issuecomment-473)
record the correction and peers' independent inventories. Each helper saw only
its own identified Studio. The trial touched only this returned application.
The app was closed through its title-bar control after the final verified save.
A fresh Computer inventory no longer contained Studio, and PID 6344 was absent.
The final binary/DLL readback matched the prelaunch bytes. Stdout/stderr were
preserved; there was no observed crash.
## Observed behavior
The four-file fixture uses UTF-8, CRLF, Unicode folder `救援`, stable UUIDs,
one actual `@assess` reference, and five excluded comment/prose occurrences.
| Action | Observed result | Screenshot |
| --- | --- | --- |
| F12 inside `links.arcadia`'s authored `@assess` | Opened `救援/assess.arcadia`, selected the alias at line 2, byte column 13 | 02 |
| Shift+F12 from the declaration | One declaration and one authored use; comments/prose excluded | 03 |
| Alt+Left | Returned to the originating file/caret | 04 |
| Insert one comment character | Old rows became disabled and explicitly stale | 05 |
| F12 in the changed draft | Stayed at origin; offered an explicit draft declaration choice | 06 |
| Choose draft declaration, Back, Ctrl+Z | Reached the declaration, returned, then restored clean source without Apply | 07 |
| F12 while Find owns focus | No source navigation | 08 sequence |
| Minimum window, Find and results together | Actual outer size 1102×732, client 1100×700; source remained editable and tools scrollable | 08 |
| Escape with Find and results open | Closed both | 09 |
| Explicit Definition button | Reached and selected the same exact declaration | Native sequence before 10 |
| Save all after undoing all trial edits | Status read “All source files saved”; full saved oracle passed | 16 |
Navigation and draft choices did not implicitly Apply. Source Undo returned the
fixture to its accepted baseline. This trial does not prove all focus races,
ambiguous/missing-include repair, busy cancellation, or the larger engineering
walkthrough; those remain for the corrected native run.
## Defects and falsification
1. **Diagnostics move the editor during typing.** One comment edit cleared
diagnostics immediately and moved the editor top from y518 to y393. Debounced
lint restored the rows before the next click, which consequently hit a
diagnostic and opened another file. No data was lost. Independent source review
confirmed count-dependent diagnostic height plus a max-height-only header.
Reserve the existing bounded, scrollable header height; keep stale diagnostics
cleared. Verify actual editor geometry remains constant across lint states.
2. **Back reopens an empty panel after Close.** The explicit Definition action,
Close, then Back restored the origin but reserved a blank 300 px results column
(screenshot 10). Preserve a closed panel on successful Back without a notice;
useful refusal/change notices must remain visible.
3. **Find alone needs two Escapes.** With results closed and Find focused, the
first Escape merely unfocused the field (screenshot 11); a second closed Find.
The captured-input bridge included symbols but omitted Find alone. Add Find
to that same bridge while preserving modal priority and route deduplication.
Returning focus to the editor must use existing guarded reveal behavior.
4. **System-menu input can alter source later.** A clean focused comment caret,
Alt+Space, Escape, then a neutral header click inserted an ordinary space at the
original caret. Immediate captures after Escape, including one after a 1 s
wait, still looked clean; the next pointer input exposed the edit. The first
isolated result therefore appeared to falsify the suspicion (12–13), but the
settled sequence showed `is` becoming `i s` (14). A repeat with the caret after
`is` produced `is excluded` after clicking a neutral header (15), without other
text entry. Native Size-menu trials had shown the same delayed dirtiness.
Exact Windows event payloads were not instrumented. Source review identified
Iced's printable Alt+Space fallback as a compatible cause. Test a narrowly
scoped Windows binding guard with ordinary Space and international-input
controls, then repeat this actual native sequence before claiming resolution.
All these trial edits were undone. Existing clean snapshots and failed states are
retained. Do not infer a successful action solely from the first captured frame
after a native modal closes; observe the settled state before a dependent check.
## Saved result and evidence
The final `valid-navigation-final-saved` check ran after the visible successful
Save all result. The pinned oracle reported exact equality of the complete model,
identities, all four reachable source texts and all four physical Arcadia files.
This checks more than selected aliases or reparsing. The earlier
`valid-navigation-restored` check also compared disk bytes successfully, but it
preceded a visibly settled successful save and is **not** save-action acceptance.
[Raw trial archive](experiments/text-navigation-native-20260911/initial-trial/manifest.json):
52 payload files, 1,603,662 bytes, manifest SHA256
`22eb414ffb45cc68b2f57d9cf516be73c6c52815188839ad32d237eaee69bf0c`.
It contains the launch and binary receipts, initial source hashes, screenshots
with capture metadata, both exact source checkpoints, oracle commands/results and
stdout/stderr. The large executable and private runtime profile are excluded;
their pinned identity and build provenance remain linked above. Raw files were
copied with exact byte readback and per-file SHA256s.
Acceptance next: independent review of the bounded corrections; relevant mounted
geometry/event tests and strict desktop Clippy; a matching preserved GUI; repeat
the affected native flows, repair fixtures and realistic multi-file walkthrough;
full saved-source/model comparison; then coordinate a versioned release. Current
work ownership and timing remain in issue 6 rather than this historical report.