specs/197-continuous-co-review/contracts/spawn-invocation.schema.json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://specrew.local/contracts/continuous-co-review/spawn-invocation.schema.json",
  "title": "SpawnInvocation",
  "type": "object",
  "additionalProperties": false,
  "required": ["schema_version", "invocation_id", "run_id", "attempt_number", "adapter_id", "timeout_seconds", "started_at"],
  "properties": {
    "schema_version": { "const": "1.0" },
    "invocation_id": { "type": "string", "minLength": 1 },
    "run_id": { "type": "string", "minLength": 1 },
    "attempt_number": { "type": "integer", "minimum": 1, "maximum": 2 },
    "adapter_id": { "type": "string", "minLength": 1 },
    "requested_host": { "type": ["string", "null"] },
    "requested_model": { "type": ["string", "null"] },
    "actual_host": { "type": ["string", "null"] },
    "actual_model": { "type": ["string", "null"] },
    "argv_summary": { "type": "array", "items": { "type": "string" } },
    "working_directory_ref": { "type": "string" },
    "readonly_mode_requested": { "type": "boolean" },
    "readonly_mode_supported": { "type": "boolean" },
    "readonly_mode_detail": { "type": "string" },
    "timeout_seconds": { "type": "integer", "minimum": 1 },
    "stdout_capture_policy": { "enum": ["parse-json-only", "discard-on-failure", "debug-preserve-explicit"] },
    "stderr_capture_policy": { "enum": ["status-only", "discard", "debug-preserve-explicit"] },
    "exit_code": { "type": ["integer", "null"] },
    "failure_category": { "type": ["string", "null"] },
    "started_at": { "type": "string", "format": "date-time" },
    "ended_at": { "type": ["string", "null"], "format": "date-time" }
  }
}