proof-composer

Validates entire engineering proof chain. Verifies architecture, backend maps, backend code, standardization, frontend types, infrastructure topology all compose correctly. This is the final DEPLOYMENT GATE - deployment blocked if proof chain invalid. Use when engineering thread completes all actions.

153 stars

Best use case

proof-composer is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Validates entire engineering proof chain. Verifies architecture, backend maps, backend code, standardization, frontend types, infrastructure topology all compose correctly. This is the final DEPLOYMENT GATE - deployment blocked if proof chain invalid. Use when engineering thread completes all actions.

Teams using proof-composer should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/proof-composer/SKILL.md --create-dirs "https://raw.githubusercontent.com/Microck/ordinary-claude-skills/main/skills_all/proof-composer/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/proof-composer/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How proof-composer Compares

Feature / Agentproof-composerStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Validates entire engineering proof chain. Verifies architecture, backend maps, backend code, standardization, frontend types, infrastructure topology all compose correctly. This is the final DEPLOYMENT GATE - deployment blocked if proof chain invalid. Use when engineering thread completes all actions.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# proof-composer: System-Wide Proof Validation (DEPLOYMENT GATE)

## Purpose

Validate entire engineering proof chain and authorize deployment. This is the **final deployment gate** - nothing deploys without a valid composed proof.

**Key insight:** Each skill generates local proofs. proof-composer verifies they compose into a valid system-wide proof.

**Process:**
1. Collect all proofs (architecture, backend, frontend, infrastructure)
2. Verify version consistency (all use same spec version)
3. Validate proof chain (architecture → backend → standardization → frontend → infrastructure)
4. Check for gaps (missing proofs, incomplete verification)
5. Generate composed proof certificate (authorizes deployment)

---

## Position in Engineering Layer

You are skill #6 of 6 (FINAL GATE):

1. **system-architect** - Requirements → Specifications + Curry-Howard proofs
2. **backend-prover** - Specifications → Maps → Code + Runtime monitors
3. **standardization-layer** - Code → Middleware injection (naturality proofs)
4. **frontend-prover** - OpenAPI → TypeScript + Framework bindings + Type correspondence
5. **infrastructure-prover** - Services spec → Deployment configs + Topology isomorphism
6. **proof-composer** (YOU) - Validates entire chain + Authorizes deployment

---

## Input Requirements

**All proofs from previous skills:**
```
artifacts/engineering/proofs/
├── architecture/
│   ├── adt-correctness/
│   ├── functor-laws/
│   ├── composition-correctness/
│   ├── state-machines/
│   └── curry-howard-proofs/
│
├── backend/
│   ├── map-validation/
│   │   └── validation-report.json
│   ├── implementation-correctness/
│   ├── standardization/
│   │   └── naturality-certificate.proof
│   └── runtime-verification/
│
├── frontend/
│   └── type-correspondence/
│       └── openapi-to-typescript.proof
│
└── infrastructure/
    └── topology/
        └── deployment-isomorphism.proof
```

**Specification manifest:**
```
artifacts/engineering/specifications/manifest.json
```

**Generated artifacts:**
```
artifacts/engineering/
├── specifications/v{X}/          # From system-architect
├── maps/backend/                 # From backend-prover Phase 1
├── code/backend/                 # From backend-prover Phase 2
├── code/frontend/                # From frontend-prover
└── configs/                      # From infrastructure-prover
```

---

## Validation Process

### Step 1: Collect All Proofs

```python
def collect_proofs():
    """
    Collect all proof files from engineering artifacts
    
    Returns dict of proofs by category
    """
    
    proofs = {
        'architecture': collect_architecture_proofs(),
        'backend': collect_backend_proofs(),
        'frontend': collect_frontend_proofs(),
        'infrastructure': collect_infrastructure_proofs()
    }
    
    return proofs

def collect_architecture_proofs():
    """Collect from system-architect"""
    return {
        'adt_correctness': load_proof('architecture/adt-correctness/'),
        'functor_laws': load_proof('architecture/functor-laws/'),
        'composition': load_proof('architecture/composition-correctness/'),
        'state_machines': load_proof('architecture/state-machines/'),
        'curry_howard': load_proof('architecture/curry-howard-proofs/')
    }

def collect_backend_proofs():
    """Collect from backend-prover + standardization-layer"""
    return {
        'map_validation': load_json('backend/map-validation/validation-report.json'),
        'implementation': load_proof('backend/implementation-correctness/'),
        'standardization': load_json('backend/standardization/naturality-certificate.proof'),
        'runtime': load_proof('backend/runtime-verification/')
    }

def collect_frontend_proofs():
    """Collect from frontend-prover"""
    return {
        'type_correspondence': load_json('frontend/type-correspondence/openapi-to-typescript.proof')
    }

def collect_infrastructure_proofs():
    """Collect from infrastructure-prover"""
    return {
        'topology': load_json('infrastructure/topology/deployment-isomorphism.proof')
    }
```

---

### Step 2: Verify Version Consistency

```python
def verify_version_consistency(proofs, manifest):
    """
    Verify all proofs reference same specification version
    
    Critical: Prevents race conditions where different skills
    used different versions of the spec
    """
    
    errors = []
    
    # Get spec version from manifest
    spec_version = manifest['version']
    spec_hash = manifest['hash']
    
    # Check architecture proofs
    arch_version = proofs['architecture'].get('specification_version')
    if arch_version != spec_version:
        errors.append({
            "type": "version_mismatch",
            "skill": "system-architect",
            "expected": spec_version,
            "actual": arch_version
        })
    
    # Check backend proofs
    backend_version = proofs['backend']['map_validation'].get('specification_version')
    if backend_version != spec_version:
        errors.append({
            "type": "version_mismatch",
            "skill": "backend-prover",
            "expected": spec_version,
            "actual": backend_version
        })
    
    # Check frontend proofs
    frontend_version = proofs['frontend']['type_correspondence'].get('specification_version')
    if frontend_version != spec_version:
        errors.append({
            "type": "version_mismatch",
            "skill": "frontend-prover",
            "expected": spec_version,
            "actual": frontend_version
        })
    
    # Check infrastructure proofs
    infra_version = proofs['infrastructure']['topology'].get('specification_version')
    if infra_version != spec_version:
        errors.append({
            "type": "version_mismatch",
            "skill": "infrastructure-prover",
            "expected": spec_version,
            "actual": infra_version
        })
    
    return {
        "consistent": len(errors) == 0,
        "specification_version": spec_version,
        "specification_hash": spec_hash,
        "errors": errors
    }
```

---

### Step 3: Validate Proof Chain

```python
def validate_proof_chain(proofs):
    """
    Verify proof chain composes correctly:
    
    Requirements → Architecture (system-architect) ✓
        ↓
    Backend Maps (backend-prover Phase 1) ✓
        ↓
    Backend Code (backend-prover Phase 2) ✓
        ↓
    Standardization (standardization-layer) ✓
        ↓
    Frontend (frontend-prover) ✓
        ↓
    Infrastructure (infrastructure-prover) ✓
    """
    
    errors = []
    
    # 1. Architecture proofs valid
    if not architecture_proofs_valid(proofs['architecture']):
        errors.append({
            "type": "invalid_architecture_proof",
            "details": "Architecture proofs failed validation"
        })
    
    # 2. Backend maps validated
    if proofs['backend']['map_validation']['status'] != 'valid':
        errors.append({
            "type": "invalid_backend_maps",
            "details": "Backend maps not validated"
        })
    
    # 3. Backend code matches maps
    if not backend_code_matches_maps(proofs['backend']['implementation']):
        errors.append({
            "type": "code_map_mismatch",
            "details": "Backend code doesn't match verified maps"
        })
    
    # 4. Standardization preserves composition
    if not standardization_preserves_composition(proofs['backend']['standardization']):
        errors.append({
            "type": "standardization_broken",
            "details": "Standardization doesn't preserve composition laws"
        })
    
    # 5. Frontend types correspond to backend API
    if not proofs['frontend']['type_correspondence']['bijection']:
        errors.append({
            "type": "type_correspondence_failed",
            "details": "Frontend types don't match backend API"
        })
    
    # 6. Infrastructure topology matches architecture
    if not proofs['infrastructure']['topology']['isomorphism']:
        errors.append({
            "type": "topology_isomorphism_failed",
            "details": "Deployed topology doesn't match architecture"
        })
    
    return {
        "chain_valid": len(errors) == 0,
        "errors": errors
    }
```

---

### Step 4: Check for Gaps

```python
def check_for_gaps(proofs, artifacts):
    """
    Check for missing proofs or incomplete verification
    """
    
    gaps = []
    
    # Check all services in architecture have backend maps
    arch_services = extract_services_from_architecture(proofs['architecture'])
    backend_maps = list_backend_maps(artifacts['maps/backend'])
    
    for service in arch_services:
        if service not in backend_maps:
            gaps.append({
                "type": "missing_backend_map",
                "service": service,
                "fix": "Run backend-prover to generate map"
            })
    
    # Check all backend maps have implementations
    for map_file in backend_maps:
        service = extract_service_name(map_file)
        if not backend_implementation_exists(service, artifacts['code/backend']):
            gaps.append({
                "type": "missing_implementation",
                "service": service,
                "fix": "Run backend-prover Phase 2"
            })
    
    # Check all backend services have deployment configs
    backend_services = list_backend_services(artifacts['code/backend'])
    for service in backend_services:
        if not deployment_config_exists(service, artifacts['configs']):
            gaps.append({
                "type": "missing_deployment_config",
                "service": service,
                "fix": "Run infrastructure-prover"
            })
    
    # Check frontend consumes all public APIs
    public_apis = extract_public_apis(proofs['architecture'])
    frontend_types = list_frontend_types(artifacts['code/frontend'])
    
    for api in public_apis:
        if not frontend_type_exists(api, frontend_types):
            gaps.append({
                "type": "missing_frontend_type",
                "api": api,
                "fix": "Run frontend-prover"
            })
    
    return {
        "complete": len(gaps) == 0,
        "gaps": gaps
    }
```

---

### Step 5: Validate Composition End-to-End

```python
def validate_end_to_end_composition(proofs):
    """
    Verify composition laws hold across entire system
    """
    
    errors = []
    
    # Architecture composition valid
    if not proofs['architecture']['composition']['valid']:
        errors.append({
            "type": "architecture_composition_invalid",
            "details": "Architecture-level composition laws violated"
        })
    
    # Maps preserve architecture composition
    if not maps_preserve_architecture(proofs['backend']['map_validation']):
        errors.append({
            "type": "maps_dont_preserve_architecture",
            "details": "Backend maps don't preserve architecture composition"
        })
    
    # Code preserves map composition
    if not code_preserves_maps(proofs['backend']['implementation']):
        errors.append({
            "type": "code_doesnt_preserve_maps",
            "details": "Backend code doesn't preserve map composition"
        })
    
    # Standardization preserves composition (naturality)
    if not proofs['backend']['standardization']['composition_preserved']:
        errors.append({
            "type": "standardization_breaks_composition",
            "details": "Middleware breaks composition laws"
        })
    
    # Frontend types compose
    if not frontend_types_compose(proofs['frontend']['type_correspondence']):
        errors.append({
            "type": "frontend_types_dont_compose",
            "details": "Frontend type definitions don't compose"
        })
    
    # Infrastructure topology correct
    if not proofs['infrastructure']['topology']['isomorphism']:
        errors.append({
            "type": "topology_incorrect",
            "details": "Infrastructure doesn't match architecture"
        })
    
    return {
        "composition_valid": len(errors) == 0,
        "errors": errors
    }
```

---

## Generate Composed Proof

```python
def generate_composed_proof(validation_results, proofs, manifest):
    """
    Generate final composed proof certificate
    
    This certificate authorizes deployment
    """
    
    all_checks_passed = (
        validation_results['version_consistency']['consistent'] and
        validation_results['proof_chain']['chain_valid'] and
        validation_results['gaps']['complete'] and
        validation_results['composition']['composition_valid']
    )
    
    certificate = {
        "status": "valid" if all_checks_passed else "invalid",
        "timestamp": datetime.utcnow().isoformat() + "Z",
        
        "specification": {
            "version": manifest['version'],
            "hash": manifest['hash']
        },
        
        "composition_chain": [
            "architecture → backend_maps",
            "backend_maps → backend_code",
            "backend_code → standardization",
            "backend_code → frontend",
            "backend_code → infrastructure"
        ],
        
        "verification_summary": {
            "version_consistency": validation_results['version_consistency']['consistent'],
            "proof_chain_valid": validation_results['proof_chain']['chain_valid'],
            "no_gaps": validation_results['gaps']['complete'],
            "composition_valid": validation_results['composition']['composition_valid']
        },
        
        "individual_proofs": {
            "architecture": {
                "adt_correct": True,
                "functors_valid": True,
                "composition_correct": True,
                "state_machines_complete": True
            },
            "backend": {
                "maps_validated": proofs['backend']['map_validation']['status'] == 'valid',
                "code_correct": True,
                "standardization_natural": proofs['backend']['standardization']['composition_preserved']
            },
            "frontend": {
                "type_correspondence": proofs['frontend']['type_correspondence']['bijection']
            },
            "infrastructure": {
                "topology_isomorphism": proofs['infrastructure']['topology']['isomorphism']
            }
        },
        
        "gaps_detected": validation_results['gaps']['gaps'],
        
        "deploy_authorized": all_checks_passed,
        
        "errors": (
            validation_results['version_consistency']['errors'] +
            validation_results['proof_chain']['errors'] +
            validation_results['composition']['errors']
        )
    }
    
    return certificate
```

---

## Output: System Proof Certificate

**Success case:**
```json
{
  "status": "valid",
  "timestamp": "2025-01-15T10:30:00Z",
  
  "specification": {
    "version": "v1.2.0",
    "hash": "sha256:abc123..."
  },
  
  "composition_chain": [
    "architecture → backend_maps",
    "backend_maps → backend_code",
    "backend_code → standardization",
    "backend_code → frontend",
    "backend_code → infrastructure"
  ],
  
  "verification_summary": {
    "version_consistency": true,
    "proof_chain_valid": true,
    "no_gaps": true,
    "composition_valid": true
  },
  
  "individual_proofs": {
    "architecture": {
      "adt_correct": true,
      "functors_valid": true,
      "composition_correct": true,
      "state_machines_complete": true
    },
    "backend": {
      "maps_validated": true,
      "code_correct": true,
      "standardization_natural": true
    },
    "frontend": {
      "type_correspondence": true
    },
    "infrastructure": {
      "topology_isomorphism": true
    }
  },
  
  "gaps_detected": [],
  
  "deploy_authorized": true,
  
  "errors": []
}
```

**Failure case:**
```json
{
  "status": "invalid",
  "timestamp": "2025-01-15T10:30:00Z",
  
  "verification_summary": {
    "version_consistency": false,
    "proof_chain_valid": true,
    "no_gaps": false,
    "composition_valid": true
  },
  
  "gaps_detected": [
    {
      "type": "missing_deployment_config",
      "service": "BillingService",
      "fix": "Run infrastructure-prover"
    }
  ],
  
  "deploy_authorized": false,
  
  "errors": [
    {
      "type": "version_mismatch",
      "skill": "frontend-prover",
      "expected": "v1.2.0",
      "actual": "v1.1.0"
    }
  ]
}
```

---

## Output Location

```
artifacts/engineering/proofs/composed/
├── system-proof.certificate
├── composition-graph.dot
└── verification-report.md
```

---

## Integration with Build Pipeline

**Build pipeline final gate:**

```bash
# build-pipeline/13-compose-proofs.sh ⭐ DEPLOYMENT GATE

echo "Validating system-wide proof chain..."

# Run proof-composer
proof-composer validate-all

# Check certificate
status=$(jq -r '.status' artifacts/engineering/proofs/composed/system-proof.certificate)
deploy_authorized=$(jq -r '.deploy_authorized' artifacts/engineering/proofs/composed/system-proof.certificate)

if [ "$status" != "valid" ] || [ "$deploy_authorized" != "true" ]; then
    echo "❌ DEPLOYMENT BLOCKED: Proof chain invalid"
    echo ""
    echo "Errors:"
    jq '.errors' artifacts/engineering/proofs/composed/system-proof.certificate
    echo ""
    echo "Gaps:"
    jq '.gaps_detected' artifacts/engineering/proofs/composed/system-proof.certificate
    exit 1
fi

echo "✅ Proof chain valid - deployment authorized"

# build-pipeline/14-deploy.sh can now proceed
```

---

## Success Criteria

✓ All proofs collected
✓ Version consistency verified
✓ Proof chain validated
✓ No gaps detected
✓ Composition laws hold end-to-end
✓ System proof certificate generated
✓ **Deployment authorized ✓**

---

## Error Handling

**Version mismatch:**
```
ERROR: Version inconsistency detected
Frontend-prover used v1.1.0, but current spec is v1.2.0
Action: Re-run frontend-prover with correct version
```

**Broken proof chain:**
```
ERROR: Proof chain broken
Backend maps not validated (map-validation/validation-report.json status != 'valid')
Action: Re-run backend-prover Phase 1 (map validation)
```

**Gap detected:**
```
ERROR: Missing deployment config
Service: BillingService
Has backend implementation but no deployment config
Action: Run infrastructure-prover
```

**Composition broken:**
```
ERROR: Composition doesn't hold end-to-end
Standardization broke composition laws (naturality failed)
Action: Re-run standardization-layer with correct naturality proof
```

---

## Critical Reminders

1. **This is the final gate** - Nothing deploys without valid certificate
2. **Version consistency mandatory** - All skills must use same spec version
3. **No gaps allowed** - Every service needs full proof chain
4. **Composition must hold** - Laws verified at every layer
5. **Certificate authorizes deployment** - Build pipeline checks this

---

## When You (proof-composer) Finish

1. **Log results** in thread:
   ```
   threads/engineering/{requirement}/5-actions/action-5-proof-composition.md
   
   Status: Complete
   Proof status: valid
   Deploy authorized: true
   Certificate: artifacts/engineering/proofs/composed/system-proof.certificate
   Specification: v1.2.0 (hash: abc123...)
   All proofs verified: ✓
   No gaps detected: ✓
   Composition valid: ✓
   ```

2. **Update engineering thread Stage 5**:
   - Action 5 complete ✓
   - ALL engineering actions complete ✓
   - Ready for Stage 6 (Learning)

3. **Engineering thread → Business thread**:
   - Report technical success
   - Provide deployment certificate
   - Document any learnings

---

## Proof Composition Visualization

```
System-Architect
      ↓
  [Architecture Proofs: ADT, Functors, Composition, State Machines] ✓
      ↓
Backend-Prover Phase 1
      ↓
  [Backend Maps Validated: Composition laws verified] ✓
      ↓
Backend-Prover Phase 2
      ↓
  [Backend Code Matches Maps: Generated from verified maps] ✓
      ↓
Standardization-Layer
      ↓
  [Naturality Proven: Middleware preserves composition] ✓
      ↓
Frontend-Prover
      ↓
  [Type Correspondence: Frontend ≅ Backend API] ✓
      ↓
Infrastructure-Prover
      ↓
  [Topology Isomorphism: Deployed ≅ Architecture] ✓
      ↓
Proof-Composer (YOU)
      ↓
  [System Proof: All proofs compose ✓]
      ↓
DEPLOYMENT AUTHORIZED ✅
```

---

**You are the final gatekeeper. Verify the entire proof chain. Authorize deployment only when mathematically verified.**

Related Skills

Email Composer

153
from Microck/ordinary-claude-skills

Draft professional emails for various contexts including business, technical, and customer communication. Use when the user needs help writing emails or composing professional messages.

zapier-workflows

153
from Microck/ordinary-claude-skills

Manage and trigger pre-built Zapier workflows and MCP tool orchestration. Use when user mentions workflows, Zaps, automations, daily digest, research, search, lead tracking, expenses, or asks to "run" any process. Also handles Perplexity-based research and Google Sheets data tracking.

writing-skills

153
from Microck/ordinary-claude-skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dependencies, and rust-documentation skills.

writing-plans

153
from Microck/ordinary-claude-skills

Use when design is complete and you need detailed implementation tasks for engineers with zero codebase context - creates comprehensive implementation plans with exact file paths, complete code examples, and verification steps assuming engineer has minimal domain knowledge

workflow-orchestration-patterns

153
from Microck/ordinary-claude-skills

Design durable workflows with Temporal for distributed systems. Covers workflow vs activity separation, saga patterns, state management, and determinism constraints. Use when building long-running processes, distributed transactions, or microservice orchestration.

workflow-management

153
from Microck/ordinary-claude-skills

Create, debug, or modify QStash workflows for data updates and social media posting in the API service. Use when adding new automated jobs, fixing workflow errors, or updating scheduling logic.

workflow-interactive-dev

153
from Microck/ordinary-claude-skills

用于开发 FastGPT 工作流中的交互响应。详细说明了交互节点的架构、开发流程和需要修改的文件。

woocommerce-dev-cycle

153
from Microck/ordinary-claude-skills

Run tests, linting, and quality checks for WooCommerce development. Use when running tests, fixing code style, or following the development workflow.

woocommerce-code-review

153
from Microck/ordinary-claude-skills

Review WooCommerce code changes for coding standards compliance. Use when reviewing code locally, performing automated PR reviews, or checking code quality.

Wheels Migration Generator

153
from Microck/ordinary-claude-skills

Generate database-agnostic Wheels migrations for creating tables, altering schemas, and managing database changes. Use when creating or modifying database schema, adding tables, columns, indexes, or foreign keys. Prevents database-specific SQL and ensures cross-database compatibility.

webapp-testing

153
from Microck/ordinary-claude-skills

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

web3-testing

153
from Microck/ordinary-claude-skills

Test smart contracts comprehensively using Hardhat and Foundry with unit tests, integration tests, and mainnet forking. Use when testing Solidity contracts, setting up blockchain test suites, or validating DeFi protocols.