docs(adr): ADR-0104 的 meta 广告位条款按实际落地修订(#3438 后续) - #4299
Merged
Conversation
…ly landed (#3438) The 2026-07-30 addendum's rollout bullet says `os migrate meta --from 16` ends by naming the two data migrations "with their gate status". The implementation (#4253) deliberately names them without it, and the reasoning lived only in that PR's commit message — so the decision record kept prescribing the wrong half to the next implementer, and already misled one (#4284's first draft built exactly what the sentence says). The status half was a category error this ADR had already corrected two addenda earlier: per the 2026-07-27 addendum the evidence gate is per DEPLOYMENT, and `meta` acts on SOURCE, which deploys to zero-or-N deployments — so "its" gate status has no referent at meta time. Best-effort status (show it when a datastore happens to be reachable) would be worse than none: silence goes ambiguous, output turns environment-dependent, and the command gains a hang path on an unreachable database. Status is reported where a datastore is actually open — each migration command reports before it writes, and the boot line carries the live verdict, which after #4284 speaks only where it is true. Amended in place with the ADR's own convention (the L428-style dated inline parenthetical), original text preserved. Empty changeset per the adr-0104-attestation-adr-note precedent. Releases nothing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016zgA8CQMJeJbFEjnbib1Uv
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
os-zhuang
marked this pull request as ready for review
July 31, 2026 04:55
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
修订 ADR-0104 L826–833:
os migrate meta「with their gate status」那半句2026-07-30 addendum 的 rollout 条款写着
os migrate meta --from 16收尾时列出两个数据迁移「with their gate status」。#4253 落地时有意没做加粗那半,但理由只活在它的提交说明里——决策记录本身仍在向下一个实现者开错误的处方,而且已经骗过一次:#4284 的第一稿就是照这句做的,后来在 PR 里论证撤回。为什么修订 ADR 而不是补代码
那半句是这份 ADR 自己在两个 addendum 之前刚纠正过的范畴错误:2026-07-27(later)addendum 定了 evidence gate 是 per deployment 的事实(一条
sys_migration行),而meta作用于源码——一份源码树对应零到 N 个部署,所以「its gate status」在 meta 时刻没有所指。main 上的meta.ts:95已经把这个区分打印成了字面:Then, against each deployment's database:(复数)。补代码的变体(best-effort:数据库可达就显示)比不显示更糟:沉默变歧义(连不上库还是门已开?)、输出随环境摇摆破坏 e2e 确定性、只读命令多一条数据库不可达时挂死的路径。状态在数据库本来就打开的地方报告:两条迁移命令写任何东西之前先报,boot 行带活判定——#4284 之后只在成立时发声。
改法
按本 ADR 自己的修订惯例(L428 式带日期 inline 括注,原文保留)在 L833 之后加括注,把论证链写在现场(07-27 原则 → 无所指 → 状态归属何处),读者不必翻两个 PR 的提交说明。
空 changeset 按
adr-0104-attestation-adr-note先例。Releases nothing。验证
check:doc-authoring:215 files clean。改动为 1 个 ADR 文件 + 1 个空 changeset。关联
#3438 收尾时留给「维护者定夺」的那一处;维护者已确认按此方向修订。本体实现见 #4253,缺陷修正见 #4284。
Generated by Claude Code