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