Skip to content

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

Queued
claude[bot] wants to merge 1 commit into
mainfrom
claude/issue-13185-adr-0005-retirement-note
Queued

docs(adr): record the paper metadata-customization module's retirement in ADR-0005#13261
claude[bot] wants to merge 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
Any commits made after this event will not be merged.
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