Add prerequisite gate before dispatch

This commit is contained in:
Emil Shanaty
2026-10-27 19:41:36 +03:00
parent c3f58ceb40
commit 2309fda7b7
9 changed files with 180 additions and 23 deletions
+6
View File
@@ -41,6 +41,12 @@ Scope is checked by the lead with the skill's `scripts/audit-scope.mjs`; workers
- {{Generated files, migrations, flaky tests, shared ports, secrets, caches.}}
- {{Generated or vendored paths that must not be edited.}}
## Prerequisites
- Status: {{passed / needs_user / degraded}}
- Details: `.swarm/prerequisites.md`
- Missing/blocked: {{items or none}}
- User approval: {{approved/declined/pending}}
## Token / effort budget
- Hard budget: {{tokens or n/a}}; reserve {{20–30%}} for verification and integration.
- Prefer vertical slices and files under ~800 lines.
+30
View File
@@ -0,0 +1,30 @@
# Prerequisites — {{TASK}}
Checked before dispatch. Do not print secrets.
## Required
| Item | Check command | Status | Version / error | Owner |
|---|---|---|---|---|
| {{tool/runtime}} | `{{command}}` | {{pass/missing/needs_user}} | {{version or exact error}} | lead |
## Optional / degraded
| Item | Check | Impact if missing | Decision |
|---|---|---|---|
| {{display/GPU/service}} | `{{command}}` | {{reduced scope}} | {{skip/ask/install}} |
## User approval
- Missing item: {{name}}
- Why required: {{acceptance check}}
- Proposed command/scope: `{{command}}` ({{project-local/user/system}})
- Alternatives: {{existing path / reduced scope / stop}}
- User decision: {{pending/approved/declined}}
- Recorded in `state.json`: {{passed/needs_user/degraded}}
## Baseline
- Build: `{{command}}` → {{result}}
- Tests: `{{command}}` → {{result}}
- Visual/smoke: `{{command}}` → {{result}}
+1
View File
@@ -29,6 +29,7 @@ Role: worker | Wave: {{n}} | Depends on: {{ids or —}} | Effort: {{S/M/L}}
## Constraints
- {{No new dependencies, style, performance, compatibility.}}
- Context budget: read only the inputs above; if you need more than {{N}} additional files, return `blocked` instead of exploring the whole repo.
- Prerequisites are lead-owned: do not install tools, packages or system dependencies. If one is missing, return `blocked` with the exact check and error.
- Do not run the full test suite unless the card explicitly asks; run targeted checks.
## Acceptance (re-runnable)
+2
View File
@@ -23,6 +23,8 @@ output. Evidence must be reproducible by a fresh verifier.
- Edge cases named in the task card.
## Freeze
Do not install tools or dependencies; prerequisites are lead-owned. If a required check cannot run,
report `not_run` with the exact missing item — do not change the environment.
The tree is frozen during verification. Do not edit product source, tests, docs or manifests. If you need a gate script that rewrites generated files, copy it/hash-check it instead of changing the tree.
## Visual checks