Skip to content

fix(spec): namespace tombstone stops citing ADR-0006 D4 — unblocks the merge queue's check-adr-anchors red - #12917

Merged
os-elon merged 1 commit into
mainfrom
claude/main-red-adr0006-d4-tombstone
Aug 28, 2026
Merged

fix(spec): namespace tombstone stops citing ADR-0006 D4 — unblocks the merge queue's check-adr-anchors red#12917
os-elon merged 1 commit into
mainfrom
claude/main-red-adr0006-d4-tombstone

Conversation

@os-litant

Copy link
Copy Markdown
Collaborator

Main is red and the whole merge queue is stalled on it — every merge_group build since ~07:49Z fails Lint & Type Check at check-adr-anchors:

ADR-0006 D4 is cited by 1 file(s), but ADR-0006 declares no D4 — it decides: D1, D1.1, D1.2, D1.3, D2, D3 (packages/spec/src/data/object.zod.ts)

Observed dequeues: #12895 (CI_FAILURE, 08:29Z), plus failing queue builds for pr-12897 / pr-12901 / pr-12905 in the same window.

Root cause — two landings that never met in CI

The fix — the gate's own remedy, case (c)

"(c) if the decision is real but unwritten, it needs an ADR, not a citation."

The retirement is real and stays enforced. This PR drops only the false letter citation from the tombstone string — the message keeps the actionable fix (name: "sys_user") and the #4001 parse-path history. One string, plus a patch changeset for @objectstack/spec (the string is a shipped rejection message).

Deliberately NOT in this diff (follow-up card filed): the sibling spelling in translation.zod.ts:362 and the object.test.ts:1573 test title (neither is in the gate's scanned population — the gate names exactly 1 file), CHANGELOG history (never edited), and writing the actual ADR decision so the citation can return.

Verification

  • Reproduced FIRST on the pristine tree at aef1b7e64 (= current main): check-adr-anchors --self-test → 1 failure of 106, EXIT=1, same rendering as the queue logs.
  • After the one-string fix: ✓ check-adr-anchors --self-test: 106 assertions … EXIT=0; live run EXIT=0.
  • vitest run src/data/object.test.ts185/185 pass — the tombstone pin asserts the `namespace` and name: "sys_user" substrings, both kept.
  • The change is a string literal inside an object the test suite imports and compiles; no API surface moves.

Generated by Claude Code

…ion letter no version of that ADR declares
check-adr-anchors' letter validation (landed via #12785) now reads ADR-0006's
declared letters, and the 2026-08-28 v4 addendum (#12736, direct-merged) minted
D1-D3 for the API-surface boundary record — making the ancient D4 citation in
this tombstone (from #4522) mechanically unresolvable. Every merge-queue build
since 07:49Z fails on it, so the whole queue is stalled.
The retirement is real and stays enforced; the citation was always a phantom
(no version of ADR-0006 ever declared a D4 or decided object naming). Per the
gate's own remedy order this is case (c): a real but unwritten decision needs
an ADR, not a citation — the false letter is dropped now, the message keeps
the fix (name: "sys_user") and the #4001 history, and a follow-up card asks
for the decision to be written so the citation can return.
Verified: check-adr-anchors --self-test 106/106 EXIT=0 (was 1 failure on the
pristine tree, reproduced first), live run EXIT=0, vitest object.test.ts
185/185 (the tombstone pin asserts substrings this change keeps).
Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MnijPVVDakqK2J335JoJtq
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

Nothing in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 1 changed package(s)), so this run has no opinion about the docs.

What this run could not see
  • 1 name(s) were too generic to anchor anything (single lowercase words)
  • a page that states a rule by its inputs shares no identifier with the emitter that implements the rule, so an emitter-only diff cannot list it — not on this run and not on any run. Measured on fix(driver-sql): emit varchar(maxLength) for a text field a declared index keys on #11430: content/docs/protocol/objectql/types.mdx documents the text-family column mapping by the ObjectQL type names it maps FROM (text / textarea / html) while the diff changed createColumn; it went unlisted, and it was the page that diff falsified, in four places. No shared token exists to detect this on, so a rule your change carries has to be re-read by hand in the pages that restate it.

Coarse fallback — 126 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): node scripts/docs-audit/affected-docs.mjs --json aef1b7e641e7cead90f35db7cd1e06c46a021944packageMentionDocs.

@os-elonos-elon left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved on the maintainer's direct order (director seat, session session_016SG9S6V15MqeAgkehDcTwk; live PM chat, 2026-08-28, verbatim and untranslated):

分诊、最快解法:合掉 #12917(它就是正解,别造第二个)

Independent verification by this seat before approving: reproduced the same root cause independently (the phantom ADR-0006 D4 letter became checkable the moment ac35e2a2 gave ADR-0006 its first declared letters; git log -S 'D4' -- 'docs/adr/0006*' is empty — no version ever declared one); this diff is the gate's own remedy, one string + a patch changeset, no schema shape moved, and the PR-leg Lint & Repo Gates (which contains the exact failing check-adr-anchors step) is green on this tree. A competing dispatch for the same fix (#12922) was stopped before it produced any edits or PR — no second fix exists.

Arming auto-merge next; this PR's queue group contains the fix, so it passes the wedged gate and un-wedges the queue by landing.


Generated by Claude Code

@os-elon
os-elon added this pull request to the merge queueAug 28, 2026
Merged via the queue into main with commit 750fff5Aug 28, 2026
34 checks passed
@os-elon
os-elon deleted the claude/main-red-adr0006-d4-tombstone branch August 28, 2026 09:18
os-zhuang pushed a commit that referenced this pull request Aug 28, 2026
Freshness merge only — no content change of this branch's own. Picks up PR
#12917, which stopped packages/spec's namespace tombstone citing the phantom
ADR-0006 D4 and so clears the pre-existing check-adr-anchors red that this
branch's older base still carried. A workflow rerun could not clear it: a rerun
reuses the original merge snapshot, so a new commit on a fresher base is the
only thing that moves it.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationprotocol:datasize/xstooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@os-litant@os-zhuang@os-elon@claude