143 lines
9.4 KiB
Markdown
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.
|