SDD Cold Verification
Activation Contract
Load for independent, read-only acceptance of exact SDD run scenarios and required checks. Not for implementation or open-ended review; broader design, security, performance, and maintainability review belongs to the Review primary.
Required Brief
- Exact
.ai/orchestration/runs/<slug>/ root and its run.md.
- Exact immutable plan path and the SHA-256 recorded in
run.md when it references one.
- Complete source scenario list, including every id and
WHEN/THEN pair.
- Complete source
Files: scope.
- Complete source
Verify checklist.
- Exactly
working-tree for working-tree delivery, or the run's recorded <Baseline>..HEAD for commit-per-unit delivery.
Missing or contradictory input blocks verification. Never infer a run root, plan, hash, scope, scenario, check, or baseline.
Method
- Read
run.md. When it references a plan, verify the recorded SHA-256 and use that plan as the source contract; otherwise use run.md.
- Compare the brief with the source contract before inspecting implementation. Every source scenario and
Verify item must appear exactly once, with no additions. The Files: scope must match exactly. Any omitted, duplicated, added, or changed item is BLOCK sdd/verify <reason>.
- Build separate scenario and check ledgers. For
working-tree, require Baseline: working-tree and inspect the scoped working-tree diff. For commit-per-unit, require the left side of the range to equal the full SHA on Baseline:, require the right side to be literal HEAD, and inspect only that range and the Files: scope. Never substitute an inferred merge base, first commit, or working-tree diff.
- Trace each
WHEN through its stimulus to the observable THEN; cite scoped path:line evidence or a focused check.
- Run every applicable read-only
Verify item fresh. A check is read-only when it does not edit tracked files, the plan, run state, or Git. Count unavailable, unauthorized, or non-read-only items as failed checks; never omit them. Additional probes may narrow a failure but never replace a required check.
- For hardening or characterization, setup, stimulus, and assertion must independently detect the named regression. A green but tautological test is a failed scenario. Run mutation or coverage only when the source contract names an available command.
- Recheck the plan hash when present. Count every scenario and every
Verify item separately. One unsupported, contradicted, or failed item makes the result fail.
Boundaries
- Ignore unrelated working-tree changes and paths outside the brief.
- Ignore
.ai/ state because it is outside the implementation Files: scope and must never appear in a delivery commit.
- Do not turn conventions, security, performance, or design preferences into acceptance failures unless an assigned scenario or check requires them.
- Never edit, write state, ask, delegate, stage, commit, push, or mutate graph lifecycle.
Output Contract
Return each failed scenario or check with evidence, then exactly one final line:
PASS scenarios=<passed>/<total> checks=<passed>/<total> evidence=<pointer>
FAIL scenarios=<passed>/<total> checks=<passed>/<total> evidence=<pointer>
Use PASS only when both ledgers pass completely. Never return logs, code, diffs, or praise.
1---2name: sdd-cold-verification3description: Trigger: cold verification, verify run.md, SDD verification, behavior acceptance. Verify scoped implementation independently against every source scenario and required check.4license: MIT5---67# SDD Cold Verification89## Activation Contract1011Load for independent, read-only acceptance of exact SDD run scenarios and required checks. Not for implementation or open-ended review; broader design, security, performance, and maintainability review belongs to the Review primary.1213## Required Brief1415- Exact `.ai/orchestration/runs/<slug>/` root and its `run.md`.16- Exact immutable plan path and the SHA-256 recorded in `run.md` when it references one.17- Complete source scenario list, including every id and `WHEN`/`THEN` pair.18- Complete source `Files:` scope.19- Complete source `Verify` checklist.20- Exactly `working-tree` for working-tree delivery, or the run's recorded `<Baseline>..HEAD` for commit-per-unit delivery.2122Missing or contradictory input blocks verification. Never infer a run root, plan, hash, scope, scenario, check, or baseline.2324## Method25261. Read `run.md`. When it references a plan, verify the recorded SHA-256 and use that plan as the source contract; otherwise use `run.md`.272. Compare the brief with the source contract before inspecting implementation. Every source scenario and `Verify` item must appear exactly once, with no additions. The `Files:` scope must match exactly. Any omitted, duplicated, added, or changed item is `BLOCK sdd/verify <reason>`.283. Build separate scenario and check ledgers. For `working-tree`, require `Baseline: working-tree` and inspect the scoped working-tree diff. For `commit-per-unit`, require the left side of the range to equal the full SHA on `Baseline:`, require the right side to be literal `HEAD`, and inspect only that range and the `Files:` scope. Never substitute an inferred merge base, first commit, or working-tree diff.294. Trace each `WHEN` through its stimulus to the observable `THEN`; cite scoped `path:line` evidence or a focused check.305. Run every applicable read-only `Verify` item fresh. A check is read-only when it does not edit tracked files, the plan, run state, or Git. Count unavailable, unauthorized, or non-read-only items as failed checks; never omit them. Additional probes may narrow a failure but never replace a required check.316. For hardening or characterization, setup, stimulus, and assertion must independently detect the named regression. A green but tautological test is a failed scenario. Run mutation or coverage only when the source contract names an available command.327. Recheck the plan hash when present. Count every scenario and every `Verify` item separately. One unsupported, contradicted, or failed item makes the result fail.3334## Boundaries3536- Ignore unrelated working-tree changes and paths outside the brief.37- Ignore `.ai/` state because it is outside the implementation `Files:` scope and must never appear in a delivery commit.38- Do not turn conventions, security, performance, or design preferences into acceptance failures unless an assigned scenario or check requires them.39- Never edit, write state, ask, delegate, stage, commit, push, or mutate graph lifecycle.4041## Output Contract4243Return each failed scenario or check with evidence, then exactly one final line:4445```text46PASS scenarios=<passed>/<total> checks=<passed>/<total> evidence=<pointer>47FAIL scenarios=<passed>/<total> checks=<passed>/<total> evidence=<pointer>48```4950Use `PASS` only when both ledgers pass completely. Never return logs, code, diffs, or praise.