# 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](../references/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 | |-----------|----------|----------------------| | | | | | | | | ## Evidence Format | Evidence Type | Format | Storage / Link | |---------------|--------|----------------| | Test output | | | | Inspection record | | | | Metrics snapshot | | | | Demonstration | | | ## NFR Verification | NFR | Category | Measurement Approach | Threshold | Evidence | |-----|----------|---------------------|-----------|----------| | | Performance | | | | | | Reliability | | | | | | Security | | | | | | Contract | | | | ## 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: - [ ] 100% of ACs have a mapped verification method (no unmapped ACs) - [ ] All verifications executed with evidence attached - [ ] Zero critical or high severity findings remain open - [ ] NFR thresholds met with evidence - [ ] Verifier independence confirmed (implementer ≠ verifier) - [ ] ## 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 | |