LearnNewsExamplesServices
Frontmatter
id12455
titlepr-review: reframe the ≥3-cycle circuit-breaker — "scope-too-big → break-up", not "assume approval"
stateClosed
labels
enhancementaimodel-experience
assignees[]
createdAtJun 4, 2026, 12:19 AM
updatedAtJun 7, 2026, 7:18 PM
githubUrlhttps://github.com/neomjs/neo/issues/12455
authorneo-opus-grace
commentsCount3
parentIssue12442
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtJun 5, 2026, 4:12 PM

pr-review: reframe the ≥3-cycle circuit-breaker — "scope-too-big → break-up", not "assume approval"

Closed v13.0.0/archive-v13-0-0-chunk-16 enhancementaimodel-experience
neo-opus-grace
neo-opus-grace commented on Jun 4, 2026, 12:19 AM

Friction (surfaced by @tobiu, 2026-06-03; sub of #12442 — the pr-review reshape). A human reviewer says "this PR is too big, break it up" by common sense after a few cycles. The AI reviewers (me / @neo-opus-ada / @neo-gpt) did NOT — #12420 ran 8 review cycles, no break-up call, became an epic-in-disguise, now closed (everything lost, vs salvaging the ~50% good early). Common sense empirically fails for the AI → it must be codified.

Corrected Grounding

V-B-A correction from @neo-opus-grace + @neo-gpt intake: the existing pr-review Review-Loop Cost Circuit Breaker is a cost/attention mechanism, not a scope detector.

  • >24KB, file-count, additions, and discussion size are cost signals only.
  • The current breaker already excludes semantic / contract / 5-layer blockers from micro-delta approval.
  • The real missing branch is non-converging semantic churn: after the ≥3-cycle / high-cost trigger, if each review cycle keeps surfacing new distinct semantic / contract / shape blockers, the PR is wrong-shape / too large and should be decomposed instead of looping forever.

The Grounded Fix

Reframe the existing circuit-breaker payload to classify convergence at the current trigger:

  1. Semantics cleared → existing micro-delta / cost-compression path.
  2. Semantic blocker, converging → full follow-up review; the loop is making progress.
  3. Semantic churn not convergingscope-too-big break-up verdict: request changes, name the distinct concern clusters, route decomposition through epic-create, salvage converged parts, and supersede the mega-PR.

This is a verdict branch inside the existing cost circuit breaker, not a new gate and not a size threshold.

Contract Ledger

Classification: T3 (Explicit Matrix). The consumed surface is the agent-facing pr-review circuit-breaker behavioral contract. There is no typed API/config/MCP wire schema here; reviewers consume the audit-payload prose itself, so the ledger pins the behavioral surfaces and their evidence.

Target Surface Source of Authority Proposed Behavior Fallback / Edge Case Docs Evidence
.agents/skills/pr-review/audits/review-cost-circuit-breaker.md Step 1 — Convergence Assessment #12455 + @neo-opus-grace V-B-A correction At the ≥3-cycle / >24KB trigger, classify review history into (a) semantics-cleared, (b) semantic blocker converging, (c) non-converging semantic churn Bytes / size / file-count remain cost signals only; convergence is the trajectory of distinct semantic blockers across cycles Audit file Step 1 Static inspection shows all three states present; skill-manifest lint green
.agents/skills/pr-review/audits/review-cost-circuit-breaker.md Step 2a — Scope-Too-Big Break-Up Verdict #12455; #12420 8-cycle empirical anchor State (c) requires CHANGES_REQUESTED, names concern clusters, decomposes via epic-create, salvages converged parts, and supersedes the mega-PR Not another full-review cycle; not assume-approval; reuses existing trigger + blocker classes Audit file Step 2a Break-up verdict and epic-create routing present
pr-review Map pointer: .agents/skills/pr-review/SKILL.md + guide §6.3 #12455 + corrected circuit-breaker payload Update compact always-loaded pointers to the convergence classification Rule body stays in the conditional audit payload; Map delta remains minimal SKILL.md, pr-review-guide.md §6.3 Pointers mention semantics-cleared / converging / non-converging branches
Downstream overview docs Downstream docs target sync Sync stale "micro-delta only" descriptions to include convergence classification and break-up verdict No behavioral authority lives in overview docs; they mirror the skill contract ProgressiveDisclosureSkills.md, CodebaseOverview.md Overview docs no longer describe the breaker as micro-delta-only

Acceptance Criteria

  • review-cost-circuit-breaker.md reframed: ≥3 cycles / >24KB remains the cost/attention trigger, then convergence classification determines the response.
  • Non-converging semantic churn routes to a scope-too-big break-up verdict rather than another full cycle or assume-approval.
  • Break-up verdict points authors/reviewers to epic-create for decomposition and explicitly salvages converged parts.
  • pr-review Map/guide pointers and downstream overview docs are synced to the corrected behavior.
  • Static skill-manifest lint remains green.

Out of Scope

  • Using file count, byte count, additions, or discussion size as scope-too-big detectors.
  • Adding a new independent gate outside the existing circuit-breaker trigger.
  • Changing epic-create itself.

Related

#12442 (parent — pr-review reshape) · #12453 Group-E2 break-it-up reflex + OQ6 (the trigger) · #12454 (epic-create = the break-up target) · #12420 (empirical anchor: 8 cycles, closed, beyond saving).

Origin: @tobiu-surfaced, session e886ae3e.

tobiu referenced in commit 5fa9282 - "refactor(pr-review): circuit-breaker — add non-converging-churn → scope-too-big break-up verdict (#12455) (#12560) on Jun 5, 2026, 4:12 PM
tobiu closed this issue on Jun 5, 2026, 4:12 PM