The gap
ADR-0053's slice-5 implementation map names only service-analytics files. It does not name packages/drivers/driver-memory/src/memory-analytics.ts, which — as of PR #17206 (card #16178) — folds bucket keys using the reference timezone and therefore implements the same slice.
One row is owed.
Why it is a separate card rather than a line in #17206
The ruling on #16178 asked for the row in that PR. The implementer declined, correctly, and escalated instead of acting. docs/adr/** is a governed surface:
- a code PR that touches it becomes governed as a whole;
- a governed PR is draft-only — it cannot be enqueued or auto-merged;
- its landing is reserved to a
GOVERNED_APPROVERS review, and ⛔ an agent seat may never flip it to ready, enqueue it, or approve it.
⇒ Adding the row to #17206 would have traded a landable p2 repair for a one-line documentation change and removed it from the merge queue permanently. The seat ratified the deferral; the row is not dropped, it lives here.
⭐ Worth recording as a pattern: a ruling can ask for something that its own PR cannot safely carry. The governed-surface rule is not a technicality the ruling overrides — it changes the landing path. Escalating rather than complying was the right call, and a round that had quietly complied would have discovered it at the merge queue.
What the row should say
That driver-memory's analytics face resolves bucket labels in AnalyticsQuery.timezone, the same reference zone parseDateRangeString resolves a dateRange preset against — so the window and the bucket agree on where a calendar day starts.
⚠️ Re-derive the exact wording and the file's current state before writing it. ⛔ Do not copy the sentence above as final text, and ⛔ do not trust any line number in this card.
⚠️ One measured fact the row's author should know
On a single timeDimensions entry, the explicit-array dateRange arm and granularity answer in different frames. Measured on PR #17206: with timezone: 'America/New_York', dateRange: ['2026-09-05','2026-09-05'], granularity: 'day', a row at 2026-09-05T02:00:00Z is selected by the window (which compares instants, per #16179's explicit ruling that a caller's written window is never narrowed) and then labelled 2026-09-04 (the NY calendar day, per ADR-0053).
So a query windowed to one day can answer under a bucket labelled the day before. Both halves are separately ruled; the seam is newly visible only because the fold is now timezone-aware. The domain:engine seat ruled it declared behaviour for now (option A), subject to the clause-② contract review on #17206, which may take a different view. If that review overturns it, this row must say something different — ⛔ so check #17206's final verdict before writing.
Refs
Card #16178 · PR #17206 · the hoist ruling 5583991002 · #16179 (the instant-window ruling) · ADR-0053.
⛔ Unassigned and ungraded — domain:*, type and priority are triage's write.
Filed by the PM dispatch seat · domain:engine · session session_01XTBcV7zZHmokdyQgXjbyEU · R1
The gap
ADR-0053's slice-5 implementation map names only
service-analyticsfiles. It does not namepackages/drivers/driver-memory/src/memory-analytics.ts, which — as of PR #17206 (card #16178) — folds bucket keys using the reference timezone and therefore implements the same slice.One row is owed.
Why it is a separate card rather than a line in #17206
The ruling on #16178 asked for the row in that PR. The implementer declined, correctly, and escalated instead of acting.
docs/adr/**is a governed surface:GOVERNED_APPROVERSreview, and ⛔ an agent seat may never flip it to ready, enqueue it, or approve it.⇒ Adding the row to #17206 would have traded a landable p2 repair for a one-line documentation change and removed it from the merge queue permanently. The seat ratified the deferral; the row is not dropped, it lives here.
⭐ Worth recording as a pattern: a ruling can ask for something that its own PR cannot safely carry. The governed-surface rule is not a technicality the ruling overrides — it changes the landing path. Escalating rather than complying was the right call, and a round that had quietly complied would have discovered it at the merge queue.
What the row should say
That
driver-memory's analytics face resolves bucket labels inAnalyticsQuery.timezone, the same reference zoneparseDateRangeStringresolves adateRangepreset against — so the window and the bucket agree on where a calendar day starts.On a single
timeDimensionsentry, the explicit-arraydateRangearm andgranularityanswer in different frames. Measured on PR #17206: withtimezone: 'America/New_York',dateRange: ['2026-09-05','2026-09-05'],granularity: 'day', a row at2026-09-05T02:00:00Zis selected by the window (which compares instants, per #16179's explicit ruling that a caller's written window is never narrowed) and then labelled2026-09-04(the NY calendar day, per ADR-0053).So a query windowed to one day can answer under a bucket labelled the day before. Both halves are separately ruled; the seam is newly visible only because the fold is now timezone-aware. The
domain:engineseat ruled it declared behaviour for now (option A), subject to the clause-② contract review on #17206, which may take a different view. If that review overturns it, this row must say something different — ⛔ so check #17206's final verdict before writing.Refs
Card #16178 · PR #17206 · the hoist ruling
5583991002· #16179 (the instant-window ruling) · ADR-0053.⛔ Unassigned and ungraded —
domain:*, type and priority are triage's write.Filed by the PM dispatch seat ·
domain:engine· sessionsession_01XTBcV7zZHmokdyQgXjbyEU· R1