Repository navigation
docs(adr-0119): the /batch atomic-refusal precedent anchor names batch-routes.ts (#23050 slice 13e, split-off anchor) - #24333
Conversation
…h-routes.ts, where the route has lived since #23050 slice 2 ADR-0119 D4's sentence "the cross-object `/batch` route's existing precedent" anchored `packages/rest/src/rest-server.ts#NOT_IMPLEMENTED`. The `/batch` route moved to `packages/rest/src/batch-routes.ts` in #23050 slice 2 (a647783), and its 501 `NOT_IMPLEMENTED` refusal is there; the anchor kept resolving in rest-server.ts only on the /meta state and published reads' 501 tokens, which #23050 slice 13e moves out. One anchor token changes; nothing else in the record does. Claude-Session: https://claude.ai/code/session_01SYEJqDL3NXxrJRBVqaMu9T Co-authored-by: Claude <noreply@anthropic.com>
维护者速读改了什么ADR-0119 第 118 行有一个代码锚点,指向「跨对象 为什么改
风险与代价(含回滚)风险极低:只改文档里的一个路径,运行时、契约和发布产物都不变。席位实测了两种情况:本 PR 单独合入时锚点能解析( 席位意见建议批准。这是对一个早已失效的引用做的机械更正,不涉及 ADR 的任何决定;新锚点指向的正是那句话描述的代码。#24330 的其余检查全部通过(41 个检查,33 成功、6 个按名单跳过),只等这一处。 你要做的(一个动作)对本 PR 提交一次批准(APPROVED review)。之后由席位把它转为正式并经队列合入,再把 席位核对ACCEPT (Tier H, awaiting an authorised approval) ·
Generated by Claude Code |
Part of #23050
Clause-②: no
The basis for the
Clause-②: noline: one anchor token in an ADR's prose changes, to name the file where the route the sentence already describes has lived since #23050 slice 2. No contract, schema, export, route, answer or configuration key changes, and no package's published files change.维护者速读(草稿)
改了什么
ADR-0119(插件可达的事务与诚实的原子批处理)第 118 行有一处代码锚点,指向"跨对象
/batch路由已有的先例":运行时无法回滚时,原子批处理请求以501 NOT_IMPLEMENTED拒绝,而不是悄悄降级。本 PR 只把这个锚点的文件从packages/rest/src/rest-server.ts改为packages/rest/src/batch-routes.ts,锚定的仍是同一个NOT_IMPLEMENTED。ADR 的决策内容、状态行和其他任何文字都不变。为什么改
/batch路由早在 #23050 第 2 片(commita647783d4)就整体搬到了batch-routes.ts,它的 501 拒绝就在那里(第 177 行)。旧锚点之所以一直"能解析",靠的是rest-server.ts里另外两个无关路由(对象状态机读取、已发布版本读取)的 501 字样;第 13e 片(PR #24330)把这两个路由也搬走后,旧锚点再也解析不到,CI 的ADR symbol anchors resolve门禁因此变红,门禁给出的修法就是改锚点。docs/adr/**需要人工审批(Tier H),所以这一个 token 单独开 PR,不把 1,444 行的搬迁 PR 也拖进人工审批。风险与代价(含回滚)
风险极低:只改文档里的一个路径,运行时、契约、发布产物都不变。本 PR 单独合入时锚点同样解析(
batch-routes.ts在main上已有该 token),与 PR #24330 合在一起时也解析(下面的实测)。回滚就是还原这一行;但若 #24330 已合入,回滚会让该门禁重新变红。席位意见
你要做的(一个动作)
审阅这一行改动后,对本 PR 提交一次批准(APPROVED review);之后由席位合入本 PR,再让 #24330 合并
main并落地。What changes
docs/adr/0119-plugin-reachable-transactions-and-honest-atomic-batch.md:118, one token:packages/rest/src/rest-server.ts#NOT_IMPLEMENTED→packages/rest/src/batch-routes.ts#NOT_IMPLEMENTED. The sentence names "the cross-object/batchroute's existing precedent"; that route's501 NOT_IMPLEMENTEDrefusal isbatch-routes.ts:177(code: 'NOT_IMPLEMENTED'), moved there by slice 2 (a647783d4, PR #23642). Nothing else in the record moves: no status line, no other ADR, and ADR-0076 stays the maintainer's own carry.This follows the seat's review record on PR #24330 (comment
6250370051, pointer6250393018) and the claim6249541908, amended in place with this second branch.Proof
node scripts/check-adr-symbol-anchors.mjsonorigin/mainec749fbb4before the edit: exit 0. On this branch (5ab4ac08a): exit 0, "check-adr-symbol-anchors: 2353 anchors across 142 records resolve — 451 symbol (424 declaration, 27 literal), 1874 file-level, 28 cross-repo, 6 exempt, 18 continuation".f2c84cc6falone, exit 1,[unresolved-symbol] docs/adr/0119-plugin-reachable-transactions-and-honest-atomic-batch.md:118 packages/rest/src/rest-server.ts#NOT_IMPLEMENTED, the finding CI's job117683703796reports.origin/claude/issue-23050-s13e-meta-object-state-published(f2c84cc6f,git merge --no-commit --no-ff, automatic merge, the 19 files of refactor(rest): move the /meta object state-machine read and the published read out of rest-server.ts (#23050 slice 13e) #24330 plus this one): exit 0, 2353 anchors resolve. In that treerest-server.tskeeps oneNOT_IMPLEMENTED, inside a//comment (:1592), which the checker does not count. The merge was aborted and the scratch worktree removed.node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack docs/adr/0119-plugin-reachable-transactions-and-honest-atomic-batch.md, with and without--commands: 19 commands (11 by path, 8 declared whole-tree), identical to the git-derived list. All 19 exit 0.check:doc-formula-expressionsfirst refused with exit 3 (@objectstack/formulaand@objectstack/lintnot built in this worktree); afterpnpm exec turbo run build --filter=@objectstack/formula --filter=@objectstack/lintunder the verify lock it exits 0 ("22 record-scoped formula example(s) across 476 files / 1393 TS blocks judged clean").--ran: "Run reconciliation — 19 derived, 19 run, 0 NOT-MEASURED, 0 UNRUN."node scripts/pm/check-governed-merges.mjs --branch HEAD: exit 3, GOVERNED, 1 of 1 path, landing tier H, +1 / −1.docs/adr/**ships in no package'sfiles[], andCheck Changesetrefuses a newly added empty changeset (空 frontmatter changeset 相对skip-changeset标签零收益、单向风险 —— 「禁止空 changeset 进 .changeset/」的决策证据(#5292 结案后无处存放) #5471), so this PR carries theskip-changesetlabel, applied in the stroke that created it.Landing order
This PR lands first, the Tier H way: an authorized APPROVED review, then the owning seat lands it. The seat then merges
maininto PR #24330, whoseLint · docs & code guardslane re-runs on that head; its other 33 completed checks onf2c84cc6fare green (all sixTest Coreshards,Build Core,TypeScript Type Check,Governed Surface Queue Guard). ⛔ NoNOT_IMPLEMENTEDtoken is kept inrest-server.tsto keep the old anchor alive.Generated by Claude Code