Repository navigation
docs(adr): record ADR-0048 Addendum A as accepted - #30833
Conversation
The 2026-08-08 addendum (publish-time / marketplace namespace exclusivity) still read "Proposed" in its header entry and its own status line; the maintainer accepted it as drafted on 2026-08-08 and PR #6671 landed it with the line deliberately left for the next docs touch. Both lines now say Accepted (2026-08-08) and link the acceptance comment of record. One dated note closes §A.5: Phase A2 stays bound to the activation precondition; while publishing is first-party only, D2 + D4 reserve the first-party namespaces at switch-on, so no separate official reserved list is needed; Phase A1 is landed (#6864, cloud#1927). No decision text changes. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4cwkYtfcduZmfxJhuG3
|
domain:server#4 · os-elon-musk · session_016WV4czvZykUqhYxYXSSDt4 Contract review for card #30814 · governed ADR text ( Contract reviewServed-tier: ① Derived judgments
② Semver level
③ Boundary flags
Dev deviations: (1) objectstack-ai/cloud#1927 could not be read — handled honestly: the PR body says so in both the Acceptance notes and the 维护者速读, cites it exactly as the card body (the maintainer's filing, epic:#3600#1) cites it, and asks the Tier H approver to confirm before merging. This review could not reach that repository either; the claim rests on the card's authority. See ④ should-fix 3 on the ADR wording. (2)–(4) (reviewer request left to the seat; model-free commit trailer pair; PR template mirrored) are procedural and touch no tree content; PR-body guards and the lint lanes are green. ④ Design judgment
Holds:
Should-fix (none blocking):
No must-fix found. Implemented-by: VERDICT: PASS |
The §A.5 note now names the D3 whitelist as the exception to "reserved at switch-on by D2 and D4" (base/system/sys is never reserved and stays first-party-tier only), and carries the provenance of the cloud-side citation instead of asserting the relation. §A.6's Phase A1 bullet flips from [proposed] to [done], citing PR #6864, so it no longer contradicts the note nine lines above it. No decision text moves. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4cwkYtfcduZmfxJhuG3
|
domain:server#4 · os-elon-musk · session_016WV4czvZykUqhYxYXSSDt4 Delta re-review for card #30814 over record 6678388633 (PASS on Contract reviewServed-tier: Delta record over 6678388633 (PASS on ① Derived judgments
② Semver levelCarried forward unchanged: no changeset in the diff; ③ Boundary flags
The three should-fix items of the prior record, judged against the new text:
Out-of-scope stale lines, carried forward from the prior record with the first one now resolved:
Dev deviations, carried forward: (1) cloud#1927 unreadable, handled honestly in the PR body and now in the ADR text's "(per #30814)"; (2)–(4) procedural, touch no tree content. New this round: none reported; the round-2 addendum states "Still draft, not readied, no reviewers requested", which the PR read confirms. ④ Design judgment
Carried forward unchanged (the delta does not touch these lines): hunks 1 and 2 (lines 8, 370–375) trace every fact to #1825 comment 5226411687 (created 2026-08-08, "ADR-0048 addendum ACCEPTED as drafted, including the two flagged extensions — D2 ... and D3 rule 2", "the status-line flip rides the next docs touch") and to PR #6671 (merged 2026-08-08, this file alone, +396); "additive to §3.2, supersedes nothing" and "It is additive to §3.2 and supersedes no text above …" are kept verbatim. The note's A2 sentence restates A.5's own MUST ("acceptance criterion for opening third-party publishing, not a follow-up to it") and A.6's "This is the item bound by §A.5." The D2 + D4 gloss is D4 rule 1 ("back-fill … award the reservation to the publisher of the earliest published version carrying it") and D2 ("The reservation is held by the publisher, not by the package"). The Phase A1 code claim holds against New text, re-checked against the ADR itself and the live tree:
Should-fix: none remaining. Must-fix: none found. Implemented-by: VERDICT: PASS |
|
domain:server#4 · os-elon-musk · session_016WV4czvZykUqhYxYXSSDt4 维护者速读
席位意见:ACCEPT(#30814)。 席位核对Head-sha:
|
Requested by Elon · project thread
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)维护者速读
docs/adr/0048-cross-package-metadata-collision.md第 370–375 行(状态行)与第 724–734 行(§A.5 末尾注);第 8 行是页首 Addenda 条目。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:Addendaentry —(**Proposed**; …)becomes(**Accepted** 2026-08-08 — maintainer ruling on #1825, [acceptance comment 5226411687], landed by PR #6671; additive to §3.2, supersedes nothing).Status of this addendum: Proposed.becomesAccepted (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 docs(adr): ADR-0048 addendum — publish-time / marketplace namespace exclusivity contract #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.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 feat(spec,cli): carry the package namespace on the publish payload (ADR-0048 addendum Phase A1) #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
merged: true, merged 2026-08-08T14:23:32Z by os-zhuang, head d722c64, one file (this ADR, +396). PR feat(spec,cli): carry the package namespace on the publish payload (ADR-0048 addendum Phase A1) #6864 ismerged: 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:chore(release)!: enter RC pre-mode and anchor the train as the v17 major #3600#1, hotlong) — please confirm it names the cloud-side half of Phase A1 before merging.[proposed] Phase A1— A1 is landed, so that bullet owes a[done]flip; the headerAddendaline 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 feat(spec,cli): carry the package namespace on the publish payload (ADR-0048 addendum Phase A1) #6864 — true as dated, stale as a description of today. A reader chasing the acceptance through ADR-0048 addendum Phase A1:namespacetravels on the publish payload (PackageSchema / CreatePackageRequestSchema + CLI publish) #6760's claim comment will find it cited there as comment 5226117769; the real id is 5226411687 (a GitHub comment, not repository text).skip-changesetrequested onpr_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
Local gates at 9f78f24 (dispatch-gates --commands on this diff, 21 commands; exit codes captured before any pipe)
node scripts/pm/dispatch-gates.mjs --ran: 21 derived, 21 run, 0 NOT-MEASURED, 0 UNRUN (exit 0).check:doc-formula-expressionsran afterpnpm --filter '@objectstack/lint...' buildunderos-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.
Human Minimum
packages/specholds no runtime logic. (not touched)pnpm lintpasses. (no source file touched)main, one pull request.skip-changeset)packages/spectouched: its generated artifacts are regenerated and committed. (not touched)content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.Generated by Claude Code