Pattern-006: Verification-First Pattern

Status

Proven

Context

AI-assisted development introduces unique risks where generated solutions may appear correct but contain subtle errors, security vulnerabilities, or logical flaws. Traditional development assumes human-generated code has been reasoned through, but AI-generated solutions require systematic verification. The Verification-First Pattern addresses:

Pattern Description

The Verification-First Pattern ensures reliability by implementing systematic verification gates before executing AI-generated solutions. The pattern establishes a four-step process:

Core Principle: “Never assume AI-generated solutions are correct. Implement systematic verification.”

Pattern Structure:

  1. Generate Solution (AI/LLM)
  2. Verify Solution (Human/System)
  3. Execute Solution (Only if verified)
  4. Validate Results (Post-execution)

Implementation

Structure

class VerificationGate:
    """Systematic verification for AI-generated solutions."""

    def __init__(self, verification_criteria: Dict[str, Any]):
        self.criteria = verification_criteria
        self.verification_log = []

    def verify_solution(self, solution: Any) -> VerificationResult:
        """Apply verification criteria to solution."""
        # Implementation details
        pass

    def execute_if_verified(self, solution: Any, executor: Callable) -> Result:
        """Execute only verified solutions."""
        verification = self.verify_solution(solution)
        if verification.passed:
            return executor(solution)
        else:
            raise VerificationFailedError(verification.failures)

Code Example

# GitHub Issue Creation with Verification-First
class GitHubIssueCreator:
    def __init__(self):
        self.verification_gate = VerificationGate({
            "required_fields": ["title", "description", "repository"],
            "format_validation": ["title_length", "markdown_syntax"],
            "security_checks": ["repository_access", "token_validity"],
            "business_rules": ["project_context", "priority_mapping"]
        })

    def create_issue_with_verification(self, ai_generated_issue: Dict) -> Issue:
        """Create GitHub issue with verification-first approach."""

        # Step 1: AI has already generated the issue

        # Step 2: Verify the solution
        verification = self.verification_gate.verify_solution(ai_generated_issue)

        if not verification.passed:
            logger.error(f"Issue creation failed verification: {verification.failures}")
            raise VerificationFailedError(verification.failures)

        # Step 3: Execute only if verified
        issue = self.github_client.create_issue(ai_generated_issue)

        # Step 4: Validate results
        if not self.validate_created_issue(issue):
            logger.error("Post-execution validation failed")
            # Implement rollback if necessary

        return issue

Configuration

# Verification-First Configuration
verification_gates:
  enabled: true
  strict_mode: true
  verification_levels:
    - basic: ["syntax", "required_fields"]
    - enhanced: ["security", "business_rules"]
    - comprehensive: ["integration", "performance"]

logging:
  verification_failures: true
  execution_tracking: true
  post_validation: true

Usage Guidelines

When to Use

When NOT to Use

Best Practices

Examples in Codebase

Primary Usage

Test Examples

Complements

Alternatives

Dependencies

Migration Notes

Consolidated from multiple sources

From decision-patterns/emergent/verification-first-pattern.md

From methodology documentation

References

Documentation

Usage Analysis


Pattern extracted and consolidated: September 15, 2025 Agent B (Cursor) - Pattern Catalog Consolidation Project