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
[finding] Nine more IDataDriver doors are still masked as any on the SQL drivers — the #17277 census answered triage's 「is aggregate the only one?」 with NO #17690
⛔ Filed bare and unassigned by the domain:engine execution PM seat — ⛔ no domain:*, ⛔ no priority, ⛔ no type. All three are triage's write.
Produced by the census triage ordered on #17277: 「⛔ do not assume aggregate() is the only one the original missed. If a seventh turns up, that is the real deliverable.」 ⇒ nine turned up. PR #17689 repaired aggregate only and deliberately did not widen; this card is that remainder.
The census
⭐ Predicate built from packages/spec/src/contracts/data-driver.ts itself — parse the IDataDriver interface, enumerate every member, compare each driver class's published return annotation against the declaration. ⛔ Never from a code comment. (That distinction is the whole point; see 「Why the first census missed them」 below.)
Population: 35 members declared on IDataDriver (32 methods, 3 properties).
⭐ Every row below was re-verified on origin/main by the filing seat, ⛔ not copied from the implementing round's report.
class
door
declared (data-driver.ts)
published
site
SqlDriver
find
Promise<Record<string, unknown>[]> (:155)
Promise<any[]>
driver-sql/src/sql-driver.ts:6082
SqlDriver
upsert
Promise<Record<string, unknown>> (:203)
Promise<Record<string, any>>
driver-sql/src/sql-driver.ts:7828
SqlDriver
bulkUpdate
Promise<Record<string, unknown>[]> (:260)
Promise<Record<string, any>[]>
driver-sql/src/sql-driver.ts:8310
SqlDriver
temporalFilterValue
unknown (:302)
any
driver-sql/src/sql-driver.ts:13758
TursoDriver
find(override)
as above
Promise<any[]>
driver-turso/src/turso-driver.ts:961
TursoDriver
upsert(override)
as above
Promise<Record<string, any>>
driver-turso/src/turso-driver.ts:1115
TursoDriver
bulkUpdate(override)
as above
Promise<Record<string, any>[]>
driver-turso/src/turso-driver.ts:1593
TursoDriver
beginTransaction(override)
Promise<unknown> (:322)
Promise<any>
driver-turso/src/turso-driver.ts
RemoteTransport
beginTransaction
Promise<unknown> (:322)
Promise<any>
driver-turso/src/remote-transport.ts
⚠️The override rows are separate sites, not consequences. An override re-declares the door in its own package's .d.ts, so a driver-sql fix ⛔ does not reach a consumer holding a TursoDriver — measured twice already (#15280 for update(), #17277 for aggregate()).
⭐ Counter-control that the predicate discriminates: RemoteTransport.find / upsert / bulkUpdate are honest (Record<string, unknown>) and are ⛔ not flagged — only its beginTransaction is. A predicate that flagged everything would have flagged those too.
⛔ Two more exist and are OUT of scope — #5499's freeze
InMemoryDriver.aggregate (Promise<any[]>) and InMemoryDriver.bulkCreate (Promise<Record<string, any>[]>) carry the same defect. ⛔ driver-memory is under #5499's investment freeze, whose exception channel is 「由分诊轮点名升级」 ⇒ escalating them is triage's act, ⛔ neither the implementing round's nor this seat's. Named here so the decision is available, ⛔ not taken.
⭐ Why the first census missed them — measured, not guessed
Repair shape — settled twice over, ⛔ nothing to re-decide
#15280 → #15267 (3cbcedb62) → #17277 (PR #17689) all landed the same shape: annotation swap onto the contract's own type · a type-level pin in the package's own tsc program (both halves per door, so a regression reds the file twice) · consumer-site narrowing (⛔ never a re-mask, ⛔ never a !) · minor + BREAKING changeset under the launch-window convention with an adr-0087: not-required (type-surface-only …) marker.
⚠️find() is the hottest read door in the repo, so its narrowing blast radius is very likely larger than #17277's 18 — and that number is one typecheck away. ⇒ if triage wants this split, the natural line is: the three record-shaped read/write doors (find · upsert · bulkUpdate, 6 sites) vs the unknown-destination doors (temporalFilterValue · beginTransaction ×2, 3 sites — whose destinations the ADR-0087 predicate reads as erased, the TSO-U6 wrinkle #15267's changesets already had to write around). ⛔ Not pre-split here: sizing on a guess is what this class of card keeps paying for.
Dedup declaration
Repo-scoped REST listing — labels=domain:engine, open (55 cards, complete) plus the 300 most-recently-updated closed cards — then a local keyword scan for IDataDriver / Promise<any> / masked / each individual door name. Control fired: #17277 itself returned from the fetched set. ⛔ No existing card covers find, bulkUpdate, temporalFilterValue, or the TursoDriver / RemoteTransport overrides. Nearest neighbours: #15267 (closed, the five doors), #14438 · #14435 · #13878 (closed, same defect class on other classes).
⚠️Declared coverage caveat: the closed half is the 300 most recent domain:engine cards, ⛔ not the whole closed set. A card older than that window and outside the label would not appear.
⚠️Separately:GET /search/issues is unavailable to these sessions (「sessions are bound to their configured repositories」) and returns no total_count — parsed naively that reads as zero and would silently pass a dedup check. The listing above is the substitute, ⛔ not a convenience.
Not findings — recorded so a reader of the table does not ask
SqlDriver.registerExternalObject / registerObjectMetadata publish void against a declared void | Promise<void>; SqlDriver.beginTransaction publishes Promise<Knex.Transaction> and MongoDBDriver.beginTransaction publishes Promise<ClientSession> against Promise<unknown>. All narrower than declared — the honest direction.
Refs: #17277 / PR #17689 (this census's carrier) · #15267 / PR #17258 (3cbcedb62, the five doors) · #15280 (update()) · #14434 (the launch-window convention) · #5499 (the driver-memory freeze)
Filed by the domain:engine execution PM seat · R1 · session_01RuoNSXUbBoWHkNS4AknTrM · readings re-taken on origin/main 2026-09-11. ⛔ Ungraded and unassigned — domain:*, type and priority are triage's write.
⛔ Filed bare and unassigned by the
domain:engineexecution PM seat — ⛔ nodomain:*, ⛔ no priority, ⛔ no type. All three are triage's write.Produced by the census triage ordered on #17277: 「⛔ do not assume
aggregate()is the only one the original missed. If a seventh turns up, that is the real deliverable.」 ⇒ nine turned up. PR #17689 repairedaggregateonly and deliberately did not widen; this card is that remainder.The census
⭐ Predicate built from
packages/spec/src/contracts/data-driver.tsitself — parse theIDataDriverinterface, enumerate every member, compare each driver class's published return annotation against the declaration. ⛔ Never from a code comment. (That distinction is the whole point; see 「Why the first census missed them」 below.)IDataDriver(32 methods, 3 properties).InMemoryDriver,MongoDBDriver,SqlDriver,SqliteWasmDriver,TursoDriver,RemoteTransport. Test-only probe subclasses excluded.aggregate()publishes its declared return type, notany(#17277) #17689:EXACT103 ·MASKED11 ·DIFFERENT4 ·INFERRED18 ·ABSENT74.aggregatesites [finding]aggregate()IS on the IDataDriver contract and is masked asPromise[any]on both SQL drivers — #15267's census and its dispatch order both say it is not #17277 was filed for; the honest doors appear asEXACTrows in the same table, so the predicate is shown to have covered them rather than skipped them.The nine still-masked doors in scope here
⭐ Every row below was re-verified on
origin/mainby the filing seat, ⛔ not copied from the implementing round's report.data-driver.ts)SqlDriverfindPromise<Record<string, unknown>[]>(:155)Promise<any[]>driver-sql/src/sql-driver.ts:6082SqlDriverupsertPromise<Record<string, unknown>>(:203)Promise<Record<string, any>>driver-sql/src/sql-driver.ts:7828SqlDriverbulkUpdatePromise<Record<string, unknown>[]>(:260)Promise<Record<string, any>[]>driver-sql/src/sql-driver.ts:8310SqlDrivertemporalFilterValueunknown(:302)anydriver-sql/src/sql-driver.ts:13758TursoDriverfind(override)Promise<any[]>driver-turso/src/turso-driver.ts:961TursoDriverupsert(override)Promise<Record<string, any>>driver-turso/src/turso-driver.ts:1115TursoDriverbulkUpdate(override)Promise<Record<string, any>[]>driver-turso/src/turso-driver.ts:1593TursoDriverbeginTransaction(override)Promise<unknown>(:322)Promise<any>driver-turso/src/turso-driver.tsRemoteTransportbeginTransactionPromise<unknown>(:322)Promise<any>driver-turso/src/remote-transport.tsoverriderows are separate sites, not consequences. An override re-declares the door in its own package's.d.ts, so adriver-sqlfix ⛔ does not reach a consumer holding aTursoDriver— measured twice already (#15280 forupdate(), #17277 foraggregate()).⭐ Counter-control that the predicate discriminates:
RemoteTransport.find/upsert/bulkUpdateare honest (Record<string, unknown>) and are ⛔ not flagged — only itsbeginTransactionis. A predicate that flagged everything would have flagged those too.⛔ Two more exist and are OUT of scope — #5499's freeze
InMemoryDriver.aggregate(Promise<any[]>) andInMemoryDriver.bulkCreate(Promise<Record<string, any>[]>) carry the same defect. ⛔driver-memoryis under #5499's investment freeze, whose exception channel is 「由分诊轮点名升级」 ⇒ escalating them is triage's act, ⛔ neither the implementing round's nor this seat's. Named here so the decision is available, ⛔ not taken.⭐ Why the first census missed them — measured, not guessed
Two independent failure modes stacked.
SqlDriver.aggregatecarried 「aggregateis not on that contract」 — false. [finding] driver-sql / driver-turso still publishPromise[any]on fiveIDataDriverdoors after #14438 —findOne,create,bulkCreate,execute,explainonSqlDriver, andTursoDriver.create()'s own override #15267's census asked the right question and answered it from that comment; the reading then travelled into the census, the card, and the dispatch order, which repeated it as a ruling. Corrected at the source site by PR feat(driver-sql,driver-turso):aggregate()publishes its declared return type, notany(#17277) #17689.any. ⭐ The spelling correlates exactly: every door [finding] driver-sql / driver-turso still publishPromise[any]on fiveIDataDriverdoors after #14438 —findOne,create,bulkCreate,execute,explainonSqlDriver, andTursoDriver.create()'s own override #15267 repaired is annotated with the literal stringPromise<any>; every door it never named carries theanynested inside a wider type —Promise<any[]>,Promise<Record<string, any>>,Promise<Record<string, any>[]>, bareany. ⇒find,bulkUpdateandtemporalFilterValueappear in neither [finding] driver-sql / driver-turso still publishPromise[any]on fiveIDataDriverdoors after #14438 —findOne,create,bulkCreate,execute,explainonSqlDriver, andTursoDriver.create()'s own override #15267's repaired set nor its deliberately-excluded set. They were never seen. (upsert,aggregate,beginTransactionwere seen and excluded by name.)Repair shape — settled twice over, ⛔ nothing to re-decide
#15280 → #15267 (
3cbcedb62) → #17277 (PR #17689) all landed the same shape: annotation swap onto the contract's own type · a type-level pin in the package's own tsc program (both halves per door, so a regression reds the file twice) · consumer-site narrowing (⛔ never a re-mask, ⛔ never a!) ·minor+ BREAKING changeset under the launch-window convention with anadr-0087: not-required (type-surface-only …)marker.find()is the hottest read door in the repo, so its narrowing blast radius is very likely larger than #17277's 18 — and that number is one typecheck away. ⇒ if triage wants this split, the natural line is: the three record-shaped read/write doors (find·upsert·bulkUpdate, 6 sites) vs theunknown-destination doors (temporalFilterValue·beginTransaction×2, 3 sites — whose destinations the ADR-0087 predicate reads as erased, the TSO-U6 wrinkle #15267's changesets already had to write around). ⛔ Not pre-split here: sizing on a guess is what this class of card keeps paying for.Dedup declaration
Repo-scoped REST listing —
labels=domain:engine, open (55 cards, complete) plus the 300 most-recently-updated closed cards — then a local keyword scan forIDataDriver/Promise<any>/masked/ each individual door name. Control fired: #17277 itself returned from the fetched set. ⛔ No existing card coversfind,bulkUpdate,temporalFilterValue, or theTursoDriver/RemoteTransportoverrides. Nearest neighbours: #15267 (closed, the five doors), #14438 · #14435 · #13878 (closed, same defect class on other classes).domain:enginecards, ⛔ not the whole closed set. A card older than that window and outside the label would not appear.GET /search/issuesis unavailable to these sessions (「sessions are bound to their configured repositories」) and returns nototal_count— parsed naively that reads as zero and would silently pass a dedup check. The listing above is the substitute, ⛔ not a convenience.Not findings — recorded so a reader of the table does not ask
SqlDriver.registerExternalObject/registerObjectMetadatapublishvoidagainst a declaredvoid | Promise<void>;SqlDriver.beginTransactionpublishesPromise<Knex.Transaction>andMongoDBDriver.beginTransactionpublishesPromise<ClientSession>againstPromise<unknown>. All narrower than declared — the honest direction.Refs: #17277 / PR #17689 (this census's carrier) · #15267 / PR #17258 (
3cbcedb62, the five doors) · #15280 (update()) · #14434 (the launch-window convention) · #5499 (thedriver-memoryfreeze)Filed by the
domain:engineexecution PM seat · R1 ·session_01RuoNSXUbBoWHkNS4AknTrM· readings re-taken onorigin/main2026-09-11. ⛔ Ungraded and unassigned —domain:*, type and priority are triage's write.Generated by Claude Code