Verification Plan
Plan independent verification for a spec, feature, or AI-generated implementation. Fill in the traceability table, assign verifiers, define evidence, and set exit criteria. See ai-code-quality-gates.md for gate context and the independent-verification principle.
Metadata
| Field |
Value |
| Feature / Spec |
|
| Author |
|
| Date |
|
| Gate Entry |
Gate 1 (spec review) / Gate 3 (implementation) / Gate 4 (acceptance) |
| Status |
Draft / In Review / Active / Complete |
AC → Verification-Method Traceability
Every acceptance criterion must map to at least one verification method. No AC may be unmapped.
| AC ID |
Acceptance Criterion |
Verification Method |
Verifier |
Evidence Format |
Status |
| AC-1 |
|
Test / Inspection / Analysis / Demonstration |
|
|
Pending / Pass / Fail |
| AC-2 |
|
Test / Inspection / Analysis / Demonstration |
|
|
Pending / Pass / Fail |
| AC-3 |
|
Test / Inspection / Analysis / Demonstration |
|
|
Pending / Pass / Fail |
Verification Method Definitions
| Method |
When to Use |
| Test |
Executable check: automated script, unit/integration/E2E test |
| Inspection |
Static review: code review, spec walkthrough, checklist audit |
| Analysis |
Computed or derived evidence: metrics, logs, statistical sampling |
| Demonstration |
Live or recorded walkthrough showing behavior under controlled conditions |
Verifier Assignment
The implementing agent (or developer) MUST NOT self-verify. Assign verification to a separate agent session, a different human, or an independent automated process.
| AC ID(s) |
Verifier |
Independence Mechanism |
| <AC-1, AC-2> |
<separate agent session / human reviewer / CI pipeline> |
<fresh context, no shared priors / different team member> |
|
<separate agent session / human reviewer / CI pipeline> |
<fresh context, no shared priors / different team member> |
Evidence Format
| Evidence Type |
Format |
Storage / Link |
| Test output |
<log file, JSON report, CI run URL> |
|
| Inspection record |
<review comments, checklist sign-off> |
|
| Metrics snapshot |
<dashboard screenshot, exported CSV> |
|
| Demonstration |
<screen recording, live session recording> |
|
NFR Verification
| NFR |
Category |
Measurement Approach |
Threshold |
Evidence |
| <e.g., API latency> |
Performance |
|
<e.g., p95 < 200ms> |
|
| <e.g., error rate> |
Reliability |
<soak test + monitoring> |
<e.g., < 0.1%> |
|
| <e.g., auth bypass> |
Security |
<SAST scan + manual review> |
|
|
| <e.g., response shape> |
Contract |
<contract test (Pact)> |
|
|
Non-Determinism Handling
| Condition |
Verification Approach |
| Output is deterministic (same input → same output) |
Single-run equality check |
| Output varies across N runs but has invariants |
Property-based assertions + N-run sampling (N ≥ 5) |
| Output is probabilistic with known distribution |
Statistical tolerance bands (e.g., p95 < X) |
| Output depends on external state |
Pin external state; verify under controlled conditions |
Decision rule: Run the implementation 5 times with identical inputs. If any output differs, use property-based or statistical verification.
Exit Criteria
Verification is complete when:
Findings Log
| Finding ID |
AC |
Description |
Severity |
Status |
Resolution |
| VF-001 |
|
|
Critical / High / Medium / Low |
Open / Resolved / Accepted |
|
| VF-002 |
|
|
Critical / High / Medium / Low |
Open / Resolved / Accepted |
|