Skip to content

Bound rejection loops with a per-phase iteration budget #174

Description

@luisherranz

This file is self-contained; agents do not need to open the source issue.

Goal
A writer/reviewer pair that disagrees on a judgment call can no longer ping-pong indefinitely; after some bounded number of rejections the run stops and surfaces to the owner instead of burning tokens silently.

Context
No phase has a maximum rejection count. Since "reject liberally" is explicitly encouraged and reviewers are told first-pass approvals should be rare, a writer/reviewer pair that disagrees on a judgment call can loop indefinitely with no escalation. The health monitor watches for stalls, not livelock — a loop that keeps producing rejections looks healthy.

Assumptions / directions to explore (open)
A per-phase iteration budget (e.g. after N rejections, stop and surface to the owner like a blocker) looks like a missing guardrail on the system's own machinery. It would also produce a useful signal for the "relaunch efficiency" metric.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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