Files
ARCADIA-Studio/harness/text-default-omission-admission-20260913.md
T

4.1 KiB
Raw Blame History

Nested source defaults: admission evidence, 2026-09-13

Branch-specific existing-compatibility result, not a compact writer fix. Ten Windows tests pass against unchanged production code. They exercise both OA and SA source 7 through compile_bundle, with fixed authored identities, handwritten omitted/explicit syntax, complete literal Project expectations and exact unchanged SourceBundle checks.

Independent review counted 44 accepted authored evaluations and 14 refusals (12 missing-field and two unknown-field checks). It found no blocking test or clarification findings. The proposed clarification now records that passing evidence while retaining its pending-integration status.

Selected constructor/record Confirmed omission Confirmed retained requirement/distinction
Integer / Real Either bound individually or both together means none The supplied other bound stays exact; Integer maximum 0 differs from no maximum
String Maximum length absent means none Minimum length is required even when 0; a nonzero minimum remains 4
Record Supertype absent means none; {} is admitted Unknown fields rejects
Enumeration No omission permission established literals is required, including for an admitted empty list
Legacy port record Interface absent means none Direction remains required and explicit Out is retained
Port declaration No contract omission A supplied legacy record does not replace the required explicit contract

The checked-in language reference's section 4.5 labels all DataTypeDefinition payloads under “Required fields,” although the parser admits the omitted fields above. The section 4 Legacy example also fails to state that its interface may be omitted. The tests establish existing source-7 behavior without expanding admission or inferring universal omission from nullable types. A proposed precise replacement table and Legacy paragraph are retained in the evidence archive; they are not yet applied to the normative reference. Integrate that narrow clarification with the coordinated formatter/specification work. No broader source8 or old-version compatibility claim follows from these cases.

The preservation baseline remains unchanged: its three desired-source regressions still fail. Passing admission tests means the proposed omissions parse correctly, not that generated text is already compact or that edits preserve all authored defaults.

Execution and reproduction

cargo test --locked --offline -p oa-core --test default_omission_admission --message-format=json -- --nocapture

Gate admission-1, 2026-09-13 10:00:54–10:00:58 UTC: 10 passed, 0 failed, 0 ignored, exit 0. Windows stable-x86_64-pc-windows-gnullvm, Rust/Cargo 1.98.1, LLVM-MinGW, one build job, incremental compilation disabled, locked offline dependencies. HEAD at execution was 595cad479045898a5ba521b0cb0e80132726873a plus the newly authored admission test. All 606 captured inputs remained unchanged. Production sources and the prior preservation test are unchanged.

The portable archive retains exact source inputs, raw logs, receipts, original runner, independent review and the proposed clarification. Its read-only verify.py checks file/ZIP membership, hashes, receipt consistency and recorded outcomes. Parent also checked staged Git blobs against the captured source and archive. The executable hash is a historical runner receipt; the test binary is not distributed.

This is a focused core result. It does not establish GUI usability, canonical format/parse round trips, performance, all constructors, all required-field refusals, a full-suite pass, Linux support or release completion. Whole-definition absence and Legacy without its legacy record were inspected in the implementation rather than exercised by these tests. The latter is a model-validation requirement. Duplicate-field rejection, Boolean payloads, nonempty supertype/interface references and numeric boundary cases are also outside this new test set.