{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "required": ["surfaces", "risk", "required-capabilities"], "properties": { "surfaces": { "type": "object", "required": ["ui", "public-api", "persistence", "infrastructure"], "properties": { "ui": {"type": "boolean"}, "public-api": {"type": "boolean"}, "persistence": {"type": "boolean"}, "infrastructure": {"type": "boolean"} } }, "risk": { "type": "object", "required": ["security-bearing", "data-migration", "external-side-effect", "risk-level", "reversibility", "blast-radius", "privacy", "regulatory", "slo-impact"], "properties": { "security-bearing": {"type": "boolean"}, "data-migration": {"type": "boolean"}, "external-side-effect": {"type": "boolean"}, "risk-level": {"enum": ["Low", "Med", "High", "Critical"]}, "reversibility": {"enum": ["two-way-door", "one-way-door"]}, "blast-radius": {"enum": ["single-role", "cross-team", "production-customer-revenue"]}, "privacy": {"type": "boolean"}, "regulatory": {"type": "boolean"}, "slo-impact": {"type": "boolean"}, "pii": {"type": "boolean"}, "data-residency": {"type": "boolean"}, "customer-impact": {"type": "boolean"}, "revenue-impact": {"type": "boolean"} } }, "required-capabilities": {"type": "array", "minItems": 1, "items": {"type": "string"}}, "surface-archetype": { "enum": ["internal-tool", "public-website", "product-application", "interactive-learning", "developer-platform", "commerce", "content-publication", "hybrid"], "description": "UI 경험의 구조적 유형. public-website와 interactive-learning은 experience-foundation 선행 게이트를 강제한다." }, "experience-change": { "enum": ["none", "incremental", "new-product", "major-redesign"], "description": "new-product 또는 major-redesign는 experience-foundation 선행 게이트를 강제한다." }, "product-feature": {"type": "boolean"}, "context-scope": { "enum": ["project", "company"], "description": "project permits scoped delivery against an existing repository without asserting company facts; company requires provisional/operating company context." } }, "allOf": [ { "if": {"properties": {"context-scope": {"const": "project"}}, "required": ["context-scope"]}, "then": {"properties": {"product-feature": {"const": true}}, "required": ["product-feature"]} } ] }