workflow-supervisor 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,34 @@
1
1
  ---
2
2
  name: workflow-supervisor
3
- description: Coordinate open-ended, multi-step agent workflows when the user explicitly requests supervised or agent-loop coordination and at least one hard trigger is present, or when no explicit supervisor wording exists but two or more hard triggers are present. Hard triggers include multi-agent or multi-thread handoff, durable resume need, high-risk independent verification, contradictory or missing sources, multi-unit scope, repair loops, approval gates, or workflow-state documentation. Do not use for simple single-turn answers, ordinary repo inspection, medium scoped edits, typo fixes, one-off tests, or narrowly scoped changes that can be completed directly.
3
+ description: Coordinate supervised multi-agent workflows. Trigger whenever the user explicitly invokes workflow-supervisor, $workflow-supervisor, supervised workflow, dossiers, work units, worker agents, handoffs, approval gates, durable resume, or workflow-state documentation. When explicitly invoked, always run the full strict supervisor workflow regardless of task size; do not downscope, skip human approval or complete intake, skip dossiers, skip work units, skip worker-agent contracts, skip worker handoffs, or skip verification because a task appears simple. When not explicitly invoked, use only for workflows with hard supervisor triggers such as multi-agent handoff, durable resume, high-risk verification, contradictory or missing sources, multi-unit scope, repair loops, approval gates, or workflow-state documentation.
4
4
  ---
5
5
 
6
6
  # Workflow Supervisor
7
7
 
8
- Use this skill as the coordinating spine for complex work. The supervisor owns decomposition, handoff quality, loop discipline, stop gates, and outcome reporting. It may do source discovery and reporting itself, but implementation, verification, repair-ticket writing, and documentation should be treated as separate roles when the environment supports separate agents or threads.
8
+ Use this skill as the coordinating spine for supervised multi-agent work. The supervisor owns decomposition, worker-agent handoff quality, loop discipline, stop gates, and outcome reporting. It may do source discovery and reporting itself, but implementation, verification, repair-ticket writing, and documentation must be treated as separate worker-agent responsibilities when an automated worker path is available. Native threads, subagents, or the portable delegate command are transports for those worker agents.
9
+
10
+ ## Strict Explicit Invocation Contract
11
+
12
+ When the user explicitly invokes `workflow-supervisor`, `$workflow-supervisor`, or says to use this skill, the workflow is in `strict_full_workflow` mode. Task size is irrelevant. Do not decide that a request is too small, too easy, local-only, or single-file to receive the full workflow.
13
+
14
+ Strict mode always requires:
15
+
16
+ 1. Complete intake before planning, goal creation, worker delegation, implementation, publication, or irreversible action.
17
+ 2. A human approval question before implementation unless completed intake explicitly selects `autonomous_goal`.
18
+ 3. A source corpus map, even if the source corpus is only "user prompt plus current workspace".
19
+ 4. At least one bounded work unit, even for a tiny change. Use `WU-001` when there is only one unit.
20
+ 5. A dossier for each implementation work unit before implementation begins.
21
+ 6. An acceptance matrix or acceptance draft with evidence expectations before implementation begins.
22
+ 7. A worker-agent plan with implementer, verifier, repair-author, and documenter agents.
23
+ 8. A worker lifecycle record using `planned -> handed_off -> acknowledged -> reported -> verified -> closed`.
24
+ 9. Verification labeled as `self-check`, `focused-check`, or `independent-verifier`.
25
+ 10. A final disposition question or recorded completed-intake final disposition after verification.
26
+
27
+ Worker agents are mandatory when the environment provides worker, subagent, thread, or portable delegation tools. The supervisor must hand off implementation, verification, repair-authoring when needed, and documentation to separate agents with scoped dossiers and the required report schema. Run worker agents sequentially by default unless completed intake explicitly authorizes parallelism.
28
+
29
+ If the environment cannot create, message, or delegate to worker agents, record `worker_agent_unavailable` and stop for the human decision unless completed intake explicitly selected `same_session_phased`. Do not silently collapse worker agents into same-session work.
30
+
31
+ Do not nest supervisors recursively. A worker agent that receives a supervisor-scoped dossier must perform its assigned role instead of spawning another supervisor layer unless the parent supervisor explicitly asks for a child supervisor.
9
32
 
10
33
  ## Domain Neutrality
11
34
 
@@ -25,49 +48,73 @@ Use this lifecycle:
25
48
  4. If an active relevant goal exists, reuse it.
26
49
  5. If an active unrelated goal exists, do not create, reuse, complete, block, or update it. Ask the user whether to switch goals or continue with goal binding skipped.
27
50
  6. If no active goal exists and completed intake authorizes goal binding, call `create_goal` at most once with a concrete objective.
28
- 7. Do not create a goal for simple single-turn answers, ordinary scoped edits, tiny tasks, incomplete intake, or when the user says not to.
51
+ 7. Do not create a goal for incomplete intake or when the user says not to.
29
52
  8. Keep the goal objective stable. Track tactical steps in the plan, dossier, workflow docs, or `.workflow/GOAL-STATE.md` rather than trying to rewrite the goal.
30
53
  9. Use `update_goal` only for terminal `complete` or `blocked` states when the environment supports that action.
31
54
  10. Mark the goal complete only after acceptance evidence supports completion and no required supervisor work remains.
32
55
  11. Distinguish workflow/unit BLOCKED from Codex goal blocked. Mark a Codex goal blocked only after the same material blocker repeats across the required consecutive goal turns and no meaningful progress remains.
33
- 12. On resume after compaction or handoff, read the active goal first, then reconcile workflow docs and current artifacts.
56
+ 12. On resume after compaction or continuation, read the active goal first, then reconcile workflow docs and current artifacts.
34
57
 
35
58
  If the environment has no goal tool or goal creation is not permitted, state the intended goal objective in the supervisor report and continue with workflow docs or another state artifact as the fallback state container.
36
59
 
37
60
  ## Operating Contract
38
61
 
39
62
  - After complete intake, ground the workflow in sources before creating work units.
40
- - Treat skill use as instruction loading in the current agent, not as thread, subagent, goal, branch, commit, PR, publication, or other side-effect creation.
41
- - Run the complete intake gate before goal creation, thread creation, implementation, publication, or other irreversible action.
63
+ - Treat skill use as instruction loading in the current agent, not as worker delegation, thread creation, subagent creation, goal, branch, commit, PR, publication, or other side-effect creation.
64
+ - Run the complete intake gate before goal creation, worker delegation, implementation, publication, or other irreversible action.
42
65
  - Do not infer execution path, mode, delegation, final disposition, or boundaries from keywords, action verbs, or intent guesses.
43
- - Classify the workflow as `autonomous_goal` or `human_in_loop` only from completed intake answers before spawning threads or beginning implementation.
66
+ - Classify the workflow as `autonomous_goal` or `human_in_loop` only from completed intake answers before delegating workers or beginning implementation.
67
+ - Explicit invocation always requires complete intake, work units, dossiers, worker-agent contracts, scoped handoffs, report schema, and verification; do this even for trivial tasks.
44
68
  - Always produce a plan after complete intake. In `human_in_loop`, make it an approval packet and stop for approval. In `autonomous_goal`, make it an execution plan and continue only when the completed intake authorizes that path.
45
- - Do not begin implementation until complete intake and the path gate are satisfied, at least one concrete dossier exists, and no stop gate applies.
46
- - Spawn worker threads only when the environment supports threads and complete intake plus the path gate authorize delegation; otherwise emit handoff prompts or workflow docs as the fallback.
47
- - Do not start implementer, verifier, repair-author, or documenter threads before complete intake and the path gate are satisfied; role-specific start conditions are additional gates after that.
69
+ - Do not begin implementation until complete intake and the path gate are satisfied, at least one work unit exists, at least one concrete dossier exists, worker-agent contracts exist, and no stop gate applies.
70
+ - Delegate workers only through an automated supported delegation transport after complete intake and the path gate authorize delegation. If no supported transport exists, use same-session phased mode only when intake allowed it; otherwise stop as `worker_agent_unavailable`.
71
+ - Do not start implementer, verifier, repair-author, or documenter workers before complete intake and the path gate are satisfied; role-specific start conditions are additional gates after that.
48
72
  - Keep roles separate: implementers implement, verifiers verify, repair authors write tickets, documenters update workflow artifacts, and the supervisor coordinates.
49
- - Treat same-thread verification as a self-check, not independent verification.
73
+ - Treat same-session verification as a self-check, not independent verification. Separate verifier-agent verification may be labeled `independent-verifier` only when genuinely performed by a separate worker agent or thread.
50
74
  - Prefer explicit PASS/FAIL/BLOCKED states over soft completion language.
51
75
  - Stop instead of improvising when sources are missing, contradictory, materially stale, or too vague to produce acceptance criteria.
52
76
  - Keep provenance optional; require enough outcome detail for another agent to resume.
53
77
  - Treat companion skills as optional phase tools, not an automatic cascade. Use the smallest set needed for the current risk.
54
78
 
55
- ## Skills, Threads, And Subagents
79
+ ## Skills And Workers
56
80
 
57
- Using this skill does not spawn a thread or subagent. It coordinates the current agent until a separate execution mechanism is explicitly available and authorized.
81
+ Using this skill does not spawn a worker, thread, or subagent. It coordinates the current agent until a separate automated execution mechanism is explicitly available and authorized.
58
82
 
59
83
  Treat these as distinct mechanisms:
60
84
 
61
85
  - Skill: reusable instructions loaded into the current agent.
62
- - Worker thread: a separate environment-managed conversation or task created with thread tools when allowed.
63
- - Subagent: a separate worker execution mechanism when the environment exposes one.
64
- - Handoff prompt: a ready-to-send worker brief used when thread or subagent tools are unavailable or not approved.
86
+ - Worker: a role-scoped automated execution run that receives one dossier and returns one terminal report.
87
+ - Portable worker delegation: the package helper command, `workflow-supervisor delegate --agent <agent> --role <role> --unit <unit-id> --cwd <workspace> --dossier <path>`, which invokes an installed platform CLI and normalizes its report.
88
+ - Native thread or subagent: an environment-specific transport a worker adapter may use when it is available and authorized.
89
+ - Same-session phased mode: the current agent performs roles sequentially. Verification in this mode is a self-check, not independent verification.
90
+
91
+ Start workers only after complete intake and the path gate are satisfied, at least one work unit exists, a concrete dossier exists, the loop policy authorizes delegation, and the environment exposes an automated supported transport. If environment rules require explicit user approval for user-visible native thread creation, obtain it before using that transport. Do not use manual copy/paste handoff as the primary path. If automated delegation is unavailable, mark the unit `worker_agent_unavailable` unless completed intake explicitly selected same-session phased work.
92
+
93
+ ## Worker Report Schema
94
+
95
+ Every worker report back to the supervisor must use this schema:
96
+
97
+ ```text
98
+ status: PASS | FAIL | BLOCKED | PARTIAL
99
+ worker_id:
100
+ role: implementer | verifier | repair-author | documenter
101
+ work_unit_id:
102
+ dossier_id:
103
+ summary:
104
+ changed_files:
105
+ acceptance_evidence:
106
+ checks_run:
107
+ skipped_checks:
108
+ blockers:
109
+ residual_risks:
110
+ next_recommended_action:
111
+ ```
65
112
 
66
- Start worker threads or subagents only after complete intake and the path gate are satisfied, a concrete dossier exists, the loop policy authorizes delegation, and the environment allows the tool. If environment rules require explicit user approval for user-visible thread creation, obtain it before creating threads. Otherwise, output scoped handoff prompts and mark execution as `thread_unavailable` or `delegation_unavailable`.
113
+ Implementers may edit only allowed surfaces from the dossier. Verifiers must not edit. Repair authors write repair tickets from failed acceptance rows and must not expand scope. Documenters update only approved workflow or documentation surfaces after source, implementation, verification, or repair evidence exists.
67
114
 
68
115
  ## Intake Gate
69
116
 
70
- Every supervisor invocation must pass the complete intake gate before creating a goal, decomposing deeply, spawning workers, implementing, publishing, or taking irreversible action. If the current conversation already contains explicit answers to every required intake decision, record those answers and proceed. Otherwise, ask the intake packet and stop.
117
+ Every supervisor invocation must pass the complete intake gate before creating a goal, decomposing deeply, delegating workers, implementing, publishing, or taking irreversible action. If the current conversation already contains explicit answers to every required intake decision, record those answers and proceed. Otherwise, ask the intake packet and stop.
71
118
 
72
119
  Do not use keywords to skip intake. Words such as "autonomous", "agent loop", "work until done", "approval", "generate", or "create" are not substitutes for completed intake answers.
73
120
 
@@ -76,11 +123,13 @@ Required intake decisions:
76
123
  - Objective and source: what artifact, spec, repo path, document, ticket, or source set controls the work.
77
124
  - Execution path: `autonomous_goal` or `human_in_loop`.
78
125
  - Execution mode: `sequential`, `parallel_where_safe`, or `staged_parallel`.
79
- - Delegation: `same_thread_only`, `use_threads_or_subagents_if_available`, or `handoff_prompts_only`.
126
+ - Delegation: `automated_worker_delegation`, `native_threads_or_subagents_if_available`, or `same_session_phased`.
80
127
  - Final disposition: `keep_local_when_green`, `open_pr_when_green`, `push_main_when_green`, `deploy_when_green`, `publish_when_green`, or `ask_at_end`.
81
128
  - Mutation boundaries: local files, dependency installs, network calls, external services, credentials, destructive operations, and any forbidden surfaces.
82
129
  - State artifacts: whether to create workflow docs under `<workspace>/.workflow/`, use another named artifact directory, or keep state inline.
83
130
 
131
+ If the completed intake selects `.workflow/` state artifacts in a Git-backed codebase, ensure `<workspace>/.gitignore` contains `.workflow/` before creating those artifacts. Create `.gitignore` if needed. Treat `.workflow/` as local supervisor memory that must not be staged, committed, pushed, or included in a PR unless the user explicitly names workflow state as a final deliverable.
132
+
84
133
  Use this question shape for the first intake ask:
85
134
 
86
135
  ```text
@@ -88,7 +137,7 @@ Before I start the supervisor loop, answer every intake item:
88
137
  1. Objective and source: what artifact, spec, repo path, document, ticket, or source set controls the work?
89
138
  2. Execution path: autonomous_goal or human_in_loop?
90
139
  3. Mode: sequential, parallel where safe, or staged parallel?
91
- 4. Delegation: same-thread only, use threads/subagents if available, or handoff prompts only?
140
+ 4. Delegation: automated worker delegation, native threads/subagents if available, or same-session phased?
92
141
  5. Final disposition: keep local, open PR, push main, deploy/publish, or ask at the end?
93
142
  6. Boundaries: may I install dependencies, call external services, use credentials, or only edit local files?
94
143
  7. State artifacts: create `.workflow/` docs, use another artifact directory, or keep state inline?
@@ -106,28 +155,29 @@ Negative example: "Using Workflow Supervisor, generate an API and create the pro
106
155
  2. Restate the objective, constraints, non-goals, known sources, and unknowns from the completed intake.
107
156
  3. Bind or reconcile the Codex goal only after complete intake and only when no unrelated active goal prevents binding.
108
157
  4. Build or request a source corpus map. Use `$source-corpus` when source authority, freshness, or contradictions matter.
109
- 5. Split the objective into bounded work units. Use `$work-unit` for ambiguous or multi-phase goals.
158
+ 5. Split the objective into bounded work units. Use `$work-unit` for ambiguous or multi-phase goals. If the task is tiny, create exactly one work unit named `WU-001`.
110
159
  6. Choose a loop policy before starting work: sequential or parallel, retry limits, approval gates, budgets, goal update cadence, and blocker rules. Use `$loop-policy` when the policy is not obvious.
111
- 7. Build dossiers for the first implementation units and any planned verification, repair, or documentation threads. Use `$dossier-builder` when handing work to another agent or when the task has boundaries.
112
- 8. Assign worker roles with explicit allowed and forbidden behavior. Use `$worker-roles` for multi-agent or multi-thread work.
160
+ 7. Build dossiers for the first implementation units and any planned verification, repair, or documentation workers. Use `$dossier-builder` when delegating work to another agent or when the task has boundaries.
161
+ 8. Assign worker roles with explicit allowed and forbidden behavior. Use `$worker-roles` for multi-agent, native-thread, or portable-worker work.
113
162
  9. Select the execution path:
114
163
  - `human_in_loop`: use when selected in completed intake or when a higher-priority rule requires human approval after intake.
115
164
  - `autonomous_goal`: use only when selected in completed intake and no higher-priority rule requires human approval.
116
- 10. Present the path-specific plan:
117
- - `human_in_loop`: approval packet with plan, work units, thread plan, approval gates, stop gates, and first dossiers. Stop until the human approves or revises it.
165
+ 10. If `.workflow/` artifacts will be used in a Git-backed codebase, ensure `.gitignore` contains `.workflow/` before writing them.
166
+ 11. Present the path-specific plan:
167
+ - `human_in_loop`: approval packet with plan, work units, worker delegation plan, approval gates, stop gates, and first dossiers. Stop until the human approves or revises it.
118
168
  - `autonomous_goal`: execution plan with the same contents plus autonomous boundaries, allowed actions, stop gates, repair limits, and final disposition policy. Continue after recording it only when complete intake authorized that path.
119
- 11. After the path gate is satisfied, create or hand off named threads from the thread plan. Send each worker only its role, dossier, sources, acceptance rows, stop gates, and report schema.
120
- 12. Talk to each worker thread after handoff: confirm receipt, answer scoped questions, collect terminal reports, and preserve report links or summaries in the supervisor state.
121
- 13. Verify independently where possible. Use `$acceptance-matrix` to map every requirement to evidence. Start verifier threads only after the relevant implementer report is available.
122
- 14. If verification FAILs, convert findings into repair tickets and route them to a repair-author or implementer repair thread. Do not expand scope during repair.
123
- 15. Re-run verification after repairs. Continue only until PASS, BLOCKED, repair limit, or path stop.
124
- 16. Start documenter threads only after source, implementation, verification, or repair evidence exists, unless the documenter is explicitly creating planning state.
125
- 17. If verification BLOCKs, report the blocker and stop or ask for the missing decision.
126
- 18. Use `$workflow-docs` to create or refresh reusable Markdown artifacts under `<workspace>/.workflow/` when the workflow must persist across context loss, agents, or sessions.
127
- 19. When all material acceptance rows are PASS or waived, apply the final disposition policy:
169
+ 12. After the path gate is satisfied, delegate named workers from the worker delegation plan through the selected automated transport. Send each worker only its role, dossier, sources, acceptance rows, stop gates, and report schema.
170
+ 13. Collect one terminal report from each worker. If a worker asks a human-facing question, convert it to `BLOCKED` and have the supervisor ask the user only when the path policy permits.
171
+ 14. Verify independently where possible. Use `$acceptance-matrix` to map every requirement to evidence. Start verifier workers only after the relevant implementer report is available.
172
+ 15. If verification FAILs, convert findings into repair tickets and route them to a repair-author or implementer repair worker. Do not expand scope during repair.
173
+ 16. Re-run verification after repairs. Continue only until PASS, BLOCKED, repair limit, or path stop.
174
+ 17. Start documenter workers only after source, implementation, verification, or repair evidence exists, unless the documenter is explicitly creating planning state.
175
+ 18. If verification BLOCKs, report the blocker and stop or ask for the missing decision.
176
+ 19. Use `$workflow-docs` to create or refresh reusable Markdown artifacts under `<workspace>/.workflow/` when the workflow must persist across context loss, agents, or sessions.
177
+ 20. When all material acceptance rows are PASS or waived, apply the final disposition policy:
128
178
  - `human_in_loop`: use the completed intake final disposition; if it is `ask_at_end`, ask the human to choose PR, push main, or keep local.
129
179
  - `autonomous_goal`: use the completed intake final disposition. If it is `ask_at_end`, stop and ask before taking any final disposition action.
130
- 20. Finish with an outcome report that names execution path, goal status, sources, work units, worker threads, checks, skipped checks, residual risks, final disposition decision, and next action.
180
+ 21. Finish with an outcome report that names execution path, goal status, sources, work units, delegated workers, checks, skipped checks, residual risks, final disposition decision, and next action.
131
181
 
132
182
  ## Execution Paths
133
183
 
@@ -140,7 +190,7 @@ The first supervisor deliverable is a plan for approval, not implementation. The
140
190
  - objective and non-goals
141
191
  - source corpus summary and gaps
142
192
  - work units and sequence
143
- - thread plan with names, roles, dossiers, dependencies, and start conditions
193
+ - worker delegation plan with names, roles, dossiers, dependencies, start conditions, and transport
144
194
  - acceptance matrix summary
145
195
  - approval gates and stop gates
146
196
  - expected final disposition choices: PR, push main, or keep local
@@ -154,7 +204,7 @@ Use `autonomous_goal` only when the completed intake selects it. Phrases such as
154
204
  - objective and non-goals
155
205
  - source corpus summary and gaps
156
206
  - work units and sequence
157
- - thread plan with names, roles, dossiers, dependencies, and start conditions
207
+ - worker delegation plan with names, roles, dossiers, dependencies, start conditions, and transport
158
208
  - acceptance matrix summary
159
209
  - autonomous boundaries and forbidden actions
160
210
  - stop gates, repair limits, budgets, and escalation rules
@@ -164,11 +214,25 @@ The final disposition must come from the completed intake. Direct push to the ma
164
214
 
165
215
  Even in `autonomous_goal`, stop and ask when any required intake answer is missing or ambiguous, required sources are missing, acceptance cannot be verified, a worker needs scope expansion, an irreversible action lacks intake authorization, or higher-priority instructions require approval.
166
216
 
167
- ## Thread Orchestration
217
+ ## Portable Worker Delegation
218
+
219
+ After the path gate is satisfied, use the selected automated worker transport. The portable default is the package helper:
220
+
221
+ ```text
222
+ workflow-supervisor delegate --agent <agent> --role <role> --unit <unit-id> --cwd <workspace> --dossier <path>
223
+ ```
224
+
225
+ Before calling `delegate`, validate the dossier:
168
226
 
169
- After the path gate is satisfied, use environment thread tools when available. In Codex-style environments, use the configured thread-management tools to create or fork worker threads, send handoff messages, read reports, and hand off or close threads. If thread tools are unavailable, output the worker handoff prompts and mark execution as `thread_unavailable`.
227
+ ```text
228
+ workflow-supervisor validate-dossier <path> --role <role> --unit <unit-id> --json
229
+ ```
230
+
231
+ If the dossier does not pass `DossierV1` validation, do not start the worker. Create a discovery dossier, ask for the missing decision, or mark the unit BLOCKED.
170
232
 
171
- Name threads deterministically from the workflow, unit, role, and dossier:
233
+ Adapters may use native threads, native subagents, or one-shot CLI execution underneath, but the supervisor consumes only the normalized worker report. Use `workflow-supervisor delegate-doctor --agent <agent> --probe` to test the installed local adapter before relying on it for a workflow. If automated delegation is unavailable, mark execution as `worker_agent_unavailable` unless completed intake selected `same_session_phased`.
234
+
235
+ Name workers deterministically from the workflow, unit, role, and dossier:
172
236
 
173
237
  ```text
174
238
  wf/<workflow-slug>/<unit-id>-<role>-<dossier-slug>
@@ -180,16 +244,18 @@ Examples:
180
244
  wf/better-auth/U1-implementer-backend-auth-instance
181
245
  wf/better-auth/U1-verifier-backend-auth-instance
182
246
  wf/better-auth/U1-repair-auth-route-order
183
- wf/better-auth/U6-documenter-auth-handoff
247
+ wf/better-auth/U6-documenter-outcome-docs
184
248
  ```
185
249
 
186
- Use one thread per role per work unit unless the loop policy explicitly allows batching. Supervisor messages to worker threads must be scoped:
250
+ Use one worker per role per work unit unless the loop policy explicitly allows batching. Worker prompts must be scoped:
187
251
 
188
252
  - kickoff: role, dossier, sources, acceptance rows, stop gates, report schema
189
253
  - checkpoint: request status, blockers, or clarification without expanding scope
190
- - repair handoff: failed rows, verifier findings, allowed repair surfaces, checks
254
+ - repair delegation: failed rows, verifier findings, allowed repair surfaces, checks
191
255
  - closeout: collect terminal report and confirm no further action is expected
192
256
 
257
+ Workers must not ask the human questions directly, choose final disposition, approve plans, expand scope, or message each other. They return `PASS`, `FAIL`, or `BLOCKED` using the assigned report schema. The supervisor routes blockers, repairs, and human questions.
258
+
193
259
  Final disposition prompt shape:
194
260
 
195
261
  ```text
@@ -211,7 +277,9 @@ Do not hand off or implement a work unit unless the dossier can name:
211
277
  - adversarial checks
212
278
  - stop gates
213
279
  - worker report schema
214
- - thread name and role start condition when delegation is planned
280
+ - worker name, transport, and role start condition when delegation is planned
281
+
282
+ The dossier must be machine-checkable as `DossierV1`. The portable delegate command refuses missing or invalid dossiers with `reason: invalid_dossier`; no worker process should start when the gate fails.
215
283
 
216
284
  Boundaries may be mutable artifacts, source claims, decisions, audiences, data fields, design areas, process steps, publication rights, or forbidden claims. For read-only advisory work, naming forbidden claims and decision limits can satisfy the boundary requirement.
217
285
 
@@ -225,6 +293,7 @@ Stop when:
225
293
  - source authority cannot be established
226
294
  - sources contradict each other on a material requirement
227
295
  - the requested scope cannot fit into a bounded work unit
296
+ - mandatory approval packet, work unit, dossier, worker-agent contract, or acceptance matrix is missing
228
297
  - allowed and forbidden surfaces cannot be named
229
298
  - acceptance cannot be verified with evidence
230
299
  - a verifier is asked to edit or an implementer is asked to self-approve
@@ -232,7 +301,7 @@ Stop when:
232
301
  - the user requires approval before continuing
233
302
  - the selected path is `autonomous_goal` but it was inferred from prompt wording instead of a completed intake answer
234
303
  - an irreversible action is requested without explicit authorization in the completed intake
235
- - a worker thread asks to expand scope without supervisor or human approval
304
+ - a worker asks to expand scope without supervisor or human approval
236
305
  - final verification is not green and no waiver evidence exists
237
306
 
238
307
  ## Final Report Shape
@@ -245,7 +314,10 @@ Report:
245
314
  - Objective handled
246
315
  - Sources used and gaps
247
316
  - Work units completed or remaining
248
- - Worker threads created, messaged, blocked, or skipped
317
+ - Approval question id and whether `WAITING_FOR_HUMAN -> ACTIVE` occurred
318
+ - Dossiers created or missing
319
+ - Workers delegated, blocked, unavailable, or skipped
320
+ - Worker lifecycle status for each role
249
321
  - Verification evidence
250
322
  - Repairs performed or recommended
251
323
  - Checks run and skipped
@@ -1,8 +0,0 @@
1
- {
2
- "agent": "hermesagent",
3
- "status": "portable",
4
- "defaultTarget": "${HERMESAGENT_HOME:-${HERMES_HOME:-~/.hermes}}/skills",
5
- "projectTarget": "<project>/.hermes/skills",
6
- "metadata": "SKILL.md",
7
- "fallback": "workflow-supervisor emit-context --agent hermesagent --out HERMES.md"
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "agent": "opencode",
3
- "status": "portable",
4
- "defaultTarget": "${OPENCODE_HOME:-~/.config/opencode}/skills",
5
- "projectTarget": "<project>/.opencode/skills",
6
- "metadata": "SKILL.md",
7
- "fallback": "workflow-supervisor emit-context --agent opencode --out AGENTS.md"
8
- }