Repository navigation
docs(agents): port objectstack's model-free commit-trailer rule into the multi-agent section (objectui#9441) - #10922
Conversation
…the multi-agent section objectui's AGENTS.md said nothing about the commit trailer pair, so a seat here followed whichever voice it read last. This adds the objectstack AGENTS.md "Commit message:" sentences verbatim, minus the pre-push-hook clause (objectui has no such hook and the ruling adds none), and states that nothing in this repository enforces the rule. Claude-Session: https://claude.ai/code/session_01EBx9rvB7dufCz4at53x35U Co-authored-by: Claude <noreply@anthropic.com>
|
changeset-claim-re-read
|
维护者速读(终稿)席位 改了什么:在 objectui 根目录 为什么改:objectstack 早已写明这条规则,objectui 的 风险与代价(含回滚):只改给 agent 读的说明文字,不碰代码、测试、构建或发版。代价:本仓仍无机械拦截,效果取决于 agent 读到并照做;两个仓各存一份同文规则,改一边要记得同步另一边。回滚:revert 本 PR 唯一的 commit 即可。 席位意见:建议批准。席位独立核对了引文:objectstack 原段落去掉那半句后与本 PR 的引文逐字节一致;diff 只有这 5 行,与裁决 A 的范围一致。额外那句「本仓无强制」的提醒属实,也是本仓诫条 #9 要求的写法。CI 在席位复核时(07:44Z)Lint、Type Check、Build & E2E、Changeset Declaration 已绿,8 个测试分片仍在跑;落地前席位会再确认全绿。同文件的下一张卡(objectui#9666,强制推送那句)排在本 PR 之后串行。 你要做的:在本 PR 上点 Approve( Generated by Claude Code |
|
Generated by Claude Code |
Contract reviewPost-hoc: this PR merged before the contract-tier review it owed; this record is that review, taken after landing. Served-tier: Inputs read, reading taken 2026-09-28T11:10Z: card objectui#9441 (body and all six comments, the ruling 5724938982 included), PR objectui#10922 (body, its three comments, file list, net diff against ① Derived judgmentsDiff shape: one file, root
② Semver levelThe diff publishes nothing: root ③ Boundary flagsDev report 5865617148:
Gate verdicts on the head: 40 check-runs, 37 Post-hoc note: the landing route (an Implemented-by: VERDICT: PASS Generated by Claude Code |
Fixes #9441
Clause-②: no —
AGENTS.mdis an agent-facing convention, not a published contract, accept set or public surfaceWhat
objectui's root
AGENTS.mdgains objectstack's model-free commit-trailer rule, as ruled on the card (ruling A, comment 5724938982, text only, no hook). One new bullet in### 多 agent 协作纪律(并行修改本仓库,务必遵守), placed right after the bullet that begins 「每次 commit/push 前先确认当前分支」, which is that section's commit-hygiene neighbour.AGENTS.md's paragraph beginning**Commit message:**are quoted verbatim, with exactly one clause removed:, and the pre-push hook refuses a model identifier in that pair. objectui has no such hook and the ruling adds none (option B was declined).Co-authored-by(pointing at objectui#9666).objectui#9666 remains open: its ruling-C sentence (the cross-repo force-push line) is a separate card, serialised after this one by the claim.
Premise checks (on
origin/main733fd5a, before editing)git grep -n -iE 'Claude-Session|model-free|Co-authored-by' BASE -- AGENTS.md CLAUDE.mdexit 1, zero lines. Control:git grep -c AGENTS BASE -- AGENTS.mdanswers 5, exit 0.origin/maindf3ba164, the paragraph anchored by**Commit message:**. The port was compared mechanically: source paragraph whitespace-flattened, the one clause removed (it occurs exactly once), result byte-equal to the new quote line:MATCH..githooks/, nocore.hooksPath, no husky / lefthook / simple-git-hooks key inpackage.json, and no file under.github,scriptsor.claudenamesCo-authored-byorClaude-Session(git grep exit 1). Control leg: objectstack's.githooks/pre-pushpipes the pushed refs intoscripts/check-commit-card-trailers.mjs, whose header names "a model identifier in the trailer pair" as its second finding class.mainare all single-parent squash landings: 40 carry aCo-authored-byline, 0 carryClaude-Session, and none names a model. That count is today's reading and is deliberately NOT written into the file (commandment 完善设计器的每一个细节 #9); the file points at objectui#9666 instead.Verification, at
4259546dnode scripts/check-control-bytes.mjscheck-control-bytes: OK (scanned 9180 tracked text file(s); skipped 85 binary).node scripts/check-new-cross-file-line-citations.mjsVERDICT new-cross-file-line-citations: 0 new citation(s), enforcement report-only -> exit 0node scripts/check-shell-escape-residue.mjsOK (5/5 root(s) resolved -- AGENTS.md: 1 file(s), 15 fence(s); ...)node scripts/check-doc-links.mjsLinks are valid across 17 scan roots.node scripts/check-changeset-presence.mjsNo source or published contract of a released package changed in this range, so no changeset is owed.node scripts/check-governed-queue-guard.mjs --test AGENTS.mdGOVERNED — 1 of 1 path(s) are on a governed surface(so: draft, waiting for an authorized approval)AGENTS.md, derived from the ledger rather than recalled:markdownTestInputsAmong(['AGENTS.md'])inscripts/markdown-test-inputs.mjsnames five readers (entries./*andAGENTS.md). All five ran in one call,pnpm exec vitest run --maxWorkers=2overcheck-doc-links,check-installed-spec-pin-claims,check-required-check-set,check-shell-escape-residueanddollar-dialect-alias-census(all underscripts/__tests__/):Test Files 5 passed (5),Tests 260 passed (260), verify-lockVERDICT command-exit 0.grep -naPfor C0/DEL bytes exit 1 (no hits); control leg on a constructed byte, 1 hit.pnpm lint(repo-wide; this diff touches no linted source) and the fullpnpm test.AGENTS.mdships in no package.Acceptance notes
Claude-Session+Co-authored-by: Claude). The harness's attribution reminder in this session asked for a model-named co-author line; the commit followed the rule instead. That is the precedence the ruling relies on, used once.Claude-Session, or did those seats never write one?). The branch commit carries both lines. Carrier: the seat that lands this PR.Session:
https://claude.ai/code/session_01EBx9rvB7dufCz4at53x35U维护者速读(草稿)
改了什么:在 objectui 根目录
AGENTS.md的「多 agent 协作纪律」一节里加了一条:agent 的提交信息结尾统一用两行不带模型名的署名(会话链接 + 通用的 Claude 共同作者),PR、评论、changeset、文档和代码注释里也不写模型名。正文直接照抄 objectstack 仓已有的同一条规则,只删掉了「由 pre-push 钩子拦截」那半句,因为本仓没有、也不加这个钩子。为什么改:objectstack 仓早已写明这条规则,objectui 的
AGENTS.md却一个字没提,在本仓干活的 agent 就可能照着工具的默认提示写上模型名;而合并时这行署名会原样进入main的历史,事后不改写。您 9 月 18 日在本卡上裁定方案 A:只补文字,不加门禁。风险与代价(含回滚):只改给 agent 读的说明文字,不影响任何代码、测试或发版。代价是本仓仍然没有机械拦截,效果取决于 agent 读到并照做;另外两个仓各存一份同文规则,以后改一边要记得同步另一边。回滚:revert 本 PR 唯一的那个 commit(5 行)即可。
席位意见:
你要做的:看一眼这 5 行 diff,同意就在本 PR 上点 Approve;之后翻 ready、入队由席位完成。
Generated by Claude Code