{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/agentic-atlas-dev/json-schema/agentic-atlas-dev-decision-read-schema.json",
  "title": "Decision reading",
  "description": "One decision record, or the miss for one; `outcome` says which. A `match` is answered 200 and a `not-found` 404, and both are readings of the active Release: the same shape, X-Catalog-Revision on each, and no `error` key on the miss.",
  "x-generated": "2026-10-31",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/agentic-atlas-dev-openapi.json#/components/schemas/DecisionRead",
  "type": "object",
  "properties": {
    "catalog_revision": {
      "type": "object",
      "description": "The active Release's Catalog revision, the same identity the X-Catalog-Revision header carries, with the provenance counts beside it.",
      "properties": {
        "revision": {
          "type": "string",
          "description": "The revision two responses must share to be comparable."
        }
      },
      "required": [
        "revision"
      ]
    },
    "canonical_id": {
      "type": "string",
      "description": "The id as it was read."
    },
    "outcome": {
      "type": "string",
      "enum": [
        "match",
        "not-found"
      ],
      "description": "`match` when the record exists, answered 200; `not-found` when it does not, answered 404."
    },
    "decision": {
      "type": [
        "object",
        "null"
      ],
      "description": "The record on a match: its summary and its source Markdown. Null on a miss."
    }
  },
  "required": [
    "catalog_revision",
    "canonical_id",
    "outcome",
    "decision"
  ]
}