Repository navigation
ci: review up to 10 batches, five per wave - #239
Conversation
Large promotions (dependency refresh plus a gated feature) need nine file-boundary batches. Raising max_batches to 10 and max_parallel_batches to 5 keeps every review within the existing two-wave, two-session workflow and its 190-minute timeout; each wave still runs one batch-length of model time. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🤖 AI Code Review (two independent reviewers)Reviewer responses: codex/ALL claude/ALL Status: PASSED — No blocking issues found All verification is complete. Every old-number occurrence in the repo corresponds exactly to a hunk this diff rewrites (the "eight panel calls → two" sentence at Chair Review — PR #239: ci: review up to 10 batches, five per waveIMAGE_COVERAGE: NOT_REQUIRED (The manifest lists no images and no unavailable/omitted entries; both panel reports also declared NOT_REQUIRED.) 1. SummaryThis PR raises the PR-review batching limits from 8 batches / 4 per wave to 10 batches / 5 per wave: the only executable change is two integers in 2. Issues per lensL2 — Code correctnessMINOR (downgraded from one model's MAJOR) — peak reviewer-CLI concurrency rises 25 % on an unchanged runner pod. Claude flagged this MAJOR; Codex found no issue. I verified the facts: MINOR (one model) — the two-wave invariant is test-guarded but not runtime-guarded. MINOR (one model) — up to 10 concurrent Bedrock conversations per wave raises throttling/retry-exhaustion odds. The worst-case wall-clock bound is per-cell, not per-count, so the 190-minute budget still holds; this only increases re-run probability. Both models agree all limit-consumer arithmetic (packing, admission refusal size, wave assignment, chair stdin 252,096 B ≤ 262,144 B, test invariants) is correct at the new values; I independently confirmed each. L3 — Security / AWS mutation safetyNo blocking findings — both models agree. No AWS-mutating path, IAM policy, secret, or ADR-005-governed surface is touched. I confirmed the credential-lifetime invariant survives the wider wave (wave duration is bounded by the slowest cell, not cell count, so 40m20s panel / 34m20s chair stay inside each fresh 3600 s session), and the review-integrity properties are preserved: batch-1 sensitive-file capacity is still one MINOR (one model, accepted-design observation) — admission now accepts up to 1,128 KiB of diff while each reviewer still sees ~100 KiB plus a path list, so the non-sensitive cross-batch blind spot grows proportionally. The sensitive-files-fit-batch-1 guarantee and the no-downgrade rule for security findings are unchanged. L4 — Observability / data-integration correctnessNo blocking findings — both models agree. No Steampipe, CIS, collector, or AgentCore diagnosis code is in the diff. Per-batch log grouping, MINOR (one model) — with 10 batches the combined comment will almost certainly exceed L5 — Docs/ADR consistencyNo blocking findings — both models agree. I swept the repo for every old-number phrasing variant ( 3. Suggestions
4. VerdictThe single contested MAJOR (runner capacity) is verified factual in its concurrency math but speculative in its failure claim, fail-closed in effect, and flagged by only one of two independent models — downgraded to MINOR. All adopted findings are MINOR; arithmetic, tests, security boundaries and documentation are consistent at the new limits. Triggered by commit |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Summary
review-limits.json:max_batches8 → 10,max_parallel_batches4 → 5, so a review still takes at most two waves per phase (two fresh one-hour AWS sessions) inside the existing 190-minute job timeout.CLAUDE.md/AGENTS.md(markers regenerated) and the bounds table updated; the pre-read cap becomes 1,128 KiB.Why
#227 (dependency/runtime refresh plus the gated six-pillar diagnosis) now packs into 9 batches and is rejected before any model call.
Resource note
Each wave runs up to 5 batches: 10 reviewer CLIs or 5 chairs on the
sample-awsopsrunner pod (2 CPU, 8 GiB request, 12 GiB limit), up from 8/4. Wall-clock per wave is unchanged (bounded by one batch).Test plan
python3 -m pytest -q scripts/v2/test_pr_review_batches.py scripts/v2/test_pr_review_pipeline.py(89 passed,TMPDIR=/tmp)check_ai_context.pyforscripts/anddocs/runbooks/🤖 Generated with Claude Code