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

143 lines
9.4 KiB
Markdown

# Current-draft source navigation — Windows evaluation
Codex-9e8r6t `/root`, 2026-09-11. Branch `codex/release1-9e8r6t`, published source
checkpoint `36db9356cce3c7614ae37eec9fe17678ca210afe` above `fb24def2`.
[Issue 6](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/6)
owns coordination. This is a bounded contribution toward the full application
requirements, not first-release acceptance. Linux/WSL work remains user-paused.
## Result and contract
Definition (F12), References (Shift+F12), and Back (Alt+Left) operate on the exact
current loaded source drafts. Editor shortcuts require editor focus. A unique
validated definition in a complete include scope can open directly; drafts,
detached candidates, incomplete scope, and alias/identity collisions require an
explicit choice. References count authored live `@alias` occurrences, excluding
comments and prose. They do not claim all semantic dependencies.
The syntax-only bounded outline reuses the language lexer. Navigation performs
no Apply, stabilization, model mutation, filesystem discovery, or implicit save.
It preserves UTF-8 byte positions and CRLF text. The strict parser already required
the decoded 36-byte hyphenated UUID spelling: the extracted shared check aligns
tolerant outline identity with that existing rule, without narrowing the accepted
language. See the [design and falsifiers](release-text-navigation-design-20260911.md)
and [outline integration](release-text-navigation-outline-integration-20260911.md).
One worker is retained across workspace replacement until its completion releases
the slot. Exact source/session/query/cursor checks reject obsolete results.
Captured UI commands carry their emitting workspace and active file. Delayed
reveal and focus also check raw keyboard, mouse, touch and window-unfocus events;
final focus is a synchronous guarded operation. Back retains at most 64 locations
and explicitly reports when an edited origin requires its current cursor.
The results pane scrolls beside the editor, with an independently scrolling capped
header. Native layout and interaction acceptance must be recorded separately from
the controller and mounted-widget regression tests below.
## Executed gates and exact scope
Raw input manifests preserve source bytes independently of Git newline conversion.
| Gate | Result | Source/evidence scope |
| --- | --- | --- |
| Windows desktop check | Pass, 17:36:52 UTC | Initial integration; 13 unused-interface warnings subsequently corrected. |
| Full desktop tests | 737 passed, 0 failed, 1 ignored; 17:51:59 UTC | `inputs1`, 499 files, 9,418,355 bytes; predates queued-UI replay and Escape corrections. |
| Isolated 100-module query trial | 1 passed | Exact preserved full-test executable `F6C6312F…9AABD9`; lexical draft benchmark only. |
| Focused desktop `source_` tests | 177 passed, 0 failed, 1 ignored; 18:01:39 UTC | `inputs2`, includes workspace/file replay rejection; does not include Escape correction. |
| Strict all-target desktop Clippy | Pass with `-D warnings`, 18:03:25 UTC | `inputs2`; all 499 files read back unchanged at 18:07:16 UTC. |
| Windows GUI build | Pass, 18:11:31 UTC | `inputs2`, binary `9FA1457E…53CB66`, 113,196,544 bytes. Never launched; superseded for native evaluation by the required Escape correction. |
| Focused desktop tests and strict Clippy | 179 passed, 0 failed, 1 ignored; Clippy passed | `inputs3`, ordinary Escape correction; captured-modal routing was still incomplete. |
| Final focused desktop `source_` tests | 181 passed, 0 failed, 1 ignored; 18:21:10 UTC | `inputs4`, includes actual subscription/captured-input routing and modal priority. |
| Final strict all-target desktop Clippy | Pass with `-D warnings`, 18:21:39 UTC | `inputs4`; all 499 files read back unchanged at 18:22:00 UTC. |
| Matching Windows GUI build | Pass, 18:24:17 UTC | Commit `36db9356` and exact `inputs4`; native acceptance pending. |
The matching GUI is 113,197,056 bytes, SHA256
`df7126b8fc14c90985c2a0c55a640990f990e487d95a33f194aa7238754ceabd`.
Cargo JSON identifies the actual executable, and the build helper checks all
499 frozen input bytes before and after compilation. An exact private copy is
preserved for native evaluation. It is not a published or native-accepted artifact.
`inputs1` archive SHA256:
`af415e14c200e11ba42c7b95a383e7c8dafc95fa4ac8588725553bff7251a3b3`.
`inputs2` archive SHA256:
`94a205dcc20ca26092c2318fa72d4cc82007aedf9298be3fa3540cdea008e402`.
The 100-module fixture contains an entry plus 100 modules, 1,000 declarations,
10,000 lexical uses and 179,156 source bytes. Measured admission was 0.365 ms,
capture 137.7 ms and query 28.7 ms. The bounded result showed one declaration and
199 uses, explicitly omitting 9,801 uses. Process-wide resident memory was
10,186,752 to 16,093,184 bytes, with a 16,842,752-byte peak. These are isolated
query/process measurements, not GUI latency, index-only memory, or an engineering
validity claim.
## Review corrections and preserved failed attempts
Independent review identified generation reuse after a session reset, window
unfocus that left a widget focus flag set, and queued UI commands replayed before
Iced rebuilt the view. Integrated regressions cover these cases, including keeping
a new query intact when old workspace/file commands arrive.
Final review then confirmed a missed Escape dismissal: the prior handler closed
Find while leaving the new symbols panel visible. The correction shares the
existing captured-Escape bridge when source navigation is available and retains
the ordinary modal-priority handler. Added regressions cover ready and pending
queries, obsolete completions, and modal dismissal before underlying results.
The first correction's `inputs3` contains 499 files / 9,432,209 bytes, archive SHA256
`36ba679d094313e9ea4808bf432477fcf194ac51334548bccb4faa5d40b1c527`.
Its passing direct-message tests did not exercise captured input under a modal.
The final activation includes the Text panel under ordinary modals, while the
separate architecture route retains exclusive ownership. A mounted TextInput
produces the captured event fed to every actual App subscription recipe. Tests
cover ready/pending queries with Find, hosted, file and confirmation overlays;
one Escape closes the modal before underlying results, without duplicate behavior
or architecture events. Closed/off-page panels opt out. No source/model/history
mutation or late reopening is permitted. These tests passed in `inputs4`, 499
files / 9,440,008 bytes, archive SHA256
`20cc53fb8a36369d6a8e69f99b0bf00db17679ec745e248202ee277fd5effa44`.
The full earlier 737-test run was not repeated for these bounded corrections.
Native acceptance remains separate.
The first Escape patch encountered a transient file-write failure. Both target
files were checked against `inputs2` and remained byte-for-byte unchanged before
the successful scoped retry; no truncated source was accepted.
The component archive preserves the earlier Unicode-fixture encoding failure,
private adapter type-inference failure and native-preparation helper failures.
The original full-core pass used four corrupted fixture lines; corrected UTF-8
fixtures were rerun separately (12 tests and applicable Clippy), while production
core bytes remained unchanged. Do not promote the earlier run to Unicode evidence.
## Evidence and remaining acceptance
The subsequent [initial native trial](release-text-navigation-native-initial-20260911.md)
verified useful navigation and exact saved-source/model equality, but found four
interaction defects. It is not accepted for release. Corrections and a matching
new native evaluation are required; earlier build/test results keep their scope.
The subsequent [four-file correction](release-text-navigation-native-corrections-20260911.md)
at `eeeaa126` passed 188 focused tests, 750 full desktop tests and strict Clippy
after independent review. Matching GUI5478 [native evaluation](release-text-navigation-native-v3-20260911.md)
verified the four interaction fixes, invalid-source navigation and the 30-file
engineering workflow. Explicit saved-source/model equality passed. The trial
also found a repair save-status defect: Apply could compare against the previous
destination and report clean before Save. That correction needs its own gates
and native recheck before publication. All raw inputs and failed attempts retain
their original scopes.
- [Component and prepared fixture archive](experiments/text-navigation-components-20260911/README.md)
- [Desktop gate archive](experiments/text-navigation-desktop-20260911/README.md)
- [Escape follow-up gates and reviews](experiments/text-navigation-followup-20260911/README.md)
- [Matching committed GUI build and prepared native helper](experiments/text-navigation-native-20260911/build/README.md)
- [Independent outline review](release-text-navigation-outline-review-v2-20260911.md)
Prepared native fixtures include exact UTF-8/CRLF source in a Unicode folder,
ambiguous and missing-include repair cases, and the 30-reachable-file release1
engineering walkthrough. The existing pinned oracle compares the complete saved
Project, identities, reachable SourceBundle and physical Arcadia files; it does
not export full-model JSON. Preparation passes establish fixture integrity only.
Actual newly built GUI interaction, final saved-oracle comparison and packaged
delivery require their own recorded results.
The published contextual preview remains unchanged. Its separately built EFEE
server retains its earlier provenance; it must not be described as built from
this navigation source closure without a corresponding new build.