# 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.