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

104 lines
5.8 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.
# Default omission: preservation baseline, 2026-09-13
**Branch-specific regression evidence; no production fix or issue closure.**
Codex-9e8r6t `/root` prepared this checkpoint for
[Gitea issue 11](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/11).
It establishes three existing source-preservation defects that compact generation
must avoid extending. The full OA/SA release remains incomplete; Linux work is
user-paused.
## Findings and evaluation
The corrected Windows baseline runs eleven tests: **eight pass, three fail**.
All three failing tests first admit independently handwritten source and a
literal, complete expected `Project`, then verify that `update_bundle` returns
that exact model. They fail only at the subsequent exact `SourceBundle`
comparison:
| Requested edit | Unrelated authored syntax erased |
| --- | --- |
| Bind an Exchange occurrence to an existing interaction | `operation none ;` |
| Change one node's x coordinate | `port_anchors [] ;` |
| Change one historical baseline's OA description | `semantic none ;` |
The updater preserves the adjacent whitespace/comments but deletes the field's
semantic tokens. No-op and header-only controls for each identical fixture all
pass. These distinguish actual changed-record traversal from header edits that
short-circuit before the erasure branch. Source and model expectations are not
generated by the formatter under test.
Two further controls pass. Action→State removes the inapplicable action field
and retains the shared lifeline field's distinctive spelling/comment. A valid
BoundaryExchange between legacy participant ports becomes a CommunicationMean
between their entity owners with oriented=false. The endpoint changes are
explicit parts of the latter target. Unchanged port declarations, comments and
other source bytes remain exact. Both controls independently admit narrowly
enumerated complete-source alternatives allowing newly redundant state/oriented
fields to be omitted; they do not require expanded default generation.
The original baseline is preserved: **seven passed, four failed**. Three failures
are the same production defects. The fourth was a test setup error: the initial
BoundaryExchange incorrectly used entities as endpoints and failed admission
before any update. That is not a fourth production defect. The
[independent test review](text-default-omission-preservation-test-review-20260913.md)
also found two over-specific default-presence assertions; the second
baseline corrects both and strengthens shared-field trivia coverage. Historical
inputs and failure logs are unchanged.
## Identified code and reproducibility
Both gates started at HEAD `74cc0e09119f9fa9e1287988bdd98c4cbf9db79e` with the
new, uncommitted-at-execution regression file. Production inputs remain the
published `9fd76aef3ae2810667d3f2b031fc43692fc04c89` contribution; this checkpoint
adds tests and evidence only. Each gate captures **605 exact input files** and
confirms they remained unchanged for its command. `baseline-2/inputs.zip` contains
the test source delivered with this checkpoint. The two captures differ only in
that test file; the verifier and parent Git-blob readback check the mapping.
Windows native `stable-x86_64-pc-windows-gnullvm`, Rust/Cargo 1.98.1, LLVM-MinGW,
one Cargo build job, incremental compilation disabled. Offline dependencies and
the lockfile were used. These are core integration tests; no GUI workflow,
Linux run, whole-suite green result or compact output acceptance is claimed.
```text
cargo test --locked --offline -p oa-core --test default_omission_preservation --message-format=json -- --include-ignored --nocapture
```
The three desired-behavior regressions are deliberately marked ignored with the
confirmed defect in the reason. The command above explicitly runs them and
**must currently exit 101**, with eight passes and the three named failures.
Remove those ignores when the actual preservation fix passes these checks.
A default test run skipping them is not evidence that preservation is fixed.
| Gate | UTC interval | Result |
| --- | --- | --- |
| baseline-1 | 09:43:48–09:45:58 | 7 pass / 4 fail; includes invalid fixture |
| baseline-2 | 09:52:58–09:53:03 | 8 pass / 3 fail; corrected controls |
The [portable evidence archive](experiments/default-omission-20260913/README.md)
includes exact source ZIPs/manifests, raw logs, original runner, start/result
receipts, and independent evidence/test reviews. Run its read-only verifier with
Python 3. Executable receipts identify what Cargo produced and the runner hashed;
test binaries are not distributed. No dependency on another machine's local
filesystem is required to inspect this evidence.
## Design implication and boundary
The [candidate omission design](text-default-omission-design-20260913.md)
recommends complete internal comparison records and compact generated fragments.
These failures demonstrate that complete comparison must restore fields already
skipped by persistence serialization. Generic empty/false/none removal would
also discard meaningful values or required syntax. The
[independent alternative-policy critique](text-default-omission-update-policy-review-20260913.md)
rejects a blanket rule retaining anything absent from both compact trees:
constructor and header-default changes lose information needed to remove or
rewrite stale fields. Its additional compact-policy counterexamples remain
static predictions, not outcomes established by this baseline.
This checkpoint does not modify shared public formatter/source update code or
the peer's private source8 analysis writer. Their eventual combination must use
identified commits, reconciled ownership, the broader default/required-field
matrix and public round trips, followed by real graphical/text editing workflows.
Live ownership and next actions remain in Gitea, rather than in this evidence
record.