feat(roles): expose pr_update to dev/doc/cell_pm/main_pm + prompt updates

Adds pr_update to _DEV_DO, _DOC_DO, _CELL_PM_DO, _MAIN_PM_DO so the
spawn manifest builder registers it on those roles' do-servers. QA,
auditor, and Board roles do not get it — QA reviews PRs but does not
edit them; Board operates above the PR layer; auditor is silent.

developer.md and documenter.md grow a verb-table row and a note next
to the open_pr workflow step calling out that pr_update — not bash-
shimmed `gh pr edit` — is the way to fix PR metadata.
This commit is contained in:
Renn F
2026-05-14 04:34:05 +02:00
parent 74b7c39612
commit b4fe0f13fa
3 changed files with 7 additions and 1 deletions
+2 -1
View File
@@ -20,7 +20,8 @@ You write code; you do not coordinate. If you find yourself thinking "let me als
| `give_me_work()` | Returns your highest-priority task or `idle`. | None. |
| `i_will_work_on(task_id, plan)` | Claims a `pending`/`needs_revision` task; resumes a `claimed`/`in_progress` task you own. Auto-creates branch on first claim. **`plan` is REQUIRED** — even on first claim. The gateway returns `tracing_gap missing=['plan']` if you call without it. On resume, pass `plan='resume: <next step>'`. | Task assigned to you (or unassigned and matches your role/team); journal `decision` recorded; non-empty `plan`. |
| `commit(message)` | Makes the git commit, auto-prefixes `[task-id]`, records a progress entry. This is the ONLY way to commit — the gateway covers the actual git operation. | Task in `in_progress`; on your branch. |
| `open_pr(task_id)` | Push your branch and open a PR. Run after your last commit, before `i_am_done`. | Task assigned to you; at least one commit; no PR yet. |
| `open_pr(task_id)` | Push your branch and open a PR. Run after your last commit, before `i_am_done`. `open_pr` is the finish line for *creating* the PR; use `pr_update` if you need to edit metadata afterward. | Task assigned to you; at least one commit; no PR yet. |
| `pr_update(task_id, title?, body?, reviewers?)` | Update an existing PR's title, body, or reviewer list. Use after `open_pr` if you need to correct title/body or assign a reviewer. At least one field must be set. **Do NOT bash-shim `gh pr edit`** — that path is blocked; this verb is the gateway-native replacement. | Task has `pr_number`; you are the assignee (or your PM). |
| `i_am_done(task_id, notes)` | Submit for QA. Auto-runs in_progress→verifying→awaiting_qa. Requires PR already open — run `open_pr` first. | At least one commit; PR open; progress entry; journal `reflect`; every acceptance criterion addressed. |
| `i_am_blocked(task_id, reason, blocker_type?, what_needed?)` | Records the blocker, escalates to your PM, idles you. `blocker_type``external` (waiting on a 3rd-party API/service), `internal` (a teammate or process), `question` (need clarification), `dependency` (waiting on another task). `what_needed` is a one-sentence concrete unblock request. Both fields are pre-gateway parity — PMs triage by class. | Task is yours and active. |
| `unclaim(task_id)` | Release this claim back to pending. Use sparingly — your work-in-progress branch survives but the task is unassigned. | Task assigned to you and in claimed/in_progress. |
+1
View File
@@ -20,6 +20,7 @@ You do NOT re-implement the developer's work. You do NOT review or critique the
| `give_me_work()` | Returns a task in `awaiting_documentation` or `idle`. | None. |
| `claim_doc_task(task_id)` | Claims the doc task; returns PR data inline. | Task in `awaiting_documentation`; you are not the original developer. |
| `commit(message)` | Commits doc changes on the task branch (auto-prefixed `[task-id]`). | Task in `in_progress`; on the task branch. |
| `pr_update(task_id, title?, body?, reviewers?)` | Update the PR's title, body, or reviewer list (e.g. to add a doc-relevant summary). At least one field must be set. **Do NOT bash-shim `gh pr edit`** — use this verb. | Task has `pr_number`; you are claimant on the doc task. |
| `i_documented(task_id, notes, files)` | Marks docs complete; transitions toward `awaiting_pm_review`. | At least one doc file in `files`; `notes` >= 20 chars. |
| `unclaim(task_id)` | Release this claim back to pending. Use sparingly — your work-in-progress branch survives but the task is unassigned. | Task assigned to you and in claimed/in_progress. |
| `resume(task_id)` | Resume a paused task. Transitions paused → in_progress. | Task assigned to you and in paused state. |
+4
View File
@@ -46,6 +46,7 @@ _DEV_DO = (
"dm",
"evidence",
"progress",
"pr_update",
*_NOTIFY_RECEIVER,
*_CHANNEL_DISCOVERY,
)
@@ -61,6 +62,7 @@ _DOC_DO = (
"dm",
"evidence",
"progress",
"pr_update",
*_NOTIFY_RECEIVER,
*_CHANNEL_DISCOVERY,
)
@@ -74,6 +76,7 @@ _CELL_PM_DO = (
"evidence",
"open_session",
"link_session",
"pr_update",
*_NOTIFY_RECEIVER,
*_CHANNEL_DISCOVERY,
)
@@ -87,6 +90,7 @@ _MAIN_PM_DO = (
"evidence",
"open_session",
"link_session",
"pr_update",
*_NOTIFY_RECEIVER,
*_CHANNEL_DISCOVERY,
)