**T1.24b.** E49 probes before the first push: (1) the route changes (every edit of a core-built schema is the core's `edit_schema`; `schema_edited` the core's), so an old-against-core differential over 102 generated DuckDB sources (52 and 50, two seeds, the scripts kept outside the repository as T1.26b's were), each with 2 to 7 edits (keys set, cleared and re-set as a name or a one-column tuple, time columns set and cleared, meanings as text and as a `Stype`, columns left out, relationships replaced, appended and popped, a missing column, a non-joinable link, a time column on a non-time type), then `materialize` and `predict` against the scripted endpoint, on the reference, the old route and the core: all 574 steps (218 refused) alike in outcome and public schema; `materialize` and `predict` the corrected reference's (P1B-13) but five `keyless_neighbors` (P1B-3) and one DT-12; one difference found and fixed (a key named on a link's own foreign key, which the reference's engine refuses; `check_links`), one registered (an unhashable value naming a column, P1B-16) and one new refusal registered (an edit after a change past the description, P1B-17); (2) the edit payload's readers (`edit_schema`'s three attachments, `Materialize.held`): 200, 5,000 and 100,000 levels and 100,000-wide lists and objects, each refused by name or read (`sdm-core`'s `tests/edit_schema.rs`); (3) the new comparators fail closed, seeded: the edit pin's check on both hosts (missing, empty, retyped, differing) and the core-agreement rule on a perturbed `edit_schema` input (by hand, `compare.py` naming `core.inputs`); a setter that skips the core fails the client's count of `edit_schema` runs; a core that took an invalid meaning fails `sdm-schema`'s tests (by hand). Rebased onto T1.18's landing (b455b94), then onto part 1's landing (de247a3, the freeze's reading fix, split out by the orchestrator so the gate could read this package's E66 allowances); the T1.26b history moved to [fix-round-history.md](fix-round-history.md).
0 commit comments