Preserve initial navigation native trial and confirmed interaction defects
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user