{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "SHOC PR review request", "description": "Contract for the review-pr workflow_dispatch inputs (spec ยง8). The workflow enforces this via resolve-inputs.sh; the schema documents the contract and validates test fixtures in CI.", "type": "object", "additionalProperties": false, "required": ["review_type"], "properties": { "review_type": { "enum": ["frontend", "backend", "paired"] }, "frontend_pr": { "type": "string", "pattern": "^([0-9]+|https://github\\.com/Sea-Haven-Industries/shoc-frontend-new/pull/[0-9]+(/.*)?)$", "description": "Required when review_type is frontend or paired" }, "backend_pr": { "type": "string", "pattern": "^([0-9]+|https://github\\.com/Sea-Haven-Industries/shoc-backend/pull/[0-9]+(/.*)?)$", "description": "Required when review_type is backend or paired" }, "ticket": { "type": "string", "maxLength": 200 }, "review_notes": { "type": "string", "maxLength": 4000 }, "run_mocked_e2e": { "type": "boolean", "default": true }, "model": { "enum": ["deepseek-v4-pro", "kimi-k2p6"], "default": "deepseek-v4-pro" } }, "allOf": [ { "if": { "properties": { "review_type": { "const": "frontend" } } }, "then": { "required": ["review_type", "frontend_pr"] } }, { "if": { "properties": { "review_type": { "const": "backend" } } }, "then": { "required": ["review_type", "backend_pr"] } }, { "if": { "properties": { "review_type": { "const": "paired" } } }, "then": { "required": ["review_type", "frontend_pr", "backend_pr"] } } ] }