Skip to content

autonomy vs source-control: contracts disagree on whether a repo-local stamp may supply the merge-admission work class #1289

Description

@kyle-sexton

This was generated by AI during a loop-lane launch-prompt design session.

Context

Two shipped contracts disagree about where the work class used for merge admission may come from.

autonomy/reference/guardrails/admission-policy.md states: "No repo-local (agent-writable)
surface may supply any admission input — rules, caps, or the work class used for admission."
autonomy/reference/trigger-dispatch.md reinforces it: the adapter "stamps, never defines," and
"no repo-local (agent-writable) surface may supply the class used for admission."

source-control/skills/babysit-loop/SKILL.md's rung partition does exactly that: it reads the
class from "the triage stamp in the item body or labels" — both repo-local and agent-writable —
and uses it as the merge-admission input.

Under the autonomy contract, a GitHub label or issue-body trailer is precisely the surface that
must not supply the class. Under babysit-loop, it is the only surface that does. Any autonomous
lane that classifies an item and then has a sibling lane merge on that classification is a
producer certifying its own work, which is the shape the autonomy rule exists to prevent.

ADR 0009 ratifying the label vocabulary does not resolve this: ratifying what a label means is
not the same as ratifying who may pin it to a specific item without review.

Proposed work

Resolve the contradiction in one direction and record it:

  • Either narrow babysit-loop's admission read to a surface the autonomy contract permits (the
    security-governance classification rules), or
  • Amend the autonomy contract to permit an operator-ratified repo-local stamp, with the
    ratification requirement stated explicitly, or
  • Define a provenance requirement on the stamp — who applied it, and whether an agent-applied
    stamp is admissible — so the distinction is machine-checkable rather than conventional.

Acceptance criteria

  • One contract owns where the admission work class comes from; the other cites it
  • The rule states whether an agent-applied stamp is admissible for merge admission
  • babysit-loop's partition text matches whichever rule wins
  • A lane cannot satisfy its own merge gate by stamping the item it is working

References

  • plugins/autonomy/reference/guardrails/admission-policy.md
  • plugins/autonomy/reference/trigger-dispatch.md
  • plugins/source-control/skills/babysit-loop/SKILL.md (rung partition)
  • melodic-software/github-iac ADR 0009

Metadata

Surfaced by two independent reviews of a loop-lane launch prompt that had the worker lane stamp
its own work class. The prompt was corrected to forbid it; the underlying contract conflict
remains.

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.work-class: structuralRefactors, migrations, contract changes; cross-cutting and hard to reverse.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions