9.8 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. The saved-state correction
at 33c6d83 passed all 755 desktop tests, strict Clippy and matching GUI B183.
Its native recheck passed both
invalid-source repairs and actual interrupted-save rollback, with retained
unsaved state, Close/Cancel protection and three exact final saved-model/source
comparisons. Package acceptance remains separate. All raw inputs and failed
attempts retain their original scopes.
- Component and prepared fixture archive
- Desktop gate archive
- Escape follow-up gates and reviews
- Matching committed GUI build and prepared native helper
- Independent outline review
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.