feat(roles): add the read-only pr_reviewer role end-to-end

A global, read-only PR reviewer agent (pr-reviewer-1) that reviews inbound
external/fork PRs and posts one change-request. Wired end-to-end:

- identity: Role.PR_REVIEWER + agent + ROLE_LEVEL (QA-peer) + REVIEWER_ROLES
- lifecycle: CLAIM_RULES + ROLE_TEAM_RULES + a dedicated claim_pr_review /
  post_pr_review verb pair (distinct from QA's) + the pr_review_done action and
  its in_progress->completed transition; give_me_work / i_am_idle gain the role
- role_config: a read-only RoleConfig (allows_write=False)
- journaling: ALL_CELLS read tier so it can read internal intent like QA
- tracing: post_pr_review requires a learning entry; claim_pr_review is waived
- seeds presentation + factory prompt layer + builtin tools + the agentrole
  enum migration (037) + regenerated verb/lifecycle artifacts

Read-only at /app like QA/auditor; default-off — nothing dispatches review work
until external_pr_enabled. Foundation + role-config + enum suites green; ruff +
mypy clean; orchestrator boots.
This commit is contained in:
Renn F
2026-06-16 10:37:06 +02:00
parent beb2287316
commit 5902c0fe38
18 changed files with 294 additions and 4 deletions
+1
View File
@@ -26,6 +26,7 @@
| in_progress | awaiting_pm_review | submit_pm_review | any |
| in_progress | blocked | block | any |
| in_progress | cancelled | cancel | cell_pm, ceo, main_pm |
| in_progress | completed | pr_review_done | pr_reviewer |
| in_progress | paused | pause | any |
| in_progress | verifying | submit_verification | any |
| needs_revision | cancelled | cancel | cell_pm, ceo, main_pm |