Repository navigation
Description
epic:#28130#1 · hotlong · session_040dfd80c4c9411b895c698e785a6848
Filing gate: ③ maintainer-directed task, verbatim (2026-10-30, desktop session): 「adr 146还没开始开发,可以直接改」 with 「方向定为包级覆盖:代码和 Studio 用同一机制,定制都进 .custom。」 and 「等我拍板的 8 个问题,全部同意」. ⛔ Not a claim.
Part of #28236 (P0, child N-01) · governs: ADR-0146 (rewritten in place) · lane: domain:skills (docs/adr/**, Tier H — the maintainer hand-merges) · size: M.
Business reason. Every code card of the epic changes a gate an accepted ADR pins today (ADR-0126 D1 and D4 wall 1, ADR-0131 D6, ADR-0005's five-type tier, ADR-0048 §3.3, ADR-0009 executionPinned, ADR-0141 D3). Without the record rewritten first, each implementation PR is refused by its own pin tests or argues the ruling again. ADR-0146 has no implementation yet, so the maintainer ruled to rewrite it rather than add a superseding record.
Wanted.
- Rewrite
docs/adr/0146-*.mdas the package-level override record: every customization of an installed package lives in<base>.custom; an existing item is overridden by an explicit declaration in the item body (overrides: { package, basedOn }, whole-document replace); undeclared same-name refused at publish; only items inside the dependency closure; one effective read for package-less, base-named, layered, list and export reads; flows served over the code package, rebound in one reload, ledger identity inherited, real version pinning;.customauto-created without a prompt, dependency declared, namespace explicit<base_ns>_custom(never derived); uninstall of a base refused while its.customexists; extension fields end in__c, reserved to.custompackages; base-field changes limited to a display-property whitelist; package-less overlay rows migrated then closed; clone kept only as "new similar"; Packaged automation retired after the ledger switch and landing counts; permission sets, positions and capabilities not overridable. - Keep ADR-0146's Studio/Setup boundary (D1 catalog in Studio, D5 browse entry, D6 no fields table, D7 Setup pages); move the item toolbar ahead of customization.
- A supersede table: each clause of ADR-0005/0009/0048/0126/0131/0141 it overrides → the new rule → the gate and pin test that change (
protocol-packaged-base-refusal.ts#refusePackagedBaseOverride,protocol-environment-rows.ts#packagelessAddress,flow-precedence.ts#resolveFlowPrecedence,run-resume.ts#resolveResumeTarget,registry.tsextension merge,namespace-prefix.ts#deriveNamespaceFromPackageId,protocol.org-scoped-write-refused.test.ts). - Status-line pointers on those six records (ADR-0005's line is the model).
- Fold PR docs(adr): ADR-0146 — anchor the four load-bearing symbols, count two Setup pages, drop the epic label snapshot (S13–S15) #28145's three wording fixes in and close that PR.
- Every quote verbatim and untranslated; symbols as
path#symbolanchors.
Acceptance. adr-index.mjs --check, check-adr-links.mjs, check-adr-symbol-anchors.mjs pass; the maintainer hand-merges.
Not here. Any code; the epic's other cards are cut after this merges.
Dedupe. "package-level override" open+closed: 4 hits, none on this topic. PR #28145 is folded in, not duplicated.
Links back: #28236, #28130, ADR-0146 (cdbf08d1).
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 31, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
Claim: PM loop round 2 · 2026-10-31T03:03Z · maintainer jump-the-queue
Session:
session_016WV4czTS5hqnBm8k5vxKq9(card thread; seatsession_016WV4d1QkPVVzNz3FJqb2iS)Account:
os-elon-muskBranch:
claude/project-thread-j6cjuw(the card thread's platform-assigned branch — the recorded platform exception; amended by the seat when the thread reported it)Worktree:
objectstack-issue-28237Domain:
domain:skills(docs/adr/**)Seat:
domain:skills#2(seat 1 vacant on #7623)Triage basis: this card has no audit comment of its own. It is a GitHub sub-issue of #28236, so it inherits its parent's first touch (the sub-issue exception,
execution-duties.md:11). The maintainer also directed it verbatim on 2026-10-31: 「adr 146 最优先」 (03:02:44Z) and 「28237 现在就插队」 (03:02:57Z). The grade and queue stay as filed (p2,pm:queue). This claim takes the card ahead of every other skills card.File surface:
docs/adr/0146-studio-designs-setup-administers-one-editor-per-item-paired-customize-package.md, rewritten in place as the package-level override record (card Wanted 1–3, 5, 6);docs/adr/0005-metadata-customization-overlay.md,0009-execution-pinned-metadata.md,0048-cross-package-metadata-collision.md,0126-packaged-metadata-customization-model.md,0131-total-organization-ownership-no-null-organization-id.mdand0141-inter-app-dependency-declared-checked-before-install.md(Wanted 4);docs/adr/README.md, only ifadr-index.mjsregenerates it.docs/adr/0070-package-first-authoring.md(ADR-0070 D3/D5) anddocs/adr/0029-kernel-object-ownership-and-platform-objects-decomposition.md(ADR-0029 D7).No code. Stop on breach; explain in the report.
Container & model:
M,mode:thread,model: fable(the gates readdocs/adr/**as fable),effort: xhigh. This is governed rules text, so it owes a CONTRACT_REVIEW_TIER review (fable) before the queue. Tier H by the register is expected, and the maintainer hand-merges (card Acceptance).Clause-②: no
Metadata-protocol: none
Responsibility: every code card of epic #28236 changes a gate that an accepted ADR pins today. ADR-0146 must be rewritten first as the package-level override record, with a supersede table, so the implementation PRs are not refused by their own pin tests.
Thread-read: the card body (no comments); epic #28236 body (the maintainer's rulings 「方向定为包级覆盖…」, 「等我拍板的 8 个问题,全部同意」, 「这些卡都可以放回车队开发吧」); PR #28145 (closed unmerged,
os-bill). Its three wording fixes S13–S15 are folded in by Wanted 5; the PR is already closed, so nothing is left to close.Premise: holds (
origin/main69ce01d7e; ADR-0146 has no implementation, per the card).Serial constraints cleared: no open PR touches ADR-0146 or the six Status-line ADRs at claim time. The sibling cards #28238–#28241 and #28148, already dispatched, are code-side and cut after this card merges, per the card's "Not here". The landing tier is read off the register at PR time.
objectstack-fleet commentedon Oct 31, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
Handoff (2026-10-31): skills seat 2 is signing off at the maintainer's word 「当前任务处理完,合并后就下班」. This card is parked, not yielded. The claim stands, and whoever picks it up continues from here.
State.
PR. Draft PR docs(adr): rewrite ADR-0146 as the package-level override record — paired
<base>.custom, one declared override shared by code and Studio; dated pointers on six Status lines #28295 onclaude/project-thread-j6cjuw, headaf70e268: 10 files underdocs/adr/**, Tier H, which the maintainer hand-merges.Review. Contract review round 1 at
59d2196bis a FAIL (record 6538795712). Should-fixes 1–8 are folded ataf70e268, and the claim surface is amended (6538166727) to add the ADR-0070 and ADR-0029 Status lines.Open must-fix. It is a maintainer ruling, now in front of Elon as 总监决裁 7 (fable decision thread; analysis
/mnt/project-files/fable-director/28237-adr0146-decision-batch.md; seat write-up/mnt/project-files/skills-lane-seat2/adr0146-decisions-zh.md). It has two parts:actionis overridable in D2's type list, and on what condition.The fable recommendation is C for both. The seven "silent" items are in the same write-up.
Next steps for whoever resumes.
needs-user-decisionand request os-zhuang / hotlong); the maintainer hand-merges.skip-changesetis right here, because this is adocs/adr/**-only change.objectstack-fleet commentedon Oct 31, 2026
domain:skills#2 · os-elon-musk · session_016WV4d1QkPVVzNz3FJqb2iS
Release: skills seat 2 signs off (the maintainer, 2026-10-31T05:34Z: 「当前任务处理完,合并后就下班」). The claim 6538166727 is released and the assignee cleared. This card waits on a maintainer ruling, so it goes to the decision box (
needs-user-decision) rather than back to the queue.Resume-from: handoff 6539626819. Draft PR #28295 is on
claude/project-thread-j6cjuwat headaf70e268, with should-fixes 1–8 of review 6538795712 folded. What remains is to fold the 总监决裁 7 ruling (A: Q1 scope; B:action), then run a delta contract review, the ACCEPT, the Tier H request, and the hand-merge. Whoever resumes takes the branch as it stands, under a fresh claim.objectstack-fleet commentedon Oct 31, 2026
epic:#28130#1 · hotlong · session_040dfd80c4c9411b895c698e785a6848
For whoever resumes this card — recorded 2026-10-31T06:40Z. The open must-fix of contract review 6538795712 (Must-fix 1: one rule for an undeclared same-named item of a non-pair dependent package across D2 :206–209, D8.2 :396–399, D9.1 :419–421 and the Q1 row) and the
actionedge (Should-fix 9, D2 "Which types") are now on GitHub as decision card #28364, opened at the maintainer's request in a direct desktop session, verbatim: 「开一个决策卡」.actionoverridable in this epic #28364 once it carriesRuled:; until then the handoff 6539626819 stands (claim parked, not yielded).actionoverridable in this epic #28364.Generated by Claude Code
objectstack-fleet commentedon Oct 31, 2026
epic:#28130#1 · hotlong · session_040dfd80c4c9411b895c698e785a6848
2026-10-31T09:36Z
Removing
needs-user-decision: this card auto-closed throughFixes #28237when #28295 merged, and the decision it waited on (#28364) is ruled and recorded (6540351677). Closing leaves nopm:*state label behind;domain:skills,area:studioand the type label stay. Cleanup was planned in the desktop PM session and confirmed by the maintainer there, verbatim: 「落卡:缺口一和三写进 N-09 的卡面(合并后切卡时),缺口二开决策卡;三处文字残留随 N-09 顺手修。」