Problem
In an RLCR session, the core implementation was completed in Round 0 (a parameter tuning change), but the loop continued for 4 additional rounds. All rounds 1-4 produced only documentation artifacts (ledger files, lineage records, wording corrections) triggered by incremental reviewer findings that could have been batched.
Observed Patterns
-
Diminishing returns: Implementation completed in Round 0. Every subsequent round produced only documentation/wording changes with the same token cost.
-
Incremental reviewer findings: The reviewer found issues incrementally (3 gaps in Round 0 review, 3 more in Round 1, 2 more in Round 2, 1 more in Round 3) rather than performing an exhaustive sweep in a single review.
-
AC granularity drives round count: The plan had 8 acceptance criteria, of which 4 were process/documentation criteria. These had equal blocking weight to the core performance criterion.
-
Immutable section contradiction: The goal tracker's immutable section contained early-round metrics that became stale. The inability to update it (only annotate) created persistent inconsistency that consumed reviewer attention.
-
Review scope drift to wording: Later rounds debated single-word distinctions (e.g., 'deferred' vs 'rejected') with zero implementation impact, treated at the same severity as missing evidence.
-
Default max_iterations=84 too high: No backpressure against the diminishing-returns pattern.
Suggested Improvements
-
Distinguish blocking vs non-blocking ACs: Correctness/performance ACs should block exit; documentation ACs should generate warnings resolvable within the same round.
-
Severity tiers for review findings: Blocking (missing evidence, wrong results), Significant (inconsistent metrics), Cosmetic (wording). Cosmetic findings should never alone trigger a new round.
-
Comprehensive sweep instruction: Require the reviewer to ask 'are there any OTHER issues beyond what I am reporting?' before flagging, to batch related findings.
-
Canonical reference for immutable section: Allow a single mutable annotation pointer to settle stale-metric discrepancies rather than generating multi-round debate.
-
Lower default max_iterations: Default to 3-5, or introduce a 'consecutive non-implementation rounds' counter for automatic exit.
Problem
In an RLCR session, the core implementation was completed in Round 0 (a parameter tuning change), but the loop continued for 4 additional rounds. All rounds 1-4 produced only documentation artifacts (ledger files, lineage records, wording corrections) triggered by incremental reviewer findings that could have been batched.
Observed Patterns
Diminishing returns: Implementation completed in Round 0. Every subsequent round produced only documentation/wording changes with the same token cost.
Incremental reviewer findings: The reviewer found issues incrementally (3 gaps in Round 0 review, 3 more in Round 1, 2 more in Round 2, 1 more in Round 3) rather than performing an exhaustive sweep in a single review.
AC granularity drives round count: The plan had 8 acceptance criteria, of which 4 were process/documentation criteria. These had equal blocking weight to the core performance criterion.
Immutable section contradiction: The goal tracker's immutable section contained early-round metrics that became stale. The inability to update it (only annotate) created persistent inconsistency that consumed reviewer attention.
Review scope drift to wording: Later rounds debated single-word distinctions (e.g., 'deferred' vs 'rejected') with zero implementation impact, treated at the same severity as missing evidence.
Default max_iterations=84 too high: No backpressure against the diminishing-returns pattern.
Suggested Improvements
Distinguish blocking vs non-blocking ACs: Correctness/performance ACs should block exit; documentation ACs should generate warnings resolvable within the same round.
Severity tiers for review findings: Blocking (missing evidence, wrong results), Significant (inconsistent metrics), Cosmetic (wording). Cosmetic findings should never alone trigger a new round.
Comprehensive sweep instruction: Require the reviewer to ask 'are there any OTHER issues beyond what I am reporting?' before flagging, to batch related findings.
Canonical reference for immutable section: Allow a single mutable annotation pointer to settle stale-metric discrepancies rather than generating multi-round debate.
Lower default max_iterations: Default to 3-5, or introduce a 'consecutive non-implementation rounds' counter for automatic exit.