@@ -40,6 +40,18 @@ directly; it asks the vitals faculty, and only the vitals faculty talks to the H
4040organ. The same applies when the dev workflow consults the vitals faculty for its
4141ship gate.
4242
43+ ## Autonomy (how much human checkpointing)
44+
45+ The human checkpoints across these skills — plan approval, ship PR sign-off,
46+ Heart YELLOW acknowledgement, merge/close, the ` pre_build ` version ask,
47+ post-merge cleanup — are governed by ** the autonomy contract** ,
48+ [ ` ../AUTONOMY.md ` ] ( ../AUTONOMY.md ) : what each Mind-prompt ` Autonomy: ` level
49+ (` safe ` /` supervised ` /` human-required ` ) does at each checkpoint, the
50+ per-work-type caps, and the hard invariants (merge is always human; autonomous
51+ runs end at PR-open). Levels bind ** only** under an explicit ` --auto ` launch;
52+ default runs present-and-wait at every checkpoint, exactly as the steps below
53+ describe. Do not restate checkpoint rules in a skill body — link the contract.
54+
4355## Brain agent entry points
4456
4557Reasoning is delegated to PyAutoBrain agents (` PyAutoBrain/AGENTS.md ` is authoritative):
@@ -59,13 +71,20 @@ When `pyauto-brain` is not on `PATH` and no PyAutoBrain checkout is present
5971(e.g. a GitHub-only session), perform the same reasoning inline following this
6072file and ` PyAutoBrain/AGENTS.md ` , and note that the agent was emulated.
6173
62- ## Model delegation (Opus plans, Sonnet executes)
74+ ## Model delegation (judgment tier plans, execution tier ships)
75+
76+ The workflow skills split work across ** model tiers** , not named models — the
77+ doctrine survives model access changing:
78+
79+ - ** Judgment tier** — the strongest model available to the session (currently
80+ ** Fable 5** ; previously, and as fallback, ** Opus** ). Planning, orchestration,
81+ risk judgment, anything user-facing.
82+ - ** Execution tier** — a fast, cheap model (currently ** Sonnet** ) for
83+ mechanical shell/git phases, delegated as subagents (` Agent ` tool,
84+ ` model: "sonnet" ` ).
6385
64- The workflow skills follow a ** "plan in Opus, execute in Sonnet"** split: the main
65- session stays on Opus for planning, judgment and orchestration; mechanical
66- shell/git phases are delegated to Sonnet subagents (` Agent ` tool,
67- ` model: "sonnet" ` ). This keeps judgement in the stronger model while moving bulk
68- execution to the faster, cheaper one — no manual model toggling.
86+ The main session stays on the judgment tier; bulk execution moves to the
87+ execution tier — no manual model toggling.
6988
7089** Delegated (mechanical phase only):**
7190
@@ -74,7 +93,7 @@ execution to the faster, cheaper one — no manual model toggling.
7493- ` pre_build ` — step 2 (format, generate, version bump, stage, commit, push,
7594 dispatch workflow).
7695
77- ** Stays in Opus :** planning (` start_dev ` ), environment setup
96+ ** Stays in the judgment tier :** planning (` start_dev ` ), environment setup
7897(` start_library ` /` start_workspace ` ), release triage (` review_release ` );
7998identifying affected repos, drafting the commit message and full PR body
8099(` ## API Changes ` / ` ## Scripts Changed ` ), workspace-impact analysis, the
@@ -84,31 +103,32 @@ asking for the minor version, printing the summary.
84103
85104** Subagent prompt contract (all delegated calls):**
86105
87- - ** Inputs Opus passes:** worktree path / ` $WT_ROOT ` , repo list, pre-drafted
88- commit message, pre-drafted PR body (paste verbatim via HEREDOC — never
89- rewrite), relevant URLs (library PR, issue), target branch, labels.
106+ - ** Inputs the judgment tier passes:** worktree path / ` $WT_ROOT ` , repo list,
107+ pre-drafted commit message, pre-drafted PR body (paste verbatim via HEREDOC —
108+ never rewrite), relevant URLs (library PR, issue), target branch, labels.
90109- ** Subagent's job:** run the named shell steps exactly. ` source activate.sh `
91110 before ` pytest ` / ` smoke_test ` . Verify the branch is ` feature/<task-name> `
92111 before committing — never auto-switch branches. ** Never modify code to make
93112 tests or smoke tests pass.** On failure, stop and return the failure verbatim
94113 (failing test names + traceback tail, or the shell error).
95114- ** Subagent returns:** one line per repo — test/smoke pass-fail counts, commit
96115 SHA, PR URL, cross-reference/dispatch confirmations.
97- - ** Opus after return:** interpret failures, decide routing, update registries,
98- talk to the user.
116+ - ** Judgment tier after return:** interpret failures, decide routing, update
117+ registries, talk to the user.
99118
100119** Tutorial-prose split** (separate from skill delegation — depends on what the
101120reader is there to learn):
102121
103- - ** Opus** for narrative science-teaching scripts where the docstrings/comments
104- are the product: tutorials in ` autofit_workspace ` , ` autogalaxy_workspace ` ,
105- ` autolens_workspace ` (` overview_* ` , ` start_here.py ` , ` howto* ` ). Sonnet drifts
106- to generic textbook phrasing and misses domain framing here.
107- - ** Sonnet** for code-heavy, doc-light scripts where comments are short
122+ - ** Judgment tier** for narrative science-teaching scripts where the
123+ docstrings/comments are the product: tutorials in ` autofit_workspace ` ,
124+ ` autogalaxy_workspace ` , ` autolens_workspace ` (` overview_* ` , ` start_here.py ` ,
125+ ` howto* ` ). Execution-tier models drift to generic textbook phrasing and miss
126+ domain framing here.
127+ - ** Execution tier** for code-heavy, doc-light scripts where comments are short
108128 API-usage notes: ` *_workspace_test ` , ` euclid_strong_lens_modeling_pipeline `
109129 glue, and developer/regression/smoke/parity scripts.
110130- Heuristic: * "is the reader here to learn science, or to exercise code?"*
111- Science → Opus . Code → Sonnet .
131+ Science → judgment tier . Code → execution tier .
112132
113133## Consult Memory before substantial planning
114134
@@ -127,7 +147,9 @@ pyauto-heart readiness --json # authoritative GREEN / YELLOW / RED verdict
127147```
128148
129149- ** GREEN** → proceed to execution.
130- - ** YELLOW** → surface the warnings; proceed only with explicit user acknowledgement.
150+ - ** YELLOW** → surface the warnings; proceed only with explicit user
151+ acknowledgement (a human checkpoint at ** every** autonomy level —
152+ [ ` ../AUTONOMY.md ` ] ( ../AUTONOMY.md ) ).
131153- ** RED** → stop; report what failed. Do not ship.
132154
133155Tests/smoke runs that feed the verdict are Heart's domain — invoke them through
@@ -138,11 +160,12 @@ the vitals faculty rather than re-deriving pass/fail criteria in the skill.
138160- ` /name ` references mean "use that skill"; a harness without slash commands
139161 follows the same body file directly.
140162- "Plan Mode" means: present the plan and wait for explicit user approval
141- before any file edit.
163+ before any file edit (checkpoint 1 of [ ` ../AUTONOMY.md ` ] ( ../AUTONOMY.md ) ;
164+ under an explicit ` --auto ` launch the contract's level table applies).
142165- If the user gives a development task with ** no** PyAutoMind prompt path,
143166 first write a concise prompt under the right ` <work-type>/<target>/ ` folder
144167 (original request verbatim), then continue with that path.
145- - Where a body delegates mechanical execution to a Sonnet subagent, a harness
168+ - Where a body delegates mechanical execution to an execution-tier subagent, a harness
146169 without subagents performs the same steps directly, preserving the
147170 judgment/mechanical split above.
148171
0 commit comments