Skip to content

Commit 45bda83

Browse files
docs(agents): narrow the executor never-writes-assignee clause to the card's assignee (#20077)
Fixes #20076 Clause-②: no ## What changed One clause in `AGENTS.md`, Multi-agent working discipline, the paragraph beginning "Claim the issue BEFORE you write any code": - before: "... and it ⛔ never writes the assignee and ⛔ never yields a card it was dispatched to." - after: "... and it ⛔ never writes the card's assignee (the PR's assignee mirrors the card's, set by the executor at pr_create) and ⛔ never yields a card it was dispatched to." Nothing else in the paragraph, the file, or the repo is touched; no gate is added. Wording follows the maintainer-approved option A quoted on the card, aligned with the PR-assignee rule of #20063 (os-dev.md rule 2 / execution-duties.md). No issue or PR number enters AGENTS.md prose. Line delta: +2 / -1 (net +1). The paragraph wraps at 91-98 columns; the 81 added characters exceed the slack of the whole paragraph at that width (68 columns), so net 0 would need a wider-than-house wrap or a reflow of every line. The minimal reflow splits only the one edited line into two; the following lines are byte-identical. ## Tier `node scripts/pm/check-governed-merges.mjs --test AGENTS.md` answers GOVERNED, landing tier H: lands only by the maintainer's hand or an authorized APPROVED review, then the owning seat lands it. Draft; no ready flip, no enqueue from the executor. ## Verification (HEAD `74a02da9`) `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` derived 15 families from the 1-path change set; all 15 run, each exit 0, reconciled with `--ran`: "15 derived famil(ies) accounted for — 15 run, 0 NOT-MEASURED (a DERIVED zero — all 15 recorded an exit code and none of them is 3)". Includes `check:pm-governed-prose` (2 instruction surfaces name all 6 governed surfaces), `check:pm-skill-id-lint`, `check:pm-governed-merges`, `check:nul-bytes`. Also run beyond the derivation: `pnpm check:doc-authoring` exit 0 and `node scripts/check-published-list-mirrors.mjs` exit 0. No changeset: AGENTS.md is a repo-root file on the fast-track list, ships in no package `files[]`. ## 维护者速读(草稿) **改了什么**:AGENTS.md 认领段里一句话:「派发来的执行者永不写 assignee」改成「永不写**卡的** assignee(PR 的 assignee 镜像卡的,由执行者在开 PR 时设)」。只动这一处,不加门禁。 **为什么改**:您已批准的 PR assignee 规则要求 dev 开 PR 时把 PR 的 assignee 设成与卡相同;原句单独读会和这条规则冲突,agent 可能因此不设 PR assignee,或反过来误改卡的 assignee。 **风险与代价(含回滚)**:纯文字,不影响任何运行时或门禁;净增 1 行。回滚即还原这一句。 **席位意见**: **你要做的**:读上面这一句改动,同意则批准(APPROVED review)或直接合并。 --- _Generated by [Claude Code](https://claude.ai/code/session_01LNRg6FUMXYWgkAbDsfZpC8)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent 7ddf396 commit 45bda83

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

‎AGENTS.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,8 @@ a PM dispatch sets the assignee (step 1) and posts the `Claim:` naming the dev's
403403
both on the dev's behalf. A dispatched executor inherits both records: it verifies that the
404404
newest `Claim:` names its branch (on a mismatch it stops and reports), posts no second claim —
405405
the dispatch's `Claim:` is its identity and its own record is the report comment — and it ⛔ never
406-
writes the assignee and ⛔ never yields a card it was dispatched to. Before writing code, re-read
406+
writes the card's assignee (the PR's assignee mirrors the card's, set by the executor at
407+
pr_create) and ⛔ never yields a card it was dispatched to. Before writing code, re-read
407408
the comments — the comments decide, not the field: a `Claim:` from another session or branch
408409
(other than the dispatch that sent you) means taken whatever the field says — pick another or
409410
ask, ⛔ never reassign; a bare assignee with no `Claim:` under it is a dispatch's step 1, not a

0 commit comments

Comments
 (0)