36 lines
3.6 KiB
Markdown
36 lines
3.6 KiB
Markdown
# Ordinary default omission: reviewed follow-up
|
|
|
|
Subsequent [core verification](text-default-omission-followup-verified-20260913.md) now closes the compilation and core runtime gaps for published `7bb366f`. The original review boundary below is retained as historical context.
|
|
|
|
This branch-specific follow-up is based on production checkpoint `adffd19bbcf55c7cbfbf7a3937629db4c593e387`. It changes insertion storage and two language-test expectations. It is **not compiled, runtime-verified, integrated, or release-ready**. Previous runtime results in the [production report](text-default-omission-production-20260913.md) apply only to their captured inputs.
|
|
|
|
## Changes and independent review
|
|
|
|
`crates/oa-core/src/source_project.rs` now stores compact insertion spans and one borrowed source string instead of copying each value's substring. Keys still identify complete-after value starts; spans originate from parsing that exact compact string. Record/list matching, omitted-field decisions, fallback values, and final edit construction are unchanged. This removes repeated containing-payload copies by construction; no performance or memory benchmark is claimed.
|
|
|
|
The independent static critic checked parser-derived UTF-8 boundaries, source ownership, covariance and local borrow lifetimes. The compact string owner outlives each insertion/update operation, and copied spans do not borrow temporary syntax trees. No blocking static finding was reported. Rust type checking remains required.
|
|
|
|
`crates/oa-core/tests/language.rs` now expects canonical omission of External transition kind and MixedLegacy viewpoint. Existing whole-model, identity, legacy-default and round-trip checks remain. The invalid transition-kind test explicitly inserts Unsupported at a unique retained trigger-list anchor and checks the diagnostic. Every changed mutation checks that its anchor occurs exactly once and that the resulting source differs, preventing a silently ineffective replacement of an omitted field.
|
|
|
|
The independent critic reviewed both frozen files and found no blocking oracle defect. The parent inspected the actual diff and confirmed the reviewed hashes:
|
|
|
|
| File | SHA-256 |
|
|
| --- | --- |
|
|
| `crates/oa-core/src/source_project.rs` | `ee925b142c3072e2ad800922f43b6569a5c8537a037a6c0cd7533d9b9edefa6b` |
|
|
| `crates/oa-core/tests/language.rs` | `9ad8bd0d3804e75e1aefedb93895053e1ef27647c6169bc38a33a7d5950d7801` |
|
|
|
|
## Verification boundary
|
|
|
|
On Windows with the existing Rust 1.98.1 GNU LLVM toolchain, these checks passed for the two files above:
|
|
|
|
```text
|
|
rustfmt --edition 2024 --config skip_children=true --check crates/oa-core/src/source_project.rs crates/oa-core/tests/language.rs
|
|
git diff --check
|
|
```
|
|
|
|
No Cargo build or runtime gate was started for this follow-up. After the user reported cleanup, C: still reported approximately 4 MB free and the named retired build artifacts remained present. That observation does not establish which earlier cleanup commands ran. The user was asked for the latest manual script's output; the agent did not retry rejected deletion.
|
|
|
|
Required next execution is the changed language tests, source-update/preservation regressions, corrected port-anchor test including re-add behavior, and private policy/parser tests, followed by the full core suite and strict production Clippy. Retain the existing exact-input capture workflow and preserve failed results. GUI/public-consumer and combined source8 verification remain separate acceptance requirements. Linux remains user-paused.
|
|
|
|
Live ownership, blockers and handoffs remain in Gitea issue 11; the source8 partition remains in issue 7. This note records the changed artifact and evidence boundary rather than a replacement task ledger.
|