Skip to content

decision: raise babysit_loop_merge to c3-autonomous, or leave it — the guardrail matrix has no C3 auto-merge cell #1388

Description

@kyle-sexton

This was generated by AI during triage.

Decision requested

Raise babysit_loop_merge in this repo's tracked .claude/source-control.md from c2-mechanical to c3-autonomous, or leave it.

This was carried forward as a ready-to-execute config edit. It is not: making it would put the tracked seam in conflict with the governance contract it is supposed to operate within. Filing the conflict rather than resolving it unilaterally, because a merge-authority raise is explicitly an operator-ratified act.

The conflict

plugins/autonomy/reference/guardrails.md's matrix sets the C3 merge policy to human merge — flatly, with no promotion clause. Compare the neighbouring cells, which the same table words deliberately differently:

Class Merge policy (verbatim)
C2 auto-merge ELIGIBLE after per-class promotion trigger; ships human-gated
C3 human merge
C4 human merge always
C5 human merge always

C2 names a promotion path. C4/C5 say "always" and work-classes.md confirms they never promote. C3 sits between: not "always", but no promotion trigger either.

work-classes.md's promotable-cell table lists exactly three rows — C2 auto-merge, C3 AI review advisory→blocking, and C4/C5 merge (never promotes). There is no C3 auto-merge cell, so there is no evidence predicate a C3 merge raise could satisfy. The one C3 row promotes AI review from advisory to blocking — a verification knob, not a merge-authority knob.

Meanwhile babysit-loop's SKILL.md does implement c3-autonomous (step 3: "at c3-autonomous, C2 and C3"), and the loop-lane convention describes higher rungs as "further tracked-seam flips — recorded, human-ratified". So the lane mechanism offers a rung the guardrail matrix does not authorize.

Second, independent problem: the current rung's own evidence

Even c2-mechanical — already live — has an unmet predicate. work-classes.md suggests ≥20 autonomous C2 completions over ≥14 days with 100% deterministic-gate pass and 0 human-reverted merges before the C2 auto-merge cell is eligible.

Live check of this repository: all 651 merged PRs were merged by kyle-sexton. Zero autonomous merges, ever. No autonomy binding file exists here to record a promotion either. So the C2 cell is enabled by adoption but has not earned its evidence, and there is no telemetry from which C3 confidence could be built.

Options

  1. Leave at c2-mechanical; let the C2 rung earn its evidence first. Recommended. Costs throughput now, but it is the only option that does not require resolving a contract conflict first, and the evidence it generates is the input any later C3 decision needs.
  2. Amend the guardrail contract, then raise. If C3 auto-merge is genuinely wanted, the honest sequence is: add a C3 auto-merge cell with an evidence predicate to work-classes.md, update the matrix row, then flip the seam. Larger than a one-line edit, and it is a change to the governance surface itself.
  3. Raise the seam anyway. Rejected as an option to take silently — it makes the tracked config assert an authority the contract withholds, and the whole point of a seam-only, human-ratified raise is that it is reviewable against the contract.

Impact if raised (live counts, 2026-07-25)

40 open agent-ready items, all label-stamped: 3 mechanical, 34 scoped, 3 structural. At c2-mechanical 3 are merge-eligible; at c3-autonomous, 37.

Note these numbers move fast — the same count read 50, then 44, then 40 within one day as the backlog drained. Re-run before deciding.

full-autonomy is not recommended under any branch: over c3-autonomous it adds only C4 structural and C5 untrusted-provenance — refactors, migrations, contract changes, and fork PRs — which are the worst candidates for unattended landing, for near-zero throughput gain.

Related

Context: #1288#1295 (loop-lane issues), and the prompts document landing in #1320, whose profile section records the rung and these counts.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions