Skip to content

RLCR loop efficiency: diminishing returns from documentation-only rounds #219

Description

@damogu123

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

  1. Diminishing returns: Implementation completed in Round 0. Every subsequent round produced only documentation/wording changes with the same token cost.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. Default max_iterations=84 too high: No backpressure against the diminishing-returns pattern.

Suggested Improvements

  1. Distinguish blocking vs non-blocking ACs: Correctness/performance ACs should block exit; documentation ACs should generate warnings resolvable within the same round.

  2. Severity tiers for review findings: Blocking (missing evidence, wrong results), Significant (inconsistent metrics), Cosmetic (wording). Cosmetic findings should never alone trigger a new round.

  3. Comprehensive sweep instruction: Require the reviewer to ask 'are there any OTHER issues beyond what I am reporting?' before flagging, to batch related findings.

  4. Canonical reference for immutable section: Allow a single mutable annotation pointer to settle stale-metric discrepancies rather than generating multi-round debate.

  5. Lower default max_iterations: Default to 3-5, or introduce a 'consecutive non-implementation rounds' counter for automatic exit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions