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
The domain:engine half of #18199's ruling — execution, ⛔ not a fresh decision
Filed by the domain:cli execution PM seat (#6024) at #18199's landing, per triage's routing 5681445124, which split that card and named this half explicitly:
A child card carries the objectql + driver-turso sites into domain:engine with Blocked-by: pointing here, so that lane executes a ruling rather than re-deciding one.
The ruling this card executes — ⛔ not re-openable here
#17469 (maintainer ruling, director batch #128 item 5, option 1′) established one definition of 「is this field multi-valued」: isMultiValueField in packages/spec, with storage following it.
⭐ The domain:cli half has now LANDED, so the ruling is no longer theoretical — it is the tree's behaviour on main:
All five field.multiple reads in generate.ts now route through one seam that calls the spec predicate, and the three in-tree comments that declared the losing authority were rewritten rather than left standing.
⇒ Blocked-by: is already satisfied — this card is dispatchable now.
The sites — the counts are triage's, ⛔ re-derive before acting
package
files (triage's count, 5681445124)
packages/objectql
11
packages/drivers/driver-turso
1
The two the original card named by line (⚠️ line numbers drift; re-measure):
packages/drivers/driver-turso/src/remote-transport.ts:2435 — if (field.multiple) return 'TEXT', the column type
⚠️ What a taker owes first — the premise is per-site and FALSIFIABLE
Verbatim from the parent card:
does this site read field.multiple to mean "is this value multi-valued"? A site reading it for a different question is ⛔ not covered. That premise held for 18 driver-sql sites and failed for 3 (message interpolations that echo an author's declaration rather than deciding anything). ⛔ Do not align a site because it matches a grep.
⭐ Two measured precedents for the exclusion side, both worth reading before you start:
⛔ packages/spec is READ-ONLY for this work — the predicate is the subject of the ruling, ⛔ not a landing site. Anything needing a spec change belongs to the domain:spec seat.
Grading provenance, stated so it can be corrected
domain:engine is triage's own routing (5681445124), carried here verbatim, ⛔ not this seat's judgement.
The
domain:enginehalf of #18199's ruling — execution, ⛔ not a fresh decisionFiled by the
domain:cliexecution PM seat (#6024) at #18199's landing, per triage's routing5681445124, which split that card and named this half explicitly:The ruling this card executes — ⛔ not re-openable here
#17469 (maintainer ruling, director batch #128 item 5, option 1′) established one definition of 「is this field multi-valued」:
isMultiValueFieldinpackages/spec, with storage following it.⭐ The
domain:clihalf has now LANDED, so the ruling is no longer theoretical — it is the tree's behaviour onmain:7c8d6d9895d2b31954a4a69a7c26788eaa6c286a, verified by content onorigin/main(declaredMultiValuedpresent inpackages/cli/src/commands/generate.ts), ⛔ not from a merge event.field.multiplereads ingenerate.tsnow route through one seam that calls the spec predicate, and the three in-tree comments that declared the losing authority were rewritten rather than left standing.⇒
Blocked-by:is already satisfied — this card is dispatchable now.The sites — the counts are triage's, ⛔ re-derive before acting
5681445124)packages/objectqlpackages/drivers/driver-tursoThe two the original card named by line (⚠️ line numbers drift; re-measure):
packages/drivers/driver-turso/src/remote-transport.ts:2435—if (field.multiple) return 'TEXT', the column typepackages/objectql/src/engine.ts:4741—return field.multiple === true ? marked : marked[0], and:13584—const multiValued = fdef.multiple === trueVerbatim from the parent card:
⭐ Two measured precedents for the exclusion side, both worth reading before you start:
isJsonFieldand specisMultiValueFielddisagree formaster_detail/tree/text+multiple: true, so a consumer using the spec predicate to shape a query gets a 400 #17469's own round excluded 3 of 21 driver-sql sites as interpolations.os generate migrationstill emits JSONB where the driver now emits varchar (#14829 in reverse) #18199's round excludedpackages/runtime/src/action-execution.ts:1279— it constructs a descriptor (ADR-0104 D2 inheritance) and the one definition is already asked one frame down atpackages/spec/src/data/field-value.zod.ts:570(isMultiValueField(def) ? z.array(element) : element). Aligning it would have applied the predicate to its own output. ⇒ a reported exclusion with a reading is a correct outcome here, ⛔ not a shortfall.⛔
packages/specis READ-ONLY for this work — the predicate is the subject of the ruling, ⛔ not a landing site. Anything needing a spec change belongs to thedomain:specseat.Grading provenance, stated so it can be corrected
domain:engineis triage's own routing (5681445124), carried here verbatim, ⛔ not this seat's judgement.priority:p2is inherited from the parent [finding] the one-definition-of-multi-valued invariant #17469 restored stops at the driver-sql package boundary —os generate migrationstill emits JSONB where the driver now emits varchar (#14829 in reverse) #18199 (triage-graded p2 ·Bug).Refs
#18199 (the ruling card, landed) · PR #18392 · #17469 (the ruling) · #14829 (the original two-lists defect) · #11437 (the radio precedent)
Generated by Claude Code