72 lines
4.6 KiB
Markdown
72 lines
4.6 KiB
Markdown
# Restore ordinary current-schema source round trips
|
||
|
||
Baseline `edf096cd33350865ecfc3c65ec266a6c0d3c4000`. The public model and writers
|
||
already use schema8, while the ordinary public reader admits only3–7. Six nested
|
||
source tests and ten disk-transaction tests stop at that version rejection. The
|
||
selected immediate outcome restores existing ordinary OA/SA workflows without
|
||
claiming the private mixed analysis pipeline is publicly integrated.
|
||
|
||
## Decision and boundaries
|
||
|
||
Select ordinary source8 compatibility before broad mixed read/edit adoption.
|
||
Independent [mapping](ordinary-source8-design-20260925/ADOPTION-MAP.md) and
|
||
[critique](ordinary-source8-design-20260925/ADOPTION-CRITIQUE.md) identify the
|
||
writer→reader mismatch and the coupled public compilation callers. Existing
|
||
compile_bundle performs identity stabilization, source migration and indexing;
|
||
updates, checked save, history and server preparation depend on that complete
|
||
result. A private AcceptedRename cannot replace it with an incomplete index.
|
||
|
||
Admit current schema8 through the existing supported ordinary grammar and model
|
||
admission. Preserve version3–7 migration, caller limits, exact locations, omitted
|
||
UUID stabilization, lexical ownership, source index and unchanged-input refusal
|
||
semantics. Preserve future-version rejection with an accurate supported-version
|
||
diagnostic. Current-schema input must report no migration; old migrated output
|
||
must recompile idempotently at the current schema.
|
||
|
||
Keep explicit analysis-record refusal in ordinary conversion and refusal of short
|
||
typed declaration syntax. Do not promote cfg(test) mixed hooks, invent an empty
|
||
typed index, add unchecked constructors, change formatters, or silently accept
|
||
unsupported analysis payloads. The public formatter's missing typed definitions
|
||
and generic analysis payload output remain separate integration limitations.
|
||
Existing complete-model checks must still reject lossy checked-save output before
|
||
filesystem staging. Ordinary acceptance is not full source8 language support.
|
||
|
||
Do not change generic value depth64, typed logical depth128, parser/storage limits,
|
||
DEPTH_128_VALIDATED=false, codec platform qualification, or the separately recorded
|
||
full-pipeline stack limitation. Source and JSON checked-save paths must both be
|
||
exercised when the formerly first-failing source path begins to work; this does
|
||
not qualify depth128 or waive user-deferred Linux work.
|
||
|
||
## Finite acceptance
|
||
|
||
- Preserve all292 existing core tests. The16 named schema-refusal failures must
|
||
run their actual nested/migration/update/transaction assertions. Investigate any
|
||
newly reached failure at its own layer; neither changing an expected outcome
|
||
nor observing a different failure closes it.
|
||
- Add a focused direct ordinary current-schema formatter→parser and bundle
|
||
formatter→compile→compile regression. Check whole OA/SA models and actual source
|
||
identities, current no-migration behavior and old3–7 migration/idempotence.
|
||
Reuse substantial existing fixtures rather than creating a second model writer.
|
||
- Verify included/nested ordinary declarations with omitted IDs, Unicode/CRLF,
|
||
comment preservation, historical fields, exact warning/error attribution and
|
||
stabilized index spans in the returned bytes. Existing relevant integration
|
||
tests may supply this evidence when actually run on the candidate.
|
||
- Assert both short typed syntax and long ordinary analysis constructors remain
|
||
rejected through public entry points. Keep malformed/future headers rejected;
|
||
retain existing overbudget, stale compiled input and lossy-save safeguards.
|
||
- Run the core library suite, relevant existing source-project/identity/migration/
|
||
checked-save/disk-transaction integration tests, strict core all-target Clippy
|
||
and format disposition. Inventory test names before selecting focused commands
|
||
so a zero-test invocation cannot count. Prior private acceptance and stack
|
||
controls remain required regressions.
|
||
- Build a non-test consumer and exercise a real CLI source check and rename
|
||
preview over an ordinary multi-file input. Assert expected report/model/bytes
|
||
and that check/preview leaves every input unchanged. Use existing CLI semantics;
|
||
do not bypass discovery or perform a disk write merely to prove preview.
|
||
|
||
Keep source fixes and new evaluator expectations separate in the evidence. Record
|
||
initial failures, source/artifact identities and the precise tests that now reach
|
||
previously masked behavior. Root owns compilation, integration acceptance and
|
||
publication; bounded workers may implement and independently review. The remote
|
||
publication/comment failure does not turn local commits into shared handoffs.
|