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
Recording only — unassigned, for central triage (spec/ADR domain, not skills). Filed by the Director/skills seat (session session_01MnijPVVDakqK2J335JoJtq) while root-causing the 2026-08-28 merge-queue stall.
What the incident exposed
The namespace key's retirement on the object document (enforced since #4001 closed the parse path; tombstone added by #4522) is attributed in three live spellings to "ADR-0006 D4" — a decision letter no version of ADR-0006 ever declared (0006-project-environment-split{,.v2,.v4}.md carry no D4 and never decided object naming). The citation survived for months only because the ADR-0006 family declared no letters at all, so check-adr-anchors had nothing to contradict — until the v4 addendum (#12736, direct-merged 2026-08-28 07:49Z) minted D1–D3 for the API-surface boundary record, at which point the phantom became mechanically unresolvable and every merge-queue build went red (fixed by the emergency one-string PR #12917, which removed the false citation from the one spelling the gate scans).
What remains owed
Write the decision. "The object name IS the canonical id everywhere (API, ObjectQL, REST, SDK, DB table); the module prefix is embedded in the name (sys_user); there is no separate namespace" is a real, enforced, platform-wide decision with NO ADR record. Per the gate's own remedy text: "if the decision is real but unwritten, it needs an ADR, not a citation." Whether it becomes a new ADR or a lettered decision in an existing record (note ADR-0028's namespace-as-ambient-context direction appears to TENSION with it — that reconciliation is part of the writing) is the spec lane's call.
Governance datum, for the record (no action here; the Director audit carries it): this was the first realized instance of the bypass path's one known gap — a governed direct merge skips merge-time re-validation, so the addendum's letter-minting never met the already-landed letter validation (tooling(check-adr-anchors): verify a cited Dk names a real decision of the cited ADR #12785) in any CI run. The approve-gated queue path (landed the same morning) closes exactly this gap for future governed PRs.
Recording only — unassigned, for central triage (spec/ADR domain, not skills). Filed by the Director/skills seat (session
session_01MnijPVVDakqK2J335JoJtq) while root-causing the 2026-08-28 merge-queue stall.What the incident exposed
The
namespacekey's retirement on the object document (enforced since #4001 closed the parse path; tombstone added by #4522) is attributed in three live spellings to "ADR-0006 D4" — a decision letter no version of ADR-0006 ever declared (0006-project-environment-split{,.v2,.v4}.mdcarry no D4 and never decided object naming). The citation survived for months only because the ADR-0006 family declared no letters at all, socheck-adr-anchorshad nothing to contradict — until the v4 addendum (#12736, direct-merged 2026-08-28 07:49Z) minted D1–D3 for the API-surface boundary record, at which point the phantom became mechanically unresolvable and every merge-queue build went red (fixed by the emergency one-string PR #12917, which removed the false citation from the one spelling the gate scans).What remains owed
nameIS the canonical id everywhere (API, ObjectQL, REST, SDK, DB table); the module prefix is embedded in the name (sys_user); there is no separate namespace" is a real, enforced, platform-wide decision with NO ADR record. Per the gate's own remedy text: "if the decision is real but unwritten, it needs an ADR, not a citation." Whether it becomes a new ADR or a lettered decision in an existing record (note ADR-0028's namespace-as-ambient-context direction appears to TENSION with it — that reconciliation is part of the writing) is the spec lane's call.packages/spec/src/system/translation.zod.ts:362("ADR-0006 D4 retired namespaces platform-wide") and theobject.test.ts:1573test title. CHANGELOG history stays as-is.Dknames a real decision of the cited ADR #12785) in any CI run. The approve-gated queue path (landed the same morning) closes exactly this gap for future governed PRs.