Skip to content

Autonomy contract: make the Autonomy: header load-bearing (AUTONOMY.md) #34

Description

@Jammy2211

Overview

The Mind prompt header blesses Autonomy: safe | supervised | human-required and the Intake Agent persists it — but nothing consumes it: every workflow run stops at the same human checkpoints regardless. This task writes the canonical autonomy contract (PyAutoBrain/AUTONOMY.md) that defines what each level means at each checkpoint, plus the guardrails (work-type caps, explicit --auto activation, calibration log). Doctrine only — skill behaviour changes land in the follow-up series (PyAutoMind/feature/autonomy/, task 4). First task of the 10-task autonomy series.

Plan

  • Write PyAutoBrain/AUTONOMY.md — one canonical page: checkpoint inventory, per-level behaviour table, per-work-type caps, activation rule, calibration-log spec, hard invariants.
  • Update PyAutoBrain/skills/WORKFLOW.md — link checkpoints to the contract; refresh the model doctrine from "Opus plans, Sonnet executes" to model-agnostic tiers (Fable-era judgment tier, stated so nothing breaks if access lapses).
  • Add a single pointer line in PyAutoBrain/AGENTS.md (no duplicated prose).
  • PyAutoMind: pointer from the README Autonomy: key to the contract; seed autonomy_log.md (append-only calibration log) with its column schema.
  • No skill behaviour changes in this task.
Detailed implementation plan

Affected Repositories

  • PyAutoBrain (primary)
  • PyAutoMind (pointer + calibration-log seed)

Branch Survey

Repository Current Branch Dirty?
./PyAutoBrain main clean
./PyAutoMind main clean

Suggested branch: feature/autonomy-contract
Work Classification: Library (organism repos)
Worktree root: ~/Code/PyAutoLabs-wt/autonomy-contract/

Implementation Steps

  1. PyAutoBrain/AUTONOMY.md with sections:
    • Checkpoint inventory — Plan-Mode approval (start_dev), ship PR sign-off (## API Changes / ## Scripts Changed), Heart YELLOW acknowledgement, merge/close prompt, pre_build minor-version ask, post-merge cleanup confirmation.
    • Per-level behaviour tablesafe (proceed + log; plan written to the issue), supervised (proceed; batch questions to the issue — checkpoint-and-continue, defined fully in series task 5), human-required (today's behaviour) × each checkpoint.
    • Per-work-type caps — refactor/test/maintenance may run safe; feature/bug capped at supervised until the calibration log justifies raising; release always human-required. A prompt header never exceeds its cap.
    • Activation rule — levels bind only under an explicit --auto launch; default runs are unchanged. Autonomy is opt-in per invocation, never ambient.
    • Calibration log specPyAutoMind/autonomy_log.md, append-only rows: date, task, level, gate results, outcome (merged-unchanged / amended / rejected).
    • Hard invariants — merge/close always human; never modify code to make tests pass; autonomous runs end at PR-open; Heart YELLOW/RED is a human checkpoint at every level.
  2. PyAutoBrain/skills/WORKFLOW.md — replace checkpoint prose with links into AUTONOMY.md; rewrite "Model delegation" as strongest-available (judgment/orchestration/tutorial prose) / mid (planning fallback) / fast (mechanical execution) tiers, naming Fable as the current strongest tier.
  3. PyAutoBrain/AGENTS.md — one pointer line to AUTONOMY.md.
  4. PyAutoMind/README.md — the Autonomy: key bullet gains a pointer to the contract; create seeded PyAutoMind/autonomy_log.md.
  5. Re-read WORKFLOW.md/AGENTS.md current state in the worktree before editing — intake formalise (PyAutoBrain#33) merged today, after the series prompts were written.

Key Files

  • PyAutoBrain/AUTONOMY.md — new canonical contract page
  • PyAutoBrain/skills/WORKFLOW.md — checkpoint links + model-tier doctrine
  • PyAutoBrain/AGENTS.md — pointer line
  • PyAutoMind/README.mdAutonomy: key pointer
  • PyAutoMind/autonomy_log.md — new, seeded calibration log

Verification

Doc-only: link resolution across the edited pages, no duplicated doctrine (ORGANISM.md single-source rule), python3 PyAutoMind/scripts/repos_sync.py --check still clean.

Adversarial constraints (from the series review — keep these)

  • Sizing is a model's own estimate: caps + explicit --auto + calibration log are mitigations, not extras.
  • Feature Agent sized this large/split-into-phases; overridden to medium/no-phasing — the series is the phasing. Recorded divergence.

Original Prompt

Click to expand starting prompt

See PyAutoMind/issued/1_autonomy_contract.md (moved from feature/autonomy/1_autonomy_contract.md on issue creation) — filed 2026-07-08 as task 1 of the autonomy series with header Type: feature / Target: autonomy / Difficulty: medium / Autonomy: human-required / Priority: high.

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