{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "anu_v3/schemas/batch_runtime_reconcile.schema.json",
  "title": "anu_v3.batch_runtime_reconcile.v1",
  "description": "Read-only normalized reconcile fixture consumed by the +29 registry. Mirrors memory/fixtures/task-2553.runtime-reconcile.fixture.json.",
  "type": "object",
  "required": ["schema", "source", "source_sha256", "tracks"],
  "properties": {
    "schema": { "type": "string", "const": "anu_v3.runtime_reconcile_fixture.v1" },
    "source": { "type": "string" },
    "source_sha256": { "type": "string" },
    "frozen_batch_state_ref": { "type": "string" },
    "frozen_batch_state_sha256": { "type": "string" },
    "normalized_ts_kst": { "type": "string" },
    "note": { "type": "string" },
    "tracks": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "task_id",
          "executor",
          "dispatch_cron_id",
          "fallback_callback_cron_id",
          "normal_collector_registered",
          "normal_collector_executed",
          "by_design_no_normal_collector",
          "result_present",
          "done_present",
          "fallback_state",
          "terminal_outcome",
          "hold_for_chair"
        ],
        "properties": {
          "task_id": { "type": "string" },
          "executor": { "type": "string" },
          "dispatch_cron_id": { "type": "string" },
          "dispatch_status": { "type": "string" },
          "expected_normal_collector_cron_id": { "type": ["string", "null"] },
          "fallback_callback_cron_id": { "type": "string" },
          "expected_artifacts": { "type": "array", "items": { "type": "string" } },
          "normal_collector_registered": { "type": "boolean" },
          "normal_collector_executed": { "type": "boolean" },
          "by_design_no_normal_collector": { "type": "boolean" },
          "result_present": { "type": "boolean" },
          "done_present": { "type": "boolean" },
          "fallback_state": { "type": "string" },
          "fallback_fire_kst": { "type": ["string", "null"] },
          "terminal_outcome": { "type": "string" },
          "hold_for_chair": { "type": "boolean" }
        },
        "additionalProperties": true
      }
    },
    "cross_task_contamination": { "type": "string" },
    "critical7_or_hold": { "type": "string" }
  },
  "additionalProperties": true
}
