Skip to content

loop-lane convention: blocked-lever protocol — a lane must execute in-authority levers, escalate out-of-authority ones, and signal blocked-idle before backing off #1220

Description

@kyle-sexton

Filed by AI on operator direction (attended feedback session, 2026-07-24).

Category: behavioral · Source: operator observation of a live babysit-loop lane, 2026-07-24

Problem — a lane that names its own levers, then pulls none of them

Observed cycle report from a running source-control:babysit-loop lane (standing mode):

Cycle 2 done — 0 deltas, 0 fixes, 0 merges, loop alive, next check-in 50 min. State unchanged since cycle 1. Queue = 11 human-gated PRs; #853 still the lone C2 candidate, still conflict-held. Lane cannot do anything autonomous until a lever moves: resolve #853's conflict in an isolated worktree, gate and merge; or classify more PRs so C2-mechanical become eligible; or stop.

The lane correctly diagnosed its levers — then executed none, escalated none, and backed off toward the idle ceiling. The operator returned hours later to a lane that had effectively given up minutes in. Three distinct defects:

  1. In-authority lever left unexecuted. Conflict resolution is inside the wrapped mechanic's own authority (babysit-prs's fan-out and conflict-worker contract; the loop skill's Subagents section routes exactly this through it). A conflict-held merge-eligible PR is the textbook dispatch case. If a resolved autonomy dimension (e.g. barrier handling set to escalate-only) or tier flooring denied the dispatch, the cycle report must say WHICH config denied it — "cannot do anything" with the capability present and unexplained is a defect either way.
  2. Out-of-authority levers never converted to escalations. "Classify more PRs" belongs to the triage/attended lanes — correct that the merge lane didn't do it. But the loop-lane convention's escalation contract (human-gated role label + machine-marked escalation comment) exists precisely so a blocking lever surfaces in the attended queue's attention view. The convention is explicit that telemetry is the report surface, never the escalation channel — yet the lever lived only as telemetry prose, invisible to the attended lane.
  3. No blocked-state signal to the operator. Standing-idle (queue genuinely empty of in-authority work) and blocked-idle (work exists, every path gated) are different states with the same observed behavior today: silent backoff. Blocked-idle should be loud.

Direction — a blocked-lever protocol as a loop-layer invariant

Amend the loop-lane convention (owner of loop-layer invariants) and the lane bodies that hold it by citation. Before a cycle may back off, it must run the lever ladder:

  1. Execute every identified lever inside the lane's resolved authority (tier, rung, dimension overrides). A lever the lane names in its own report is a work item for THIS cycle, not commentary.
  2. Escalate every identified lever outside its authority through the escalation contract — one tracker escalation per lever (or one consolidated item where levers share a decision), so each lands in the attended queue. Re-escalation is idempotent: an already-escalated, still-open lever is referenced, not duplicated.
  3. Classify the idle: only after 1–2 does the lane enter idle backoff, recording which state it is in — standing-idle (nothing to do) vs blocked-idle (everything gated, escalations filed) — in the durable telemetry state block.
  4. Signal on blocked-idle entry: transitioning into blocked-idle fires a proactive operator notification (the harness push-notification surface where available; the escalation items themselves are the durable fallback), so an operator learns within minutes, not hours, that the lane is fully gated on human decisions.

Fail-closed remains: nothing here widens authority. The protocol changes what a lane DOES with the levers it already recognizes — act, escalate, then rest.

Relations

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.priority: highSignificant impact, or blocks an imminent release; staff this cycle.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions