Skip to main content

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:
TriggerKeywordsContext
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
Explicit Override: --protocol validation flag on task creation. Lifecycle Position: After Implementation (I), before Testing (T)

Requirements (RFC 2119)

MUST

RequirementDescription
VALID-001MUST verify implementation matches specification
VALID-002MUST run existing test suite and report results
VALID-003MUST check protocol compliance via lib/protocol-validation.sh
VALID-004MUST document pass/fail status for each validation check
VALID-005MUST write validation summary to manifest
VALID-006MUST set agent_type: "validation" in manifest
VALID-007MUST block progression if critical validations fail

SHOULD

RequirementDescription
VALID-010SHOULD verify edge cases identified in specification
VALID-011SHOULD check for regressions in related functionality
VALID-012SHOULD validate error handling paths
VALID-013SHOULD measure against acceptance criteria

MAY

RequirementDescription
VALID-020MAY perform performance validation
VALID-021MAY verify security constraints
VALID-022MAY suggest additional test cases

Validation Checklist

Code Validation

# 1. Syntax check
bash -n scripts/*.sh lib/*.sh

# 2. Protocol compliance
source lib/protocol-validation.sh
validate_implementation_protocol "$TASK_ID"

# 3. Run existing tests
bats tests/unit/*.bats
bats tests/integration/*.bats

Specification Compliance

CheckCommandPass Criteria
Spec existsls docs/specs/*.mdFile present
RFC 2119 keywords`grep -E “MUSTSHOULDMAY”`Keywords present
Implementation matchesManual reviewAll MUST satisfied

Exit Code Validation

Exit CodeMeaningAction
0All validations passProceed to Testing
62Specification mismatchFix implementation
64Implementation protocol violationFix provenance
67Generic protocol violationReview and fix

Output Format

Validation Report

# Validation Report: T####

**Date**: YYYY-MM-DD
**Validator**: agent-id
**Task**: T####
**Epic**: T####

## Summary

- **Status**: PASS | FAIL | PARTIAL
- **Checks Passed**: X/Y
- **Critical Issues**: N

## Detailed Results

| Check | Result | Notes |
|-------|--------|-------|
| Syntax | PASS | No errors |
| Tests | PASS | 48/48 pass |
| Protocol | PASS | Compliance 95% |

## Issues Found

1. [Issue description]
2. [Issue description]

## Recommendations

1. [Action item]

Manifest Entry

{
  "id": "T####-validation",
  "file": "T####-validation-report.md",
  "title": "Validation: [Feature Name]",
  "date": "YYYY-MM-DD",
  "status": "complete",
  "agent_type": "validation",
  "topics": ["validation", "qa"],
  "key_findings": [
    "RESULT: X/Y checks passed",
    "ISSUES: N found",
    "STATUS: PASS|FAIL"
  ],
  "actionable": true,
  "needs_followup": [],
  "linked_tasks": ["T####", "T####"]
}

Integration Points

With Implementation Protocol

Implementation (I) ──► Validation (V)

                           ├── Run tests
                           ├── Check compliance
                           └── Verify spec match

With Testing Protocol

Validation (V) ──► Testing (T)
       │                │
       │                ├── Write new tests
       │                └── Full coverage

       └── Identifies gaps for Testing to fill

With lib/protocol-validation.sh

The validation protocol uses these functions:
FunctionPurposeExit Code
validate_implementation_protocol()Check IMPL-* compliance64
validate_specification_protocol()Check SPEC-* compliance62
validate_protocol()Generic protocol check67

Enforcement

Via lib/protocol-validation.sh

source lib/protocol-validation.sh

# Validate a specific protocol
validate_implementation_protocol "$TASK_ID" "$MANIFEST_ENTRY" "true"

# Generic validation
validate_protocol "implementation" "$TASK_ID" "$DATA"

Exit Codes

CodeConstantDescription
62EXIT_PROTOCOL_SPECIFICATIONSpec validation failed
64EXIT_PROTOCOL_IMPLEMENTATIONImplementation validation failed
67EXIT_PROTOCOL_GENERICGeneric validation failed
68EXIT_VALIDATION_INCOMPLETEValidation not finished

Cross-Cutting: Contribution Protocol

When validation involves multi-agent work:
  1. Record validator identity in manifest
  2. Attribute findings to validating agent
  3. Track validation consensus if multiple validators
See: 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