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

66 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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](text-default-omission-baseline-20260913.md) 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
```text
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](experiments/default-admission-20260913/README.md) 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.