{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "command-plan.schema.json", "title": "CommandPlan", "type": "object", "additionalProperties": false, "required": [ "schema_version", "section_id", "source_sha256", "mode", "command_groups" ], "properties": { "schema_version": { "const": "1.0" }, "section_id": { "type": "string", "minLength": 1 }, "source_sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" }, "mode": { "enum": [ "tutorial", "operator", "diagnostic", "automation", "reference" ] }, "command_groups": { "type": "array", "minItems": 1, "items": { "type": "object", "additionalProperties": false, "required": [ "id", "block_id", "source_sha256", "goal", "execution_context", "prerequisites", "steps", "cleanup" ], "properties": { "id": { "type": "string", "minLength": 1 }, "block_id": { "type": "string", "minLength": 1 }, "source_sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" }, "goal": { "type": "string", "minLength": 1 }, "execution_context": { "type": "object", "additionalProperties": false, "required": [ "host", "cwd" ], "properties": { "host": { "type": "string", "minLength": 1 }, "cwd": { "type": "string", "minLength": 1 } } }, "prerequisites": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "steps": { "type": "array", "minItems": 1, "items": { "type": "object", "additionalProperties": false, "required": [ "command", "reason", "expected_result" ], "properties": { "command": { "type": "string", "minLength": 1 }, "reason": { "type": "string", "minLength": 1 }, "expected_result": { "type": "string", "minLength": 1 } } } }, "cleanup": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "command", "reason" ], "properties": { "command": { "type": "string", "minLength": 1 }, "reason": { "type": "string", "minLength": 1 } } } } } } } } }