Files
ARCADIA-Studio/harness/experiments/text-diagnostics-20260913/reviews/current-oracle-preparation-review.md
T
sorokin.oleg.edu 9fd76aef3a Add current-draft diagnostic underlines and passive hover
Preserve raw include diagnostic provenance and derive bands from the existing shaped editor. Retain deferred tooltip paragraphs through rendering. Include source, regression, failure and native-trial evidence; corrected native acceptance remains pending.
2026-09-13 01:43:22 -07:00

4.6 KiB
Raw Blame History

Current CLI fixture oracle — prepared, unexecuted

New helper: C:/ar-text-9e8r6t/.local/text-diagnostic-native/current-oracle.py; historical prepare-oracle.py is unchanged. It accepts --cli (absolute preserved executable), --build-result/--build-sha, --source-result/--source-sha and a fresh --label current-oracle-NAME. No CLI/oracle invocation has been made by this preparation.

The build must be a completed successful Windows Cargo build receipt from the current gate.py schema, not the currently running cargo test artifact. Helper verifies result pins, exact original log/input ZIP hashes, all member bytes/CRC and membership, source-map equality with the separately supplied completed source acceptance result, exactly one non-test arcadia binary artifact, raw Cargo artifact message inclusion, and preserved binary equality with artifact readback. Source result/CLI build paths need not coincide; a later preserved copy is admitted by exact bytes. A pending source or missing build receipt blocks before output/run. Parent must first build/preserve current CLI and supply these actual pins; no fabricated schema is needed.

Creates fresh copied missing/complete fixtures, invokes only lint <entry> --json with expected exits3/0, and retains exact stdout JSON bytes plus parsed full report and stderr. Requires invalid/missing_include error for missing, checked/warnings-only for complete, no writes or proposed changes, exact physical input preservation, binary/DLL/gate evidence unchanged. Streams exclusive logs, has55second timeout and records failures; uses pinned DLL and a private Windows-only PATH/profile/tmp/cwd. It does not invoke Linux, Git, compiler or any write-mode CLI operation. Source fixtures are snapshotted by exact bytes at admission; parent should bind their prepared identity when constructing the run command/acceptance record. Current compiler-produced complete warnings are preserved as results, not forced to equal the historical CLI diagnostic ranges.

Example AFTER actual completion: bundled Python -B current-oracle.py --cli <preserved-current-arcadia.exe> --build-result <closed-cli-build/result.json> --build-sha <64hex> --source-result <desktop-cli-final-1/result.json> --source-sha <64hex> --label current-oracle-1. Parent records actual command and shell exit. No current native/model/release acceptance follows from saved-fixture lint alone.

Trial-plan parser/EOF review

Steps1–4 exercise real missing_include discovery and raw no-ID included-declaration warnings, wrap/scroll/focus. Complete fixture's provisional report includes missing_system plus unallocated_leaf and work_without_behavior_context for both functions; current output must establish actual ranges before UI claims. A quoted-description's repeated alias is not a separate declaration location.

Step5 needs explicit distinct edits rather than treating any malformed suffix as a zero-width EOF diagnostic. Suggested bounded native actions on the included functions file after capturing clean source: append a standalone } on a new line for a nonempty parser token error, Undo; then append sa_function unfinished "Unfinished" { without a closing brace for an EOF parser error, Undo. These are source-derived candidates, unexecuted here: record actual current code/message/span before asserting either test passed. An unterminated string can report the opening quote rather than EOF and is not a substitute for an EOF span.

Pinned current language.rs324–338 converts error.offset to start and adds the next Unicode scalar length, or zero at actual source end. Parser::current clamps to the final lexer token; Parser::error uses current token.span.start (1265–1276). fields() seeks another field until } (1321–1336), so an unclosed body reaches the EOF token instead of a painted earlier brace. This explains the desired zero-width producer; the parent must still observe its actual emitted span and marker. The literal standalone } is a parser-token counterexample, not a claimed lexing error or known fixed message.

Stationary-pointer replacement requires keeping the pointer over the old marked area while a new publication arrives, then proving old text disappears; moving the pointer first is not discriminating. After the EOF edit, use actual file-end navigation/scroll so the zero-width marker's real run is visible. The final saved-file oracle only proves disk preservation; successful transient edit/Undo and no Save/Apply remain separately captured native observations. Initial missing/complete oracles do not verify the two later unsaved malformed variants; do not claim their diagnostics were independently oracularly compared unless parent adds a separately pinned candidate-source run.