27 lines
3.5 KiB
Markdown
27 lines
3.5 KiB
Markdown
# 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.
|