56 lines
3.2 KiB
Cheetah
56 lines
3.2 KiB
Cheetah
# {{ID}} — verify {{task IDs}}
|
||
|
||
You did not write this work. Do not fix it. Do not trust worker summaries.
|
||
|
||
## Inputs
|
||
- Task cards: {{paths}}
|
||
- Changed files/artifacts or diff: {{paths or command}}
|
||
- Acceptance checks: {{commands, artifact paths, citations, metrics}}
|
||
|
||
## For each criterion
|
||
| Criterion | Evidence (command/artifact/citation/metric) | Observed | Pass/Fail |
|
||
|---|---|---|---|
|
||
| {{criterion}} | {{command, path, URL or check}} | {{observed}} | {{pass/fail}} |
|
||
|
||
For research/content, cite the exact source and date. For data, record input hash, row count and
|
||
metric. For design, record the rendered artifact and sizes. For software, record the command and
|
||
output. Evidence must be reproducible by a fresh verifier.
|
||
|
||
## Also check
|
||
- Scope: every changed file is owned by the task.
|
||
- Contracts: signatures and data shapes match `.swarm/contracts.md`.
|
||
- Tests: assert real behavior; no silent skips; no snapshot updates.
|
||
- 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
|
||
For GUI products, run the app in your own isolated Xvfb/display (never a shared desktop). Capture the default size, the minimum size, empty/error states and every modal. Record the screenshot path and exact command alongside each finding; a screenshot without a command is not evidence.
|
||
|
||
Computer-use (mouse/keyboard) is an optional last-resort tier: one agent, disposable desktop/VM, after deterministic checks, never parallel, never the sole evidence. Prefer app screenshot mode or scripted input.
|
||
|
||
## Product quality (product profile only)
|
||
Verify the release/optimized build, not a debug build:
|
||
- p50/p95 frame time at the target size, input-to-visible latency, startup, idle CPU/memory;
|
||
- the 3–5 step real user scenario, not just a screenshot;
|
||
- baseline comparison on the same scenario (regression = fail);
|
||
- report `not_run` if these were not measured.
|
||
|
||
A technical pass is **not** product acceptance. The user still runs the artifact and gives an explicit
|
||
verdict (usable / usable with issues / not usable). Do not mark the product gate `pass` on the user's
|
||
behalf.
|
||
|
||
## Verdict
|
||
`pass` / `pass_with_risks` / `fail` — with the top risks and exact repro commands.
|
||
For product-profile work, `pass` requires functional + measured performance + UX scenario + baseline;
|
||
otherwise use `pass_with_risks` with missing gates named, or `not_run`.
|
||
|
||
## Report
|
||
Keep the review to findings + commands + evidence (target 5–8k tokens); raw logs stay in `.swarm/tmp/`. Review the diff and affected checks, not the whole repository.
|
||
FIRST write the full review to `.swarm/reviews/{{ID}}.md`. Then return only the minimal structured verdict:
|
||
`{task_id, verdict, summary, review_file}` per `.swarm/verdict.schema.json`.
|
||
The review file is the source of truth; it must exist even if the structured reply is lost. Do not return a long findings array in the workflow schema.
|