Files
ARCADIA-Studio/harness/experiments/default-omission-20260913/preservation-test-final-review.md
T

27 lines
3.5 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.
# Final bounded preservation-test review
Reviewer `/root/default_omission_review`, 2026-09-13. **No remaining findings within this test/evidence scope.** Both prior overconstraints are resolved. This reviews the corrected test contract and closed baseline evidence only; it does not accept the full issue 11 design, implementation, or completion. No test/source edits, Cargo execution, or Gitea operations were performed.
## Frozen evidence
Reviewed `baseline-2/result.json`, raw `stdout.log`/`stderr.log`, and the current test file. Gate identifies production HEAD `74cc0e09119f9fa9e1287988bdd98c4cbf9db79e`, Windows gnullvm Rust/Cargo 1.98.1, and unchanged captured inputs. Current test SHA-256 `de383c49f69710f45e0df0495895b36e85cc3668d8ebc472402239cdd70c135a` matches `baseline-2/inputs.json`. Independently recomputed stdout/stderr hashes match the result record. The recorded run used `--include-ignored --nocapture`, completed with exit 101, and reports **8 passed / 3 failed / 0 ignored**.
## Test contract
- Compared the nine `explicit_*` function bodies, their three source fixtures, literal model builders, and exact-source helper directly with the archived `baseline-1/inputs.zip` test: all are unchanged. The six no-op/header controls remain passing; the three changed-payload witnesses remain exact-source assertions. Only explanatory ignore/header text changed outside those function bodies.
- Constructor control (`default_omission_preservation.rs:485–540`) admits both exact alternatives: omitted state and explicit `state none`. Both select State, remove obsolete action syntax, and preserve the distinctive `lifeline none ;` spelling/comment and all unaffected bytes. No redundant state token is mandatory.
- Relation control (`544–615`) now starts with explicitly modeled Legacy participant ports: BoundaryExchange endpoints 5/6. Its separately specified CommunicationMean target uses owner endpoints 2/3 and oriented=false. Both endpoint edits are explicit in the typed model and source; unchanged port records remain in both exact alternatives. The control admits either explicit false or omitted orientation while retaining rationale/comment trivia. It does not require changed-default field presence.
- `assert_context_update` (`336–365`) compiles **each** allowed exact source and checks its complete model against the literal target before invoking the updater. Both context tests pass in the recorded gate, establishing valid initial/target fixtures and valid omitted/expanded spellings. Whole-bundle comparison prevents normalization from concealing changes to shared fields, siblings, comments, or whitespace. The baseline establishes that its actual insertion spelling matches one allowed alternative; it does not establish execution of a future compact writer.
## Raw failures
All three stderr failures are at the final exact-source equality assertion (`326`), after independently admitted expected source and complete updated-model equality passed:
| Trigger | Actual unwanted deletion | Intended change still present |
| --- | --- | --- |
| Exchange binding | `operation none ;` | `exchange @flow;` |
| Node position | `port_anchors [] ;` | `x 25.0;` |
| Snapshot prose | `semantic none ;` | Revised OA description |
Each raw actual bundle retains the deleted field's surrounding whitespace/comment. These are the same three production syntax-preservation defects, not fixture admission, semantic-model, or context-control failures. They remain deliberately failing desired-behavior witnesses until implementation repairs them.