agents: review round 2 — split-PR flow, thread recency, mention boundaries, learnings cap, pm model #96

Merged
ffaerber merged 1 commits from fix/review-round2 into main 2026-07-06 19:12:28 +02:00
Owner
  1. resolve_prs matches ai/issue-N-<slug> split branches (exact-only stalled qa hand-off + autopilot merge); autopilot refuses multi-PR merges (label off, human decides); qa hand-off lists all open PRs.
  2. fetch-thread paginates and keeps the newest 100 comments (was: oldest page only).
  3. Word-boundary mentions (@internal@intern) + graceful skip instead of red runs for non-agent comments.
  4. LEARNINGS cap line-aware, keeps newest entries.
  5. @pm → minimax-m3 (gemma4 never called tools; the retro rules demand an investigating PM).
  6. Concurrency caveat documented.

All logic unit-tested against fixtures + the real #62 thread.

1. `resolve_prs` matches `ai/issue-N-<slug>` split branches (exact-only stalled qa hand-off + autopilot merge); autopilot refuses multi-PR merges (label off, human decides); qa hand-off lists all open PRs. 2. `fetch-thread` paginates and keeps the **newest** 100 comments (was: oldest page only). 3. Word-boundary mentions (`@internal` ≠ `@intern`) + graceful skip instead of red runs for non-agent comments. 4. LEARNINGS cap line-aware, keeps newest entries. 5. @pm → `minimax-m3` (gemma4 never called tools; the retro rules demand an investigating PM). 6. Concurrency caveat documented. All logic unit-tested against fixtures + the real #62 thread.
ffaerber added 1 commit 2026-07-06 19:11:46 +02:00
- publish.sh: resolve_prs matches ai/issue-N AND ai/issue-N-<slug> split branches
  (exact-only silently stalled DELEGATE:@qa and autopilot MERGE_PR on slugged
  work); qa hand-off lists all open PRs; autopilot refuses to merge multi-PR
  issues (drops the label, hands to the human) — merging one of several open
  PRs is half a change deployed. Retro's state=all resolve matches slugs too.
- fetch-thread.sh: paginate and keep the NEWEST 100 comments — a bare limit=100
  kept the OLDEST page and dropped recent decisions on long threads.
- route.sh: word-boundary mention matching ("@internal" no longer routes to
  @intern); a comment with no real agent mention now SKIPS gracefully
  (mode=skip outputs + step guards in agent.yml) instead of a red run.
- run-agent.sh: LEARNINGS.md cap is line-aware and keeps the NEWEST entries
  (retros append at the bottom; the old head -c cut the latest lessons first).
- agents.json/README: @pm gemma4 -> minimax-m3 — the retro rule demands an
  investigating PM, and gemma4 posted 0 tool calls on every run; minimax is the
  model @qa demonstrably uses tools with.
- agent.yml: document the PR-thread concurrency-group caveat.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ffaerber merged commit 63d9147cd7 into main 2026-07-06 19:12:28 +02:00
ffaerber deleted branch fix/review-round2 2026-07-06 19:12:29 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gitea/agents#96