Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ a PM dispatch sets the assignee (step 1) and posts the `Claim:` naming the dev's
both on the dev's behalf. A dispatched executor inherits both records: it verifies that the
newest `Claim:` names its branch (on a mismatch it stops and reports), posts no second claim —
the dispatch's `Claim:` is its identity and its own record is the report comment — and it ⛔ never
writes the card's assignee (nor the PR's: `pr_create` carries none; the seat sets it at hand-over,
writes the card's assignee (the PR's is the claim's `Account:`, carried by `pr_create`; hand-over is the seat's,
`.claude/agents/os-dev.md` rule 2) and ⛔ never yields a card it was dispatched to. Before writing code, re-read
the comments — the comments decide, not the field: a `Claim:` from another session or branch
(other than the dispatch that sent you) means taken whatever the field says — pick another or
Expand Down
9 changes: 5 additions & 4 deletions scripts/pm/fleet-write/ops.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,10 @@
* author (pm-dispatch SKILL.md, ACCEPT 之后的路径分叉 ③). The maintainer,
* verbatim: 「应该是开发完了你审核通过才会推送给我审核」. So the draft open
* summons nobody: a `pr_create` is the create plus the legs the caller spelled,
* nothing reads the pull's files there, and a dev's `pr_create` carries no
* `assignees` at all — the seat's own account is never assigned to or
* requested on a pull. The one follow-up left is `pr_ready`. The platform
* nothing reads the pull's files there, and a dev's `pr_create` carries the
* claim's `Account:` as its `assignees` (ruling A on #29828, os-dev.md rule 2;
* hand-over is the seat's) — the seat's own account is never requested on a
* pull as a reviewer. The one follow-up left is `pr_ready`. The platform
* summons a code owner only when a pull is opened READY or marked ready for
* review — measured on this repository's own Tier H pulls, the CODEOWNERS
* request arrived at `ready_for_review` and never at the draft create — and a
Expand Down Expand Up @@ -2122,7 +2123,7 @@ export const OPS = Object.freeze({
optional: Object.freeze(['body', 'assignees', 'labels']),
// ⛔ No `governedReview` here (header: "The governed-review follow-up"): the draft open summons nobody. A human
// sees the pull at the seat's hand-off — `pr_request_reviewers` after ACCEPT + a same-head PASS — and a dev's
// create carries no `assignees`; the leg stays for the author-is-approver fallback, never for a seat's account.
// create carries the claim's `Account:` as `assignees` (ruling A on #29828); never a reviewer request on the seat.
// `draft: true` is FORCED — a seat cannot open a ready PR through the relay.
requests: (a, repo) => [
{ verb: 'POST', path: `/repos/${repo}/pulls`, body: { title: a.title, head: a.head, base: a.base, ...('body' in a ? { body: a.body } : {}), draft: true } },
Expand Down
Loading