Skip to content

ADR-0076 的状态行仍是 Proposed,但它已被 AGENTS.md、runtime 代码注释与多个在飞 issue 当作生效决定引用 #5063

Description

@os-zhuang

观察类发现(observation-class),在起草 ADR-0121(#5060)核查 ADR-0076 时顺带发现,未认领不带 pm:queue —— 今天没有任何用户或作者会撞上它,但它是 ADR-0078 状态行校准(#4787#4919)同一形状的问题,按 Prime Directive #10「不要把发现埋掉」记录备查,严重度交 PM 分诊定。

基线:origin/main @ 94f7b6a

事实

docs/adr/0076-objectql-core-tiering.md 第 3 行:

**Status**: Proposed (2026-06-28, rev. 9) — D1–D12 below. ...
Verified 2026-07-16: D1 (metadata-protocol extraction + back-compat re-export),
D2 (core-boundary ratchet test), D9-step1 (segmented protocol interfaces) confirmed in code;
... D12 framework side landed in #3028 ...

状态行自己就记着 D1 / D2 / D9-step1 / D12 已在代码中确认落地,而抬头仍是 Proposed

同一份 ADR 在仓内被当作生效决定引用(非穷举):

引用处 用法
AGENTS.md(dev-stack 一节) 「mount everything advertised (ADR-0076 D12)」—— 作为纪律陈述
packages/runtime/src/domains/actions.ts 文件头 /actions domain — extracted dispatcher body (ADR-0076 D11 step ③, PR-9)」—— 该文件的存在理由
packages/runtime/src/domains/*.ts 一族 D11 的 domain registry 分解即其产物
#4936 正文 「正是 ADR-0076「一条路由一个属主」小节点名的那类输入」
#4939 正文 「这本身就是 ADR-0076「一条路由一个属主」要防的形状」
#5040 设计文档 §1 保留前缀方案的论证前提
ADR-0121(本次起草,#5060 明确声明「扩充 ADR-0076,不取代」

为什么值得记一笔

Prime Directive #13 的原文是「An accepted ADR binds until a superseding ADR says otherwise」,而 AGENTS.md 把「改动 docs/adr/ 治理的领域前先 grep ADR」写成每个 agent 的必做动作。这两条合起来,状态行就是读者判断「这条决定是否约束我」的唯一开关。一份实际上在约束 runtime 目录结构、被 AGENTS.md 引用、且正在被新 ADR 扩充的记录,抬头写着 Proposed,等于邀请下一个 agent 判定它可以绕过。

这正是 #4787 对 ADR-0078 描述过的机制 ——「An ADR that says "not built" about a built gate is a live misinformation source: the next reader re-opens the project or routes around a gate that is already load-bearing」。方向相反(那次是 Proposed 说自己没建成,这次是 Proposed 说自己建成了一半),失效方式相同。

建议处置(不预判,交分诊)

#4919 的做法逐条校准而不是整体翻牌 —— 一份分阶段 ADR 被整体标成「已完成」比标成「没开始」更坏,因为它会让人停止检查。ADR-0076 的分布本来就参差:

所以合理的形态大约是 Accepted — D1/D2/D9-step1/D11/D12 implemented; D3 unbuilt; D7/D10 deliberately deferred,逐条标注,与 ADR-0078 校准后的house form 一致。

⚠️ 这是纯文档动作:不改任何代码、schema 或 content/docs/releases/。若要一并做,scripts/adr-anchors.json 可考虑为 D11 的 domain registry 落点补锚(PD #13 推论:让实现决定的文件指回决定),但那是可分开的第二步。

关联:#4787 / #4919(ADR-0078 同形状的先例与做法)、#5060 / ADR-0121(本次起草,扩充 0076)、#4936#4939#5040

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions