4.6 KiB
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 and critique 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.