From 1a6772619983cd45914c4694bb91d91fd3f4c506 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 06:46:24 +0000 Subject: [PATCH 1/3] docs(agents): act on maintainer PR comments via pr-review-fixer Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_016kJsstrWAyEUDmGUGfxtWn --- docs/agents/autonomic-issues.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/agents/autonomic-issues.md b/docs/agents/autonomic-issues.md index 6cca3187..f3586d0e 100644 --- a/docs/agents/autonomic-issues.md +++ b/docs/agents/autonomic-issues.md @@ -42,7 +42,8 @@ All four hold → label `ready-for-agent`. Missing (a)/(b) → `needs-info`. Mis ## Fix firing -1. **Repair before build**: list Linear issues labeled `agent` with status `In Review` (`npx linearis issues list --team UPL --label agent --status "In Review"`) and follow each to its open linked PR — use `npx linearis issues read --with-attachments` to find the linked GitHub PR, then `gh pr view ` to check its state; the Linear issue is the source of truth, nothing on GitHub needs to mirror it. If any such PR is conflicted with main or CI-red on its current head, restoring it (merge main in, get CI green through the quality gates) **is** this firing's work — then end. PRs the maintainer has left review comments on are his: leave them untouched. Broken agent PRs always stay counted against the cap — unreviewed PRs are exactly the review debt the cap limits. +1. **Repair before build**: list Linear issues labeled `agent` with status `In Review` (`npx linearis issues list --team UPL --label agent --status "In Review"`) and follow each to its open linked PR — use `npx linearis issues read --with-attachments` to find the linked GitHub PR, then `gh pr view ` to check its state; the Linear issue is the source of truth, nothing on GitHub needs to mirror it. If any such PR is conflicted with main or CI-red on its current head, restoring it (merge main in, get CI green through the quality gates) **is** this firing's work — then end. Broken agent PRs always stay counted against the cap — unreviewed PRs are exactly the review debt the cap limits. + **Maintainer comments**: an agent PR with unresolved review comments from the maintainer is also this firing's work, ahead of building anything new. Check out the PR's head branch (it works on the current branch), run the `pr-review-fixer` skill (Skill `pr-review-fixer`) there, and treat the maintainer's comments as the selection — implement all of them, through the quality gates, and push to that same PR branch, never a new one. A comment too large or ambiguous to apply confidently gets a reply with a proposal instead of a push. Then end. 2. **Cap check**: same `agent` + `In Review` count as above; at or above 3 → end silently. 3. **Pick one issue**: `ready-for-agent` issues, skipping any with an assignee or an open linked PR, ordered by the native `priority` field — Urgent(1) → High(2) → Medium(3) → Low(4) → No priority(0) — oldest first within each rank (`npx linearis issues list --team UPL --label ready-for-agent --fields identifier,priority,createdAt`, sorted client-side since `--order-by` only covers `created`/`updated`). None eligible → end silently. 4. **Claim**: apply `agent` and move status to `In Progress` (`npx linearis issues update --labels agent --label-mode add --status "In Progress"`) and post a claim discussion (timestamp + branch name) via `npx linearis issues discuss --body "..."` before any work. Branch naming: generate the name per `docs/git-conventions.md` (issue-linked variant, e.g. `fix/UPL-448/consolidate-set-types`), overriding any pre-assigned `claude/...` name. From 7ec34a518159abe6b56264756b2ec1ffad6d1f5c Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 09:31:42 +0000 Subject: [PATCH 2/3] docs(agents): let fix worker triage maintainer comments itself Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_016kJsstrWAyEUDmGUGfxtWn --- docs/agents/autonomic-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/agents/autonomic-issues.md b/docs/agents/autonomic-issues.md index f3586d0e..c77f0b75 100644 --- a/docs/agents/autonomic-issues.md +++ b/docs/agents/autonomic-issues.md @@ -43,7 +43,7 @@ All four hold → label `ready-for-agent`. Missing (a)/(b) → `needs-info`. Mis ## Fix firing 1. **Repair before build**: list Linear issues labeled `agent` with status `In Review` (`npx linearis issues list --team UPL --label agent --status "In Review"`) and follow each to its open linked PR — use `npx linearis issues read --with-attachments` to find the linked GitHub PR, then `gh pr view ` to check its state; the Linear issue is the source of truth, nothing on GitHub needs to mirror it. If any such PR is conflicted with main or CI-red on its current head, restoring it (merge main in, get CI green through the quality gates) **is** this firing's work — then end. Broken agent PRs always stay counted against the cap — unreviewed PRs are exactly the review debt the cap limits. - **Maintainer comments**: an agent PR with unresolved review comments from the maintainer is also this firing's work, ahead of building anything new. Check out the PR's head branch (it works on the current branch), run the `pr-review-fixer` skill (Skill `pr-review-fixer`) there, and treat the maintainer's comments as the selection — implement all of them, through the quality gates, and push to that same PR branch, never a new one. A comment too large or ambiguous to apply confidently gets a reply with a proposal instead of a push. Then end. + **Maintainer comments**: an agent PR with unresolved review comments from the maintainer is also this firing's work, ahead of building anything new. Check out the PR's head branch (it works on the current branch), run the `pr-review-fixer` skill (Skill `pr-review-fixer`) there. This firing is unattended, so skip Phase 3's wait for a reply and make the selection yourself: read each proposed fix and judge it **must** (do now), **nice to have** (do it if small and clearly right), or **defer** (leave it, reply with why or a proposal). Apply the must/nice items through the quality gates and push to that same PR branch, never a new one. Then end. 2. **Cap check**: same `agent` + `In Review` count as above; at or above 3 → end silently. 3. **Pick one issue**: `ready-for-agent` issues, skipping any with an assignee or an open linked PR, ordered by the native `priority` field — Urgent(1) → High(2) → Medium(3) → Low(4) → No priority(0) — oldest first within each rank (`npx linearis issues list --team UPL --label ready-for-agent --fields identifier,priority,createdAt`, sorted client-side since `--order-by` only covers `created`/`updated`). None eligible → end silently. 4. **Claim**: apply `agent` and move status to `In Progress` (`npx linearis issues update --labels agent --label-mode add --status "In Progress"`) and post a claim discussion (timestamp + branch name) via `npx linearis issues discuss --body "..."` before any work. Branch naming: generate the name per `docs/git-conventions.md` (issue-linked variant, e.g. `fix/UPL-448/consolidate-set-types`), overriding any pre-assigned `claude/...` name. From eb1f6890fd293046fbdbcfdf6270b020f40ff4e7 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 10:01:47 +0000 Subject: [PATCH 3/3] docs(agents): fix worker handles all unresolved PR comments Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_016kJsstrWAyEUDmGUGfxtWn --- docs/agents/autonomic-issues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/agents/autonomic-issues.md b/docs/agents/autonomic-issues.md index c77f0b75..e5fb62c7 100644 --- a/docs/agents/autonomic-issues.md +++ b/docs/agents/autonomic-issues.md @@ -43,7 +43,7 @@ All four hold → label `ready-for-agent`. Missing (a)/(b) → `needs-info`. Mis ## Fix firing 1. **Repair before build**: list Linear issues labeled `agent` with status `In Review` (`npx linearis issues list --team UPL --label agent --status "In Review"`) and follow each to its open linked PR — use `npx linearis issues read --with-attachments` to find the linked GitHub PR, then `gh pr view ` to check its state; the Linear issue is the source of truth, nothing on GitHub needs to mirror it. If any such PR is conflicted with main or CI-red on its current head, restoring it (merge main in, get CI green through the quality gates) **is** this firing's work — then end. Broken agent PRs always stay counted against the cap — unreviewed PRs are exactly the review debt the cap limits. - **Maintainer comments**: an agent PR with unresolved review comments from the maintainer is also this firing's work, ahead of building anything new. Check out the PR's head branch (it works on the current branch), run the `pr-review-fixer` skill (Skill `pr-review-fixer`) there. This firing is unattended, so skip Phase 3's wait for a reply and make the selection yourself: read each proposed fix and judge it **must** (do now), **nice to have** (do it if small and clearly right), or **defer** (leave it, reply with why or a proposal). Apply the must/nice items through the quality gates and push to that same PR branch, never a new one. Then end. + **Review comments**: an agent PR with any unresolved review comments (the maintainer's, review bots', anyone's) is also this firing's work, ahead of building anything new. Check out the PR's head branch (it works on the current branch), run the `pr-review-fixer` skill (Skill `pr-review-fixer`) there on all of its unresolved feedback. This firing is unattended, so skip Phase 3's wait for a reply and make the selection yourself: read each proposed fix and judge it **must** (do now), **nice to have** (do it if small and clearly right), or **defer** (leave it, reply with why or a proposal). Apply the must/nice items through the quality gates and push to that same PR branch, never a new one. Then end. 2. **Cap check**: same `agent` + `In Review` count as above; at or above 3 → end silently. 3. **Pick one issue**: `ready-for-agent` issues, skipping any with an assignee or an open linked PR, ordered by the native `priority` field — Urgent(1) → High(2) → Medium(3) → Low(4) → No priority(0) — oldest first within each rank (`npx linearis issues list --team UPL --label ready-for-agent --fields identifier,priority,createdAt`, sorted client-side since `--order-by` only covers `created`/`updated`). None eligible → end silently. 4. **Claim**: apply `agent` and move status to `In Progress` (`npx linearis issues update --labels agent --label-mode add --status "In Progress"`) and post a claim discussion (timestamp + branch name) via `npx linearis issues discuss --body "..."` before any work. Branch naming: generate the name per `docs/git-conventions.md` (issue-linked variant, e.g. `fix/UPL-448/consolidate-set-types`), overriding any pre-assigned `claude/...` name.