Files
ARCADIA-Studio/harness/experiments/text-navigation-native-20260911/corrections/independent-review1.md
T

6.2 KiB

Independent review of Text native corrections, inputs1

Codex-9e8r6t /root/release_audit, 2026-09-11. Read-only source review against HEAD fb16c420 and the frozen inputs1 archive SHA256 026cb5d112cbcb70e4690ab831a77e17906db329267df21423b7973f71774c36. Read Gitea #6 through comment 484 and the four-file diff. All four inspected raw hashes matched inputs1.json. No compiler, test execution, native input or production edit by this reviewer. Root reports the initial wrapper failed on PowerShell native stderr handling; this review claims no corrected gate pass.

Actionable finding: stale Find Close gains current-context focus

At views.rs:1023, Find Close still emits the unscoped Message::SourceNavigation(Event::Close). At app.rs:3035-3040 it closes whichever Find is now open and calls restore_source_editor_focus. Unlike SourceSymbols, it bypasses the emitting-session/path check at app.rs:1109-1113. The helper (app/source_symbols.rs:137-144) captures the current context and raw clock, so its later guards cannot recognize that the initiating Close came from an older view.

Counterexample: retain A's Close event; switch/reset to B, open Find and enter a new query; deliver A's event. It closes B's Find and queues a B focus ticket. The same path also needs a Close/reopen instance boundary. This is a verified source path, not a new native reproduction. Existing unscoped dismissal predates this patch; the additional editor-focus effect is new.

Recommended narrow correction: stamp only the Find Close UI action with emitting workspace session, path and Find-open instance, reject mismatches before source_interaction, and retain the ordinary current Close path. Root accepted this finding and requested implementation by behavior_audit; no corrected version is included in this review. Regression controls should preserve the newly opened Find/query, existing reveal and interaction token, cursor, exact raw files and accepted snapshot on wrong workspace/path or old same-path instance. Current Close must still work.

Inspected corrections and evaluator limits

  • Stable editor boundary: source_layout at views.rs:1214 reserves the existing bounded header height and leaves overflow scrollable. The actual source view calls this helper, so this is a small, maintainable correction to the native diagnostic jump without retaining misleading stale diagnostics. The test at :1421 uses that production layout helper with real Iced Paragraph/Editor geometry and repeated tree diffs. It meaningfully verifies the boundary invariant; the header contents in mounted_source (:1354) are a separate simplified fixture, not the actual App header. It therefore does not prove real minimum-window toolbar reachability, full App editor height, diagnostic button hit routing or font readability. The scroll test (:1471) proves actual overflow and retained offset for six to seven diagnostics, both at the same capped inner height; it does not claim offset preservation through zero diagnostics or a shrinking scroll range. Native minimum-height lint-clear/refill and next-click confirmation remain required.

  • Back: app/source_symbols.rs:189-195 retains closed results after an exact successful return and opens only for a notice. The test at app/source_symbols/tests.rs:481 covers exact cursor return, changed-origin notice and empty history, preserving accepted/raw/model history. No additional finding in this path.

  • Removed Find focus: app.rs:1057-1064 extends the existing single captured bridge, retains architecture exclusion and ordinary modal priority. Close/Escape first removes Find, queues a reveal, and the changed sensor ticket causes a viewport message after rebuilding. Thus the originating focused Find is absent when guarded_focus scans the current tree; it does not silently veto normal restoration merely because it was focused before Close. The test at app/source_symbols/tests.rs:549 explicitly removes and diffs the old focused input before running the real viewport task/operation chain. Its target is a TextInput substitute with the actual editor ID, so this is operation/tree-lifetime evidence, not a full App/editor native test. A later focused widget vetoes the operation even without a clock change, and raw input is checked again at operation execution. Modal dismissal exits before requesting editor focus. No new unconditional focus operation was introduced.

  • Raw-input controls: the new mounted focus test combines later focus with the incremented-clock variant; that variant alone does not isolate the clock from the foreign-focus veto. Existing interaction tests are the separate primitive coverage. Retain a no-foreign-focus, clock-advanced control when claiming this specific end-to-end race. This is evaluator scope, not an established production defect.

  • Windows Alt+Space: views.rs:1237-1249 excludes only focused Windows events whose modifiers are exactly ALT and whose logical key is named/character Space. Ordinary Space, Ctrl+Alt input, shifted input and non-Windows defaults remain delegated. The mounted real-editor test (:1524) verifies supplied key payloads produce no SourceEdit for the two guarded variants and exact insertion for ordinary/international controls. It also establishes that the default binding would insert those payloads. It does not observe Windows event delivery and cannot establish that the delayed post-menu insertion uses those modifiers/logical keys. Native Alt+Space, Escape, subsequent neutral click, settled frames and exact raw-file checks are still mandatory; preserve the earlier immediate-clean counterevidence.

Frozen raw identities

Path under crates/oa-desktop/src SHA256
app.rs 280b7080b5f940feb5d31d8b453168930e6f34c400dfc37f473756388b93d448
views.rs 1dae1d05a1b93cbb33f7d4fd941f01ff971b9b2f1c3eaecfd3e885c871168a42
app/source_symbols.rs 4766bc70ef2e163497fc1f48180d2598e77d85b5331617777b5afa93da3939e8
app/source_symbols/tests.rs 8babf11d897053eba7db7c4a2342aade8ac41b3a0cdd8b96f17b7537c9c067da

Disposition: correct the scoped Find Close replay before acceptance. No other actionable production defect established within this four-file review. All synthetic/inspection evidence remains distinct from a corrected Windows native pass.