Skip to content

RLCR loop: 7 methodology improvements for handling locked-artifact impasse and earlier stall detection #146

@Leopold-Fitz-AI

Description

@Leopold-Fitz-AI

Summary

A recent RLCR session hit the stagnation circuit breaker at round 4. The session produced productive deltas through the first ~3 rounds, then encountered a structural impasse: the only artifact the reviewer was demanding edits to was the very plan file the methodology byte-locks for the duration of the session. The loop counted failed rounds rather than recognizing the impasse class, and spent at least one full review cycle inside the contradiction before stopping.

The analysis suggests 7 narrow, reinforcing improvements to the RLCR methodology itself (no project-specific content).

Suggestions

  1. Pre-round action-locus classifier: tag each finding in-round-fixable / requires-plan-amend / requires-scope-change / requires-external-decision; short-circuit non-fixable loci to escape hatches.

  2. Semantic stall detector: similarity check between unresolved-finding sets of consecutive rounds. If round N inherits a critical finding ~verbatim from N−1 AND the round-N summary acknowledges it cannot be acted on in-loop, trigger impasse signal independent of the round counter.

  3. Schema-level blocked_by_invariant summary block: implementer declares (a) invariant name, (b) findings blocked by it, (c) canonical resolution path. Controller treats non-empty block as a hard signal to skip the next review and stop. (partially landed in feat(methodology): pre-stall reviewer awareness + re-acceptance signals (4 commits) #145 commit 4 — v1 documentation; v2 stop-hook auto-short-circuit deferred to follow-up PR)

  4. Inject session_invariants into every review prompt: enumerate byte-locked artifacts + the cancel/amend/restart procedure. Require findings whose fix mutates a byte-locked artifact to be tagged out-of-loop, not must-fix. This is the single highest-leverage change paired with 无法触发Stop Hook #3. (landed in feat(methodology): pre-stall reviewer awareness + re-acceptance signals (4 commits) #145 commit 2)

  5. Stop-hook session-outcome synthesizer: classify each round (productive / incremental / stalled / impasse) so post-mortem diagnosis is at-a-glance.

  6. Split progress vs. discovery round budgets: separate counters; first out-of-loop-tagged finding consumes the discovery budget (suggested cap: 1). Prevents impasse from eating the progress envelope.

  7. Enrich exit-reason file with structured recovery routing: resolution name + exact CLI sequence + artifact to amend + finding(s) motivating the amendment. Operator's next action becomes copy-paste, not memory.

Bottom-line

Patterns 3 + 4 together would have caught this session's impasse one round earlier and routed it to the canonical cancel/amend/restart resolution without spending a final implementation round on an unactionable critique. PR #145 lands the v1 of both (reviewer-side awareness + implementer-side schema). Patterns 1, 2, 6, 7 are reinforcing; pattern 5 is post-hoc diagnostic value.

Patterns 1, 2, 5, 6 + the v2 of pattern 3 (stop-hook auto-short-circuit) remain open.

Notes

  • All content is sanitized: no file paths, function names, branch names, business domain terms, or project identifiers.
  • The full sanitized analysis report (~1500 words) was generated by an Opus-class model from the loop's round-summary + review-result artifacts.

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