Files
librenotes/.wave/contracts/implement-phase.schema.json
Michael Czechowski 59411ede0f Add Wave contract schemas for pipeline validation
JSON Schema definitions for all pipeline handover contracts
including issue analysis, research, enhancement, and sync flows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 17:02:07 +01:00

138 lines
4.2 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://schema.recinq.com/wave/implement-phase.schema.json",
"title": "Wave Implement Phase Output Contract",
"description": "Validates implementation phase outputs for prototype-driven development pipeline",
"type": "object",
"properties": {
"phase": {
"type": "string",
"const": "implement",
"description": "Phase identifier"
},
"artifacts": {
"type": "object",
"properties": {
"implementation_plan": {
"type": "object",
"properties": {
"path": {
"type": "string",
"pattern": "^.*implementation-plan\\.md$",
"description": "Path to implementation plan file"
},
"exists": {
"type": "boolean",
"const": true,
"description": "Implementation plan file must exist"
},
"content_type": {
"type": "string",
"const": "markdown",
"description": "Implementation plan content format"
}
},
"required": ["path", "exists", "content_type"],
"additionalProperties": false
},
"progress_checklist": {
"type": "object",
"properties": {
"path": {
"type": "string",
"pattern": "^.*implementation-checklist\\.md$",
"description": "Path to progress checklist file"
},
"exists": {
"type": "boolean",
"const": true,
"description": "Progress checklist file must exist"
},
"content_type": {
"type": "string",
"const": "markdown",
"description": "Checklist content format"
}
},
"required": ["path", "exists", "content_type"],
"additionalProperties": false
}
},
"required": ["implementation_plan", "progress_checklist"],
"additionalProperties": true
},
"validation": {
"type": "object",
"properties": {
"tests_executed": {
"type": "boolean",
"description": "Whether test suite was executed"
},
"test_results": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": 0,
"description": "Total number of tests"
},
"passed": {
"type": "integer",
"minimum": 0,
"description": "Number of tests that passed"
},
"failed": {
"type": "integer",
"minimum": 0,
"description": "Number of tests that failed"
},
"coverage_percent": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Test coverage percentage"
}
},
"required": ["total", "passed", "failed"],
"additionalProperties": false
},
"implementation_readiness": {
"type": "string",
"enum": ["ready", "partial", "needs_work"],
"description": "Assessment of implementation readiness"
}
},
"required": ["tests_executed", "implementation_readiness"],
"additionalProperties": false
},
"metadata": {
"type": "object",
"properties": {
"timestamp": {
"type": "string",
"format": "date-time",
"description": "When implementation phase was completed"
},
"duration_seconds": {
"type": "number",
"minimum": 0,
"description": "Time taken for implementation phase"
},
"previous_phases": {
"type": "array",
"items": {
"type": "string",
"enum": ["spec", "docs", "dummy"]
},
"minItems": 3,
"maxItems": 3,
"description": "Previous phases that fed into this implementation"
}
},
"required": ["timestamp", "previous_phases"],
"additionalProperties": false
}
},
"required": ["phase", "artifacts", "validation", "metadata"],
"additionalProperties": false
}