Skip to content

Consensus loop: repeated review blockers should route to fix or human-blocked instead of spawning more reviewers #42

Description

@MarketingChronoAi

Problem

The controller records blocked rows and review evidence, but there is no general repeated-blocker cap for reviewer redispatch. If the same reviewer role keeps producing the same reject/comment class for the same PR/head, the loop may keep spawning new reviewers instead of taking the next productive action.

Confirmed missing behavior

  • No normalized repeated-blocker signature.
  • No threshold for same blocker repeated N times.
  • No forced transition from repeated review blocker to review-fix or human-blocked.

Evidence

  • /Users/chronoai/.claude/skills/consensus-loop/scripts/codex_refactor_loop/wakeup_runner.py: _blocked() records blocked rows but does not enforce a repeated-blocker threshold.
  • /Users/chronoai/.claude/skills/consensus-loop/scripts/codex_refactor_loop/wakeup_runner.py: _record() writes ledger entries without a repeated-blocker cap.
  • /Users/chronoai/.claude/skills/consensus-loop/scripts/codex_refactor_loop/wakeup_plan.py: redispatch planning is based on missing/stale live-head evidence, not blocker signature repetition.

Suggested fix

  • Store normalized blocker signatures keyed by PR number, head SHA, role, verdict, and concise blocker reason.
  • After the same blocker repeats 2 or 3 times, stop review redispatch.
  • If the blocker is actionable, dispatch review-fix.
  • If the blocker is non-actionable or requires maintainer judgment, mark human-blocked.

Acceptance criteria

  • Repeating the same role/verdict/blocker does not produce unlimited new reviewer rounds.
  • The controller records a durable repeated_review_blocker decision.
  • Tests cover repeated reject and repeated comment outcomes.

Review status

This was independently reviewed in /Users/chronoai/Desktop/proposed-main-repo-issues-review-gate.md and classified high confidence.

⟦AI:AUTO-LOOP⟧
ISSUE_RAISED:review-gate-hardening:repeated-review-blockers

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions