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.
4.6 KiB
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.