Repository navigation
Commit f283226
docs(adr): record ADR-0048 Addendum A as accepted (#30833)
<!-- claude-projects-attribution: {"github_login":"os-elon-musk"} -->
_Requested by **Elon** · [project
thread](https://claude.ai/code/project/chan_01WedDzV26nniwxv7jC88B9D?thread=cmsg_01WedDzV26nniwxv7jC88B9DAUj1Z8Wn6VjhHNjXq26y1F)_
domain:server#4 · os-elon-musk · session_016WV4cwkYtfcduZmfxJhuG3
Fixes #30814
Clause-②: no
Metadata-protocol: none
Claim: 6677779234 (re-posted whole with the branch: 6677846365) ·
Branch: `claude/project-thread-gor61o` · Ruling-ref: the card body
(maintainer 「同意」, recorded by epic:#3600#1 — correct the record only;
the exclusivity gate is not built)
## 维护者速读
- 改了什么:ADR-0048 的 2026-08-08 附录 A(发布时 /
市场命名空间独占)两处状态行从「Proposed」改为「Accepted (2026-08-08)」,链接 #1825 上的接受评论与落地 PR
#6671;§A.5 末尾加一条 2026-11-06 注:A2 门仍绑定 A.5 前置条件,仅第一方发布期间 D2 + D4
在开闸时即保留第一方命名空间、无需另立官方保留名单,A1 已落地(#6864、cloud#1927)。
- 为什么改:附录 A 当天即被接受,但状态行留给「下一次文档改动」顺带翻转,三个月没人翻;读者据此把契约当成未定。本 PR
只纠正记录,不改任何决策文字、不建门。
- 风险与回滚:极小。单文件 +19 / −2,无代码、无 schema、无生成物;回滚即撤 PR。
- 先看:`docs/adr/0048-cross-package-metadata-collision.md` 第 370–375
行(状态行)与第 724–734 行(§A.5 末尾注);第 8 行是页首 Addenda 条目。
- 两分钟验证:打开本 PR 的 Files 标签,预期只有 1 个文件、+19 / −2;点状态行里的 acceptance comment
链接,落在 #1825 2026-08-08 13:55Z 的「ADR-0048 addendum ACCEPTED as
drafted」评论。
- 需要你做的:`docs/adr/**` 属 Tier H,请审阅后亲手合并(或批准后由席位落地)。cloud#1927
这一个引用车队会话读不到(见 Acceptance notes),请顺手确认。
## What changes
One file, `docs/adr/0048-cross-package-metadata-collision.md`, three
hunks, no decision text touched:
1. **Line 8, the header `Addenda` entry** — `(**Proposed**; …)` becomes
`(**Accepted** 2026-08-08 — maintainer ruling on #1825, [acceptance
comment 5226411687], landed by PR #6671; additive to §3.2, supersedes
nothing)`.
2. **Line 370, the addendum's own status line** — `Status of this
addendum: Proposed.` becomes `Accepted (2026-08-08)`, naming that the
maintainer accepted it as drafted with D2 and D3 rule 2 included,
linking the same comment, and recording why the line lagged: PR #6671
merged the same day with the line still reading "Proposed", the comment
being the acceptance record of authority until the line caught up. The
sentence that follows ("It is **additive to §3.2** and **supersedes no
text above** …") is kept verbatim.
3. **End of §A.5 (Activation precondition)** — one dated note, `Note
(2026-11-06, #30814) — where the precondition stands; no decision
changes.`, with the three points the card asks for: Phase A2 stays bound
to the precondition and lands before third-party publishing opens; while
publishing is first-party only, first-party namespaces are reserved at
switch-on by D2 and D4 (the back-fill awards each published namespace to
the publisher of its earliest published version, and the reservation is
held by that publisher), so no separate official reserved list is
needed; Phase A1 is landed (PR #6864 in this repository,
objectstack-ai/cloud#1927 on the cloud side).
## Why
The addendum was accepted the day it was drafted, but the acceptance
comment deliberately left the in-document status flip to "the next docs
touch", and no docs touch came for three months. Agents and people
reading the ADR concluded the contract was undecided. The maintainer's
「同意」 on #30814 is to correct the record only — not to build the
namespace-exclusivity gate now — so this PR changes two status lines and
adds one dated note, and nothing else.
## Tests
None: a docs-only change to one ADR. No code, schema, generated artifact
or published file moves.
## Acceptance notes
- **Every cited number was verified from this repository before it was
written, except one.** #1825's acceptance comment is id 5226411687,
created 2026-08-08T13:55:40Z, opening "Maintainer ruling (2026-08-08,
via the engine-core PM session): ADR-0048 addendum ACCEPTED as drafted"
(read via the issue-comments API). PR #6671 is `merged: true`, merged
2026-08-08T14:23:32Z by os-zhuang, head d722c64, one file (this ADR,
+396). PR #6864 is `merged: true`, merged 2026-08-09T02:22:38Z, titled
"feat(spec,cli): carry the package namespace on the publish payload
(ADR-0048 addendum Phase A1)", `Fixes #6760`.
**objectstack-ai/cloud#1927 could not be read**: that repository is
outside the fleet session's GitHub scope (search answers 422 "cannot be
searched"; the seat's session answers 403). It is cited exactly as the
card body cites it, on the authority of the maintainer's filing
(epic:#3600#1, hotlong) — please confirm it names the cloud-side half of
Phase A1 before merging.
- **Lines that now read stale and were deliberately not edited** (the
card's scope is the two status lines plus the one note): §A.6's bullet
`[proposed] Phase A1` — A1 is landed, so that bullet owes a `[done]`
flip; the header `Addenda` line lists only the 2026-08-08 addendum, not
the 2026-10-08 one that line 3's status already names; §A.0's
measurement ("Publish time has zero namespace surface") is dated
2026-08-08 and superseded by #6864 — true as dated, stale as a
description of today. A reader chasing the acceptance through #6760's
claim comment will find it cited there as comment 5226117769; the real
id is 5226411687 (a GitHub comment, not repository text).
- The §A.5 note spells D2 + D4's effect in the ADR's own words
(back-fill to the earliest publisher, reservation held by the publisher)
so that "reserved at switch-on" is traceable to the two decisions rather
than asserted.
- `skip-changeset` requested on `pr_create`: `docs/adr/**` publishes
nothing from any released package.
- `docs/adr/**` is Tier H (`dispatch-gates --tier`: Model tier MANDATORY
claude-fable-5-1); the landing is a governed approver's.
## Verification
<details><summary>Local gates at 9f78f24 (dispatch-gates --commands on
this diff, 21 commands; exit codes captured before any pipe)</summary>
```text
node scripts/check-adr-links.mjs --self-test :: exit 0
node scripts/check-adr-links.mjs :: exit 0
node scripts/check-closing-keyword-parity.mjs --self-test :: exit 0
node scripts/check-closing-keyword-parity.mjs :: exit 0
node scripts/check-comment-mask-corpus.mjs :: exit 0
node scripts/ci/plan-test-core-shards.mjs --self-test :: exit 0
pnpm --filter @objectstack/lint run check:doc-formula-expressions :: exit 0
pnpm check:adr-anchors :: exit 0
pnpm check:adr-index :: exit 0
pnpm check:adr-symbol-anchors :: exit 0
pnpm check:ci-filter-parity :: exit 0
pnpm check:closed-ceremony-text :: exit 0
pnpm check:cross-package-test-inputs :: exit 0
pnpm check:doc-authoring :: exit 0
pnpm check:driver-memory-census :: exit 0
pnpm check:gitlink-declared :: exit 0
pnpm check:nul-bytes :: exit 0
pnpm check:pm-governed-merges :: exit 0
pnpm check:pm-prior-rulings :: exit 0
pnpm check:refd-timer-probe :: exit 0
pnpm check:watch-hint-literal :: exit 0
```
`node scripts/pm/dispatch-gates.mjs --ran`: 21 derived, 21 run, 0
NOT-MEASURED, 0 UNRUN (exit 0). `check:doc-formula-expressions` ran
after `pnpm --filter '@objectstack/lint...' build` under
`os-verify-lock` (VERDICT command-exit 0, 96s).
`check:commit-card-trailers --range origin/main..HEAD`: 1 commit, no
card relation, no model identifier (exit 0).
CI families outside the derivation (artifact rosters, wide-population
families, the type-check lanes) are CI's; this PR's check-runs are their
record.
</details>
## Human Minimum
- [x] 1. Schemas start as Zod; `packages/spec` holds no runtime logic.
(not touched)
- [x] 2. Every name I added uses the casing for its kind. (none added)
- [x] 3. No formatter ran; `pnpm lint` passes. (no source file touched)
- [x] 4. One issue, one branch off an up-to-date `main`, one pull
request.
- [x] 5. A change that publishes carries a changeset, and both
declaration lines are filled in here and in the changeset. (publishes
nothing: `skip-changeset`)
- [x] 6. `packages/spec` touched: its generated artifacts are
regenerated and committed. (not touched)
- [x] 7. No hand edits to `content/docs/references/`,
`packages/*/CHANGELOG.md` or `content/docs/releases/`.
- [x] 8. Title, body and comments are in English.
- [x] The *Before Submitting* list in CONTRIBUTING.md is done.
---
_Generated by [Claude
Code](https://claude.ai/code/session_016WV4cwkYtfcduZmfxJhuG3)_
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 0e73de8 commit f283226
1 file changed
Lines changed: 22 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
367 | 367 | | |
368 | 368 | | |
369 | 369 | | |
370 | | - | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
371 | 376 | | |
372 | 377 | | |
373 | 378 | | |
| |||
716 | 721 | | |
717 | 722 | | |
718 | 723 | | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
719 | 737 | | |
720 | 738 | | |
721 | 739 | | |
722 | 740 | | |
723 | | - | |
| 741 | + | |
724 | 742 | | |
725 | 743 | | |
726 | | - | |
| 744 | + | |
727 | 745 | | |
728 | 746 | | |
729 | 747 | | |
| |||
0 commit comments