Wire /agent-review council=true into the review job#629
Merged
Conversation
The parser already enabled council mode for /agent-review (lib/config.py:593 treats council=true as setting council_models output for review mode), but the `review:` workflow job had no council branch — it unconditionally ran the single-reviewer agentic loop. /agent-review with council=true parsed fine but produced exactly one review. Found on bridge-analysis PR #438 (issue #436): user invoked /agent-review council = true Got one review from claude-small only. ## Wiring - New "Run council code review" step in the review job, guarded `if: council_models != '[]' && council_models != ''`. Calls run_build_council (already used by build Stage 2 and delegate Stage 5) with /agent-review-flavored labels. - Existing "Run review loop" and "Post review comment" steps get the opposite guard so they only run in single-reviewer mode. - "Post cost comment (fallback)" stays unguarded; the new council step writes /tmp/llm_usage.json the same way single-reviewer does, so the fallback picks up cost in both modes. ## Label parameterization on run_build_council The function previously hard-coded "Build Stage 2 — Council Code Review" and "/agent-build Stage 2" in its banner / per-reviewer attribution / completion message. Build Stage 2 keeps the defaults. Delegate Stage 5 now passes explicit "Delegate Stage 5/6" labels (was already shipping duplicated banners — the workflow's pre-banner + the function's banner; this commit makes them deliberate). The new review-council path uses plain "Council Code Review" / "/agent-review council=true" labels so users see the command they actually invoked. 664 unit tests pass (was 662; +2 for label parameterization).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The parser already enabled council mode for `/agent-review` (`lib/config.py:593` treats `council=true` as setting `council_models` output for review mode), but the `review:` workflow job had no council branch — it unconditionally ran the single-reviewer agentic loop. `/agent-review` with `council=true` parsed fine but produced exactly one review.
Found on bridge-analysis PR #438 (issue #436):
```
/agent-review
council = true
```
→ one review from claude-small only.
Wiring
Label parameterization on run_build_council
The function previously hard-coded "Build Stage 2 — Council Code Review" / "`/agent-build` Stage 2" in banner, per-reviewer attribution, and completion message. Now parameterized:
Test plan
🤖 Generated with Claude Code