Validation Protocol
Version: 1.0.0 Type: Conditional Protocol Stage: IVTR - V (Validation) Max Active: 3 protocols (including base)Trigger Conditions
This protocol activates when the task involves:| Trigger | Keywords | Context |
|---|---|---|
| Verification | ”validate”, “verify”, “check”, “audit” | Correctness checking |
| Quality | ”quality”, “qa”, “review” | Quality assurance |
| Compliance | ”compliance”, “conform”, “standard” | Standards adherence |
| Smoke Test | ”smoke”, “sanity”, “basic test” | Initial verification |
--protocol validation flag on task creation.
Lifecycle Position: After Implementation (I), before Testing (T)
Requirements (RFC 2119)
MUST
| Requirement | Description |
|---|---|
| VALID-001 | MUST verify implementation matches specification |
| VALID-002 | MUST run existing test suite and report results |
| VALID-003 | MUST check protocol compliance via lib/protocol-validation.sh |
| VALID-004 | MUST document pass/fail status for each validation check |
| VALID-005 | MUST write validation summary to manifest |
| VALID-006 | MUST set agent_type: "validation" in manifest |
| VALID-007 | MUST block progression if critical validations fail |
SHOULD
| Requirement | Description |
|---|---|
| VALID-010 | SHOULD verify edge cases identified in specification |
| VALID-011 | SHOULD check for regressions in related functionality |
| VALID-012 | SHOULD validate error handling paths |
| VALID-013 | SHOULD measure against acceptance criteria |
MAY
| Requirement | Description |
|---|---|
| VALID-020 | MAY perform performance validation |
| VALID-021 | MAY verify security constraints |
| VALID-022 | MAY suggest additional test cases |
Validation Checklist
Code Validation
Specification Compliance
| Check | Command | Pass Criteria | ||
|---|---|---|---|---|
| Spec exists | ls docs/specs/*.md | File present | ||
| RFC 2119 keywords | `grep -E “MUST | SHOULD | MAY”` | Keywords present |
| Implementation matches | Manual review | All MUST satisfied |
Exit Code Validation
| Exit Code | Meaning | Action |
|---|---|---|
| 0 | All validations pass | Proceed to Testing |
| 62 | Specification mismatch | Fix implementation |
| 64 | Implementation protocol violation | Fix provenance |
| 67 | Generic protocol violation | Review and fix |
Output Format
Validation Report
Manifest Entry
Integration Points
With Implementation Protocol
With Testing Protocol
With lib/protocol-validation.sh
The validation protocol uses these functions:| Function | Purpose | Exit Code |
|---|---|---|
validate_implementation_protocol() | Check IMPL-* compliance | 64 |
validate_specification_protocol() | Check SPEC-* compliance | 62 |
validate_protocol() | Generic protocol check | 67 |
Enforcement
Via lib/protocol-validation.sh
Exit Codes
| Code | Constant | Description |
|---|---|---|
| 62 | EXIT_PROTOCOL_SPECIFICATION | Spec validation failed |
| 64 | EXIT_PROTOCOL_IMPLEMENTATION | Implementation validation failed |
| 67 | EXIT_PROTOCOL_GENERIC | Generic validation failed |
| 68 | EXIT_VALIDATION_INCOMPLETE | Validation not finished |
Cross-Cutting: Contribution Protocol
When validation involves multi-agent work:- Record validator identity in manifest
- Attribute findings to validating agent
- Track validation consensus if multiple validators
protocols/contribution.md for attribution requirements.
References
- Specification:
docs/specs/PROTOCOL-ENFORCEMENT-SPEC.md - Implementation:
lib/protocol-validation.sh - Tests:
tests/unit/protocol-validation.bats
