You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a VALUE_ROUNDTRIP case-set to the driver-conformance census — "what you wrote is what you read back", enforced per driver per dialect (#12380 route D) #12393
Follow-up to #12380, ruled in by the maintainer 2026-08-26 alongside route A. Filed separately for sequencing reasons stated below.
⛔ Do not start until #12380's route-A fix has landed. This card would otherwise ship a gate that is red on SQLite by construction.
Why this exists — measured, not proposed
While investigating #12380, the dev was asked whether #12136's freshly-landed dialect axis had an opinion about a value-storage round-trip defect. The answer:
check-driver-conformance is green at 9 of 9 dialect-scored cells matrix-routed after #12136's MATRIXED invariant, but none of its nine case-sets is about value storage round-trip — so that green is not weak evidence about this defect, it is no evidence at all, and it would stay green forever with the defect in place.
The nine existing case-sets cover filters, temporal, pagination and aggregation. Nothing covers "what you wrote is what you read back." That is why this family keeps arriving one card at a time:
a driver returning a declared field as an own key holding undefined
The route
Add a VALUE_ROUNDTRIP case-set to packages/spec/src/data/*-conformance.ts so the census's existing CLASSIFIED + MATRIXED invariants force every driver, on every dialect to answer the round-trip question. ⭐ This reuses machinery the census already has rather than building new — that is the main argument for it over a bespoke suite.
⚠️ Two constraints that shape this card
It is cross-driver by design, so it will ask driver-memory and driver-mongodb the same question. ⛔ [裁决] driver-memory / driver-mongodb 投入冻结 —— 维护者 2026-08-05 口径(跨单锚点) #5499 froze investment in both (maintainer ruling 2026-08-05, cross-card anchor). Read that ruling first and scope against it — the honest options are to ledger those drivers' cells with a reason, or to scope the case-set to drivers not under the freeze. Do not quietly start fixing frozen drivers, and do not let the freeze become an excuse to make the case-set vacuous.
⛔ Unknown, deliberately.#12380's route-A work will measure how many round-trip cells actually diverge on the SQL family; that number should size this card, exactly as #12014's number sized #12136 (which came out at 2). Re-measure at claim time rather than guessing here.
Clause ②
No — a census case-set plus its invariant. No shipped behaviour, no public surface. ⚠️ But note it will change what the census refuses, so any driver it newly reds is a real finding to route, not a number to tune away.
Refs
#12380 (parent; route A is the codec fix) · #12136 / #12014 (the dialect axis and MATRIXED this builds on) · #5499 (the driver-memory / driver-mongodb investment freeze) · #11535 · #11065 · #11151 · #9276 (the family this would close as a class)
Follow-up to #12380, ruled in by the maintainer 2026-08-26 alongside route A. Filed separately for sequencing reasons stated below.
⛔ Do not start until #12380's route-A fix has landed. This card would otherwise ship a gate that is red on SQLite by construction.
Why this exists — measured, not proposed
While investigating #12380, the dev was asked whether #12136's freshly-landed dialect axis had an opinion about a value-storage round-trip defect. The answer:
The nine existing case-sets cover filters, temporal, pagination and aggregation. Nothing covers "what you wrote is what you read back." That is why this family keeps arriving one card at a time:
Field.jsonis not round-trip faithful; PG/MySQL disagree'["x","y"]'avg/sumover a boolean lowered tonull/0, one driver overundefinedThe route
Add a
VALUE_ROUNDTRIPcase-set topackages/spec/src/data/*-conformance.tsso the census's existingCLASSIFIED+MATRIXEDinvariants force every driver, on every dialect to answer the round-trip question. ⭐ This reuses machinery the census already has rather than building new — that is the main argument for it over a bespoke suite.driver-memoryanddriver-mongodbthe same question. ⛔ [裁决] driver-memory / driver-mongodb 投入冻结 —— 维护者 2026-08-05 口径(跨单锚点) #5499 froze investment in both (maintainer ruling 2026-08-05, cross-card anchor). Read that ruling first and scope against it — the honest options are to ledger those drivers' cells with a reason, or to scope the case-set to drivers not under the freeze. Do not quietly start fixing frozen drivers, and do not let the freeze become an excuse to make the case-set vacuous.DIALECTledger row deliberately does not clearMATRIXED; check whether the same should hold for whatever ledger this needs, rather than re-opening an escape hatch that was just narrowed.Sizing
⛔ Unknown, deliberately.#12380's route-A work will measure how many round-trip cells actually diverge on the SQL family; that number should size this card, exactly as #12014's number sized #12136 (which came out at 2). Re-measure at claim time rather than guessing here.
Clause ②
No — a census case-set plus its invariant. No shipped behaviour, no public surface.⚠️ But note it will change what the census refuses, so any driver it newly reds is a real finding to route, not a number to tune away.
Refs
#12380 (parent; route A is the codec fix) · #12136 / #12014 (the dialect axis and
MATRIXEDthis builds on) · #5499 (the driver-memory / driver-mongodb investment freeze) · #11535 · #11065 · #11151 · #9276 (the family this would close as a class)