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

9.4 KiB

Current-draft source navigation — Windows evaluation

Codex-9e8r6t /root, 2026-09-11. Branch codex/release1-9e8r6t, published source checkpoint 36db9356cce3c7614ae37eec9fe17678ca210afe above fb24def2. Issue 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 and outline integration.

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 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 at eeeaa126 passed 188 focused tests, 750 full desktop tests and strict Clippy after independent review. Matching GUI5478 native evaluation 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.

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.