Skip to content

docs(adr): record the paper metadata-customization module's retirement in ADR-0005 - #13261

Merged
os-zhuang merged 1 commit into
mainfrom
claude/issue-13185-adr-0005-retirement-note
Aug 30, 2026
Merged

docs(adr): record the paper metadata-customization module's retirement in ADR-0005#13261
os-zhuang merged 1 commit into
mainfrom
claude/issue-13185-adr-0005-retirement-note

Conversation

@claude

@claude claude Bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Fixes #13185

ADR-0005 named packages/spec/src/kernel/metadata-customization.zod.ts in two places as a kept, deliberately-retained model held for a future phase. That module has been deleted whole, so both sentences pointed at a file that no longer exists and promised a future phase ADR-0126 §6 has since ruled out.

Decides nothing new. This is a factual text correction to an accepted record, not a re-litigation of ADR-0005. Its own decision — the org-scoped overlay (allowOrgOverride on DEFAULT_METADATA_TYPE_REGISTRY, sys_metadata org rows, the layered code/overlay/effective read) — is untouched by the retirement and is neither edited nor re-summarized here.

Evidence chain for the correction

Verified on origin/main 7404925 before any edit: git cat-file -e origin/main:packages/spec/src/kernel/metadata-customization.zod.ts reports the path does not exist, while both stale lines were still present.

What changed — one file, two sites, one home for the record

Per Prime Directive 13, both original sentences are left standing as written; the correction is appended.

  • Design principles (binding), item 3 — the substantive claim, so this is where the full record goes: an inline ⚠️ Correction (#13185, 2026-08-29) note giving the retirement, the evidence chain and the superseding model, and stating explicitly that the principle's own decision is unaffected (customizations are still full-JSON deltas, field-level patches are still not implemented). What changed is only the reserve the sentence pointed at: the RFC 7396 / 3-way-merge direction is closed rather than deferred.
  • References bullet — a restatement of that same claim, so it gets the terse corrected fact (the file no longer exists, and what deleted it) plus a pointer to the one home above, rather than a second copy of the reasoning.

Convention followed

The inline ⚠️ Correction (#issue, date) shape, appended to the claim it corrects with the original wording left standing — the ADR-0088 precedent, applied to ADR-0126 §6.4 by PR #13139 earlier the same day. The split between the two sites here mirrors how that PR handled its own §1.1 restatement: a pointer to one home for the correction, not two copies. A strikethrough annotation on the References bullet was considered and rejected — striking the original text through re-reads the record rather than leaving it standing, which is the half of Prime Directive 13 this convention exists to satisfy.

Verification

Gate family derived from the tree, not recalled: node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack (re-derived after the commit; unchanged). All five run green at e1415210, quoting each gate's own verdict line:

  • pnpm check:adr-anchors✓ check-adr-anchors --self-test: 106 assertions over the real auditAdrDirectory() / auditCitedNumbers() / assembleAnchors() paths.
  • pnpm check:doc-authoring✓ doc authoring guard: 393 files clean — no bare metadata literals.
  • pnpm --filter @objectstack/lint run check:doc-formula-expressions✓ check:doc-formula-expressions: 22 record-scoped formula example(s) across 426 files / 1451 TS blocks judged clean by @objectstack/formula.
  • pnpm check:pm-governed-merges✓ check-governed-merges --self-test: 206 assertions ...
  • pnpm check:adr-links✅ check-adr-links: 576 relative link destination(s) under docs/adr/ resolve

Two notes on that run:

  • check:doc-formula-expressions was not on the dispatch's expected gate list; the path derivation added it. Its first two invocations exited 1 with PREREQUISITE NOT MET (@objectstack/formula, then @objectstack/lint, not built) — the gate's own text says "Nothing was measured", so those are not failures. After turbo run build for each, it measures clean.
  • The links gate result is a real measurement of the new cross-link, not an assumption: the same gate run against the base tree 74049254 in a throwaway compare worktree reports 575 destinations, against 576 here, so the census delta is exactly the one relative link this PR adds (./0126-packaged-metadata-customization-model.md). No relative link is written to the deleted module — it stays a code span.

No changeset

docs/adr/** only; this publishes nothing from any package, so the diff carries no changeset and the PR is labelled skip-changeset — the same treatment PR #13139 had for its ADR-only diff.

Governed surface

docs/adr/** is a governed surface under Prime Directive 14. This PR stays draft: no AI seat marks it ready, arms auto-merge, or enqueues it. Human merge or pinned maintainer approval is the landing path, and the dispatching PM seat owns the terminal steps after review.


Generated by Claude Code

…t in ADR-0005

ADR-0005 named `packages/spec/src/kernel/metadata-customization.zod.ts` in two
places as a kept, deliberately-retained model held for a future phase. That
module was deleted whole under ADR-0049 enforce-or-remove (maintainer ruling of
2026-08-29 on #12057, executed by PR #13186), so both sentences pointed at a
file that no longer exists and promised a future phase ADR-0126 §6 has since
ruled out.

Decides nothing new. Both original sentences are left standing as written per
Prime Directive #13; the correction is appended. The full record goes once, on
the substantive claim (Design principles item 3), following the inline
`⚠️ Correction (#issue, date)` convention that PR #13139 applied to ADR-0126
§6.4 the same day. The References bullet is a restatement of that claim, so it
gets the terse corrected fact plus a pointer to the one home rather than a
second copy of the reasoning.

ADR-0005's own decision is untouched: the org-scoped overlay (`allowOrgOverride`
on `DEFAULT_METADATA_TYPE_REGISTRY`, `sys_metadata` org rows, the layered
code/overlay/effective read) works exactly as before, and customizations remain
full-JSON deltas with merge unimplemented. What changed is only the reserve the
retired module represented: the RFC 7396 / 3-way-merge direction is closed
rather than deferred.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KX8wnyjStaZcuMyAMNsy3N
@os-zhuang
os-zhuang marked this pull request as ready for review August 29, 2026 16:04
@os-zhuang
os-zhuang enabled auto-merge August 29, 2026 16:04
@github-actions github-actions Bot added size/s documentation Improvements or additions to documentation labels Aug 29, 2026
@os-zhuang
os-zhuang added this pull request to the merge queue Aug 29, 2026
Merged via the queue into main with commit 3322527 Aug 30, 2026
28 of 29 checks passed
@os-zhuang
os-zhuang deleted the claude/issue-13185-adr-0005-retirement-note branch August 30, 2026 02:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ADR-0005 still names metadata-customization.zod.ts as a kept, future-phase model after #13135 retires it

3 participants