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.
- package/README.md +433 -167
- package/adapters/claude-code/adapter.json +7 -1
- package/adapters/codex/adapter.json +7 -1
- package/bin/workflow-skills.mjs +1103 -20
- package/docs/artifacts.md +4 -2
- package/docs/cli.md +77 -15
- package/docs/compatibility.md +11 -37
- package/docs/portable-delegation.md +189 -0
- package/docs/skill-reference.md +4 -4
- package/docs/troubleshooting.md +1 -1
- package/package.json +3 -4
- package/schemas/dossier-v1.schema.json +139 -0
- package/schemas/worker-report-v1.schema.json +119 -0
- package/skills/acceptance-matrix/SKILL.md +2 -2
- package/skills/dossier-builder/SKILL.md +22 -8
- package/skills/dossier-builder/agents/openai.yaml +2 -2
- package/skills/loop-policy/SKILL.md +10 -10
- package/skills/loop-policy/agents/openai.yaml +1 -1
- package/skills/work-unit/SKILL.md +3 -3
- package/skills/worker-roles/SKILL.md +10 -10
- package/skills/worker-roles/agents/openai.yaml +2 -2
- package/skills/workflow-docs/SKILL.md +12 -9
- package/skills/workflow-docs/agents/openai.yaml +2 -2
- package/skills/workflow-docs/references/documentation-production.md +2 -0
- package/skills/workflow-docs/references/goal-resume.md +2 -0
- package/skills/workflow-docs/references/templates.md +4 -2
- package/skills/workflow-docs/references/workflow-control.md +16 -12
- package/skills/workflow-supervisor/SKILL.md +118 -46
- package/adapters/hermesagent/adapter.json +0 -8
- package/adapters/opencode/adapter.json +0 -8
|
@@ -1,11 +1,34 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: workflow-supervisor
|
|
3
|
-
description: Coordinate
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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
|
-
-
|
|
47
|
-
- Do not start implementer, verifier, repair-author, or documenter
|
|
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-
|
|
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
|
|
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
|
|
63
|
-
-
|
|
64
|
-
-
|
|
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
|
-
|
|
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,
|
|
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: `
|
|
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:
|
|
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
|
|
112
|
-
8. Assign worker roles with explicit allowed and forbidden behavior. Use `$worker-roles` for multi-agent or
|
|
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.
|
|
117
|
-
|
|
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
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
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
|
-
|
|
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
|
-
-
|
|
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
|
-
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
247
|
+
wf/better-auth/U6-documenter-outcome-docs
|
|
184
248
|
```
|
|
185
249
|
|
|
186
|
-
Use one
|
|
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
|
|
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
|
-
-
|
|
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
|
|
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
|
-
-
|
|
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
|
-
}
|