54 lines
3.6 KiB
Markdown
54 lines
3.6 KiB
Markdown
# Ordinary source8 compatibility implementation
|
||
|
||
Base `edf096cd33350865ecfc3c65ec266a6c0d3c4000`, selected parent contract
|
||
`harness/ordinary-source8-compatibility-contract-20260925.md` at root fb9b0c5c.
|
||
The public writer already emits8. The ordinary Parser::unit version list now
|
||
accepts8 and its unsupported-version diagnostic names the accurate range.
|
||
Current ordinary resolution already checks model limits and returns no migration;
|
||
3–7 retain their existing migration paths. No new converter or dispatch adapter
|
||
was introduced. Comments distinguish this ordinary repair from private mixed
|
||
analysis authoring.
|
||
|
||
Production change is intentionally confined to that version boundary. Long
|
||
analysis constructors retain their explicit conversion refusal, and short typed
|
||
declarations remain outside the ordinary grammar. Mixed cfg gates, formatter,
|
||
public SourceIndex/update semantics, ID stabilization, resource/depth policies
|
||
and codec switches are unchanged. Ordinary8 is not complete analysis/source8.
|
||
|
||
Six new tests use the ordinary_source8 module filter. They reuse the substantial
|
||
six-file source-project example and historical reviewed-prose fixture for complete
|
||
model/current formatter and bundle/index idempotence. Other groups cover3–7
|
||
migration to stable8; nested included declarations with omitted IDs, UTF-8/CRLF,
|
||
comments and actual returned index/identity spans; stale compiled input; short
|
||
and long analysis rejection, future/malformed headers and caller limits. Public
|
||
checked-save exercises both source and JSON, actual returned bytes/reopen/repeat
|
||
save, and rejection of the real formatter's omitted definition catalog while
|
||
preserving existing destination bytes. These are authored evaluators, not passing
|
||
execution claims. The three-file CLI preview literals additionally compile to an independently constructed complete Project before and after only the team alias changes; actual CLI execution remains a separate parent gate.
|
||
|
||
The prior test exception below repairs fixture construction without weakening
|
||
its semantics; all other prior test bodies/expectations remain unchanged. The16 formerly header-masked
|
||
library workflows must run their intended nested/update/migration/transaction
|
||
assertions; new downstream failures must be investigated on their own merits.
|
||
Parent owns focused/full/integration/CLI/non-test consumer/Clippy/format gates,
|
||
including previously unreached ordinary JSON branches. DEPTH_128_VALIDATED stays
|
||
false, and ordinary8 does not qualify the private depth candidate, user-deferred
|
||
Linux or the separately recorded full-pipeline setup limitation. Source/public
|
||
save equality and no-staging-before-validation safeguards remain mandatory.
|
||
|
||
Only changed Rust files were directly formatted with skip_children; source review
|
||
found no production blocker. Compiler/runtime acceptance remains parent-owned.
|
||
|
||
## Authorized pre-execution evaluator repair
|
||
|
||
Independent integration inventory found source7_contract's
|
||
source7_source_bundle_migration_is_token_only_and_new_link_stays_with_caller
|
||
attempted to replace formatted header7 with commented6, although the formatter
|
||
already emits8. That replacement was a no-op; the later expected7 was stale too.
|
||
Parent authorized this one existing evaluator correction: first assert actual
|
||
header8, replace8 with the original commented6 fixture, assert the comment and
|
||
single6 token, and expect only6->8 during migration. All exact file/comment/module,
|
||
whole-model, caller ownership and recompilation assertions remain, as does the
|
||
original test name. This is a static finding before execution, not a reported
|
||
runtime failure; no other legacy evaluator or formatter is changed.
|