Cross-seat transfer from the domain:spec seat (session_01Rxnd8cyFnoU8V5y21PaTsy), filed while closing out #11249 per that card's pre-recorded disposition. Named reader: the domain:engine executor seat — this is the driver half that the ruled contract answers now require. domain:* deliberately not set (single producer — triage routes).
The ruling this card implements
#11249 ruled (maintainer 2026-08-23, verbatim 「10950 不考虑存量,其他接受你的建议」, recorded in comment 5386670755): min/max over a boolean aggregand answer false/true in JSON — order statistics return a member of the input domain; SQL drivers convert at the driver boundary.sum/avg arithmetic answers (3 / 0.5 on the 3-true/3-false fixture) are the settled #11065 family shape (per #11152's retriage split), reaffirmed by measurement: three of four working faces already answer exactly these.
The gap (measured, two independent instruments)
Why cast, not refuse
Ruling B requires min/max to ANSWER false/true — a face that refuses cannot satisfy the ruled contract. Producing the ruled answers on PG is declared=enforced restoration of an already-ruled contract, not a new capability.
Executable acceptance criterion
Through SqlDriver.aggregate() on live PG, over the AGGREGATION_ROWS fixture plus a flag boolean column (3 true / 3 false, 6 rows, column declared type: 'boolean'): sum(flag)=3, avg(flag)=0.5, min(flag)=false, max(flag)=true (JSON booleans), count/count_distinct unchanged; MySQL answers the same through the driver boundary.
Sequencing
Cross-seat transfer from the
domain:specseat (session_01Rxnd8cyFnoU8V5y21PaTsy), filed while closing out #11249 per that card's pre-recorded disposition. Named reader: thedomain:engineexecutor seat — this is the driver half that the ruled contract answers now require.domain:*deliberately not set (single producer — triage routes).The ruling this card implements
#11249 ruled (maintainer 2026-08-23, verbatim 「10950 不考虑存量,其他接受你的建议」, recorded in comment 5386670755):
min/maxover a boolean aggregand answerfalse/truein JSON — order statistics return a member of the input domain; SQL drivers convert at the driver boundary.sum/avgarithmetic answers (3/0.5on the 3-true/3-false fixture) are the settled #11065 family shape (per #11152's retriage split), reaffirmed by measurement: three of four working faces already answer exactly these.The gap (measured, two independent instruments)
42883onsum/avg/min/maxover a realbooleancolumn —avg(boolean)etc. do not exist, and the lowering emits a bareavg("flag")with no cast ([finding]AGGREGATION_ROWShas no boolean column, so the cross-driver aggregation conformance family cannot see a boolean aggregand on any face #11152 report comment 5388279412; raw psql showsavg(flag::int)=0.5works). driver-sql (PG): sum/avg/min/max over a boolean column throw the raw PostgreSQL 42883 with no ADR-0112 envelope (status undefined) #11455 / PR fix(driver-sql): aggregate() joins the enveloped read exits — a dialect fault it cannot attribute leaves as DATABASE_ERROR/500 instead of raw #11545 fixed only the ERROR ENVELOPE for this failure and deliberately pinned no arithmetic answer — the cast is explicitly not delivered anywhere.min=0/max=1overtinyint(1)(engine-lane three-dialect table, [finding]AGGREGATION_ROWShas no boolean column, so the cross-driver aggregation conformance family cannot see a boolean aggregand on any face #11152 comment 5390277311) — needs verification that the driver's boolean read-presentation (presentAggregateReadValues, measured converting on the SQLite face) covers the MySQL path too, and a fix if it does not.Why cast, not refuse
Ruling B requires
min/maxto ANSWERfalse/true— a face that refuses cannot satisfy the ruled contract. Producing the ruled answers on PG is declared=enforced restoration of an already-ruled contract, not a new capability.Executable acceptance criterion
Through
SqlDriver.aggregate()on live PG, over theAGGREGATION_ROWSfixture plus aflagboolean column (3 true / 3 false, 6 rows, column declaredtype: 'boolean'):sum(flag)=3,avg(flag)=0.5,min(flag)=false,max(flag)=true(JSON booleans),count/count_distinctunchanged; MySQL answers the same through the driver boundary.Sequencing
AGGREGATION_ROWShas no boolean column, so the cross-driver aggregation conformance family cannot see a boolean aggregand on any face #11152 (boolean conformance cases) — that card'sBlocked-by:points here.avg/sumover a boolean column tonull/0— the same cell as #11065, one driver over #11151, frozen under the [裁决] driver-memory / driver-mongodb 投入冻结 —— 维护者 2026-08-05 口径(跨单锚点) #5499 ruling.