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