{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": ["source-artifact-refs", "hypotheses", "experiments", "evidence", "option-evaluations", "kill-criteria", "recommendation"], "properties": { "source-artifact-refs": { "type": "array", "minItems": 2, "items": { "type": "object", "required": ["artifact-id", "artifact-sha256"], "properties": { "artifact-id": {"type": "string", "minLength": 1}, "artifact-sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"} } } }, "hypotheses": {"type": "array", "minItems": 1}, "experiments": {"type": "array", "minItems": 1}, "evidence": {"type": "array", "minItems": 1}, "option-evaluations": { "type": "array", "minItems": 2, "items": { "type": "object", "required": [ "id", "customer", "painful-job", "current-alternative", "wedge", "monetization", "expected-price", "reachable-customers", "rough-revenue-ceiling", "acquisition-channel", "build-cost", "operation-cost", "founder-fit", "defensibility", "kill-criteria", "unresolved-assumptions", "validation-results" ], "properties": { "id": {"type": "string", "minLength": 1}, "kill-criteria": {"type": "array", "minItems": 1}, "unresolved-assumptions": {"type": "array"}, "validation-results": { "type": "array", "minItems": 9, "items": { "type": "object", "required": ["option-id", "gate", "verdict", "evidence", "dissent"], "properties": { "option-id": {"type": "string", "minLength": 1}, "gate": { "enum": [ "problem-intensity", "competition-alternatives", "willingness-to-pay", "revenue-unit-economics", "tech-feasibility-moat", "operability", "distribution", "founder-fit", "kill-criteria" ] }, "verdict": {"enum": ["pass", "fail", "unknown"]}, "evidence": {"type": "array"}, "dissent": {"type": "array"} } } } } } }, "kill-criteria": {"type": "array", "minItems": 1}, "recommendation": {"type": "string", "minLength": 1} } }