9.6 KiB
Ordinary source8 tests: independent pre-execution review
Reviewed all six functions in crates/oa-core/src/language_ordinary_source8_tests.rs, SHA256 59e1afe4f61f7e1c80a283c6ad8bbbe26d46ca16c624c1125f3d2b5d4115de95, and the authorized single-test correction in crates/oa-core/tests/source7_contract.rs, file SHA256 f6385ee7716b3431e4b0fc4073531ef0337917b3a1ae62a715b5dc9250e65880. Baseline is edf096cd33350865ecfc3c65ec266a6c0d3c4000; final candidate commit was not yet supplied. No compiler or executable was run.
No concrete precompile test blocker found within the selected compatibility scope.
- Current direct-parser and bundle roundtrips cover the existing six-file OA/SA example plus genuine historical baseline fixture. They compare whole Project, current no-migration status, exact bundle/index and repeat diagnostics; caller input remains unchanged. These are substantial regression roundtrips based on existing decoded semantic fixtures, not independently authored full expected models. The separate CLI test supplies a small independent whole-model oracle.
- Source3–7 tests exercise direct and bundle admission, current schema8 output, no-migration second compile, whole model/index/bundle stability and unchanged original input. They assert migration presence rather than every migration-report field; the selected historical integration tests retain detailed source-version/byte assertions.
- Nested omitted-ID test inspects actual stabilized declaration spans in returned bytes, UUID presence, semantic and lexical parent, Unicode description, CRLF consistency, unchanged comments and exact repeat index/model. It also exercises stale compiled-model refusal. Span prefix/suffix assertions are not a full independent coordinate table; existing source-project location integration checks remain required.
- Typed/analysis refusal test uses both public entry points and included-fragment path/span/code attribution. Long analysis constructors require the specific conversion refusal message, so their empty bodies cannot merely pass by failing an unrelated body-validation check. Short typed names, malformed/future versions and byte/record limits remain negative controls.
- Checked-save test reaches both source and JSON, verifies returned/disk bytes and whole decoded model, then repeat-save bytes. A genuinely populated QuantityKind definition exercises exact whole-model-loss refusal while preserving external sentinel bytes and directory count. This complements, rather than replaces, the three historical source-first/JSON-second checked-save integration tests and full transaction suite.
cli_preview_literals_compile_to_independent_complete_projectscopies the independent three-file CRLF/Unicode before/after literals exactly. It constructs the whole expected Project from fixed IDs 1/2/3, named OA Entity bodies and parent ID2, with only ID2's alias changed for the second case. Both compiled bundles must equal the authored literals, with no migration or warnings. Actual CLI recorder equality against those literals plus this test establishes the intended transitive model oracle; this test alone does not prove a CLI process ran or left files unchanged.- Source7 correction now asserts formatter schema8, downgrades that actual header to commented schema6, proves the downgrade occurred and expects only the schema6→8 token replacement. Existing whole-model, per-file exact bytes, relation ownership and update/recompile assertions remain. The inherited newline replacement can produce an extra CR before the injected header newline; preservation assertions use the exact authored bytes, and the correction makes no clean-CRLF claim for this legacy fixture. This is a static evaluator correction, not a reported runtime failure.
Remaining acceptance is execution on the frozen source: six focused tests, all 292 prior library names and newly reached former failures, selected integration inventory/outcomes, strict Clippy/fmt disposition and actual CLI receipt/byte checks. Do not infer JSON or transaction success from an earlier source failure. No depth128/platform qualification, full typed source support, runtime pass or publication claim is made here.
Initial failure and test-only repair
Initial source 33b86a4d6b4bc1b156a93ae3596fe0ad7b4dbbe5 focused execution recorded five passes and one failure: the existing example has no traces, contradicting the new nonempty-traces assertion. The preceding static review missed this fixture assumption. Preserve the actual failed receipt/log (16787e1fe74e7c867352badf8dedc5516c50dc5295958d27d5c5f128d1c2f5c5 log SHA256); the initial review is not runtime acceptance.
Reviewed test delta to 520e50ce62f067dff69f03760c8b12929df9b920, final test hash e85ce6c793f59be6991f76d297363e709bc3ab4dd30b99b66ee1a40354b8d80e. It explicitly authors a Participant trace with fixed ID and known OA Entity/SA System endpoints, asserts endpoint kinds and collision-free insertion, and retains the existing complete roundtrip assertions. Trace coverage is added deliberately rather than removed. The genuine historical-baseline fixture remains separate. The refusal vocabulary also now includes actual short oa_analysis and sa_analysis spellings. Parent reports this successor changes only the test and implementation note; no runtime result for the repaired candidate is claimed here.
Newly exposed obsolete private-test expectations
The520 full raw transcript records294passes/4failures, while the six focused tests pass and listing contains298names. All16 former schema-refusal failures now pass. Four old private tests still assert that ordinary schema8 is refused: declarations inherited-version/root/short-word controls, staged lowering's complete17-ID oracle, public-header/numeric controls, and typed writer canonical roundtrips. Their version assertions conflict with the selected compatibility contract. The earlier readiness review did not catch these four existing assumptions; retain this as a review miss and preserve the full failed run, not as accepted final evidence.
Parent authorized only two exact name changes: language::analysis_source::declarations::tests::inherited_version_root_and_short_word_contracts_do_not_enable_public8 to language::analysis_source::declarations::tests::inherited_version_root_and_short_word_contracts_do_not_enable_public_typed8; and language::analysis_source::tests::public_source_headers_and_existing_numeric_token_controls_are_unchanged to language::analysis_source::tests::public_ordinary_source8_preserves_typed_refusal_and_numeric_controls. Prepared checker maps precisely those names and requires all other prior names intact, all298passing, and the same six new names. Pending test corrections must retain substantive typed refusal/model/numeric assertions and are not yet approved by this paragraph.
Reviewed final four-test reconciliation
Read immutable diff520e50c→0c07f53ab517626f536f79dbaa2885a587bf1db7: only four existing test files and the implementation note change. No production edit. The exact two authorized name changes above are present. The declaration test now admits ordinary8 with no migration/schema/name/alias assertions and extends short typed refusal through version8; its inherited-version/root/contextual-word controls remain. The public header test similarly checks ordinary8 and adds actual calculation refusal, retaining numeric-token controls. Lowering and canonical-writer tests retain complete independently authored typed model equality, while adding OA/SA ordinary8 no-migration and whole-Project equality against the same legacy ordinary fixture, plus public typed-fragment rejection. Typed fixtures are declaration fragments, so the inserted outer header/project does not cause a duplicate-header rejection. No concrete blocker in this bounded repair.
Final file SHA256 values: declarations/tests.rs 41051822b4954441a2ff94c923ae734f391269d9335d312b113e9bf4ddceeb00; lower/tests.rs 257f3e82380a33ba783d9aedb738283ff5d6f2bd4e943680030b42536bb56f15; analysis_source/tests.rs d1a98ccd213e31496c1163c7ed3ee82bd910547bfe22b5fd72862555ec859fd3; write/tests.rs b366b684776cd83ab39cf4391a14ec378465f15b6a54e4ece396c84bf1f17084. New six-test file remains e85ce6c7…. Final gate results remain a separate pending readback.
Exact focused-filter expansion
Parent reports final0c07 focused execution has7passes/291filtered: authorized renamed existing test language::analysis_source::tests::public_ordinary_source8_preserves_typed_refusal_and_numeric_controls now also contains the literal ordinary_source8 filter. This is six new tests plus one existing renamed control, not a seventh new test. The effect was foreseeable from the rename and was missed by the earlier parent/reviewer focused-count expectation. Checker now requires precisely those seven names and291filtered, with no generic count relaxation or rerun. Initial33focused remains5/1;520focused remains6/0 with292filtered. Full final inventory remains298 with exactly six added names and two explicit old-name mappings.
Final migration-oracle successor
Reviewed0c07→7b06b8ea1b7ef902ee0b3d0ec2971a9a7a1f1acd: only r3_migration.rs and implementation note change. The old frozen-v4 expected JSON omitted required current definitions:{}. Repair asserts its original absence and the decoded map's emptiness, adds only that empty map to the authored expected JSON, then keeps complete JSON/model/history/reopen checks. Initial0c07 r3 result4pass/1fail remains preserved. Final affected migration suite5passes is independently reconciled; unchanged0c07 library/integration/CLI runs are reused with exact component-source disclosure, not reported as rerun at7b06. See RUNTIME-REVIEW for completed results.