{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://skill-map.ai/spec/v1/summaries/markdown.schema.json",
  "title": "SummaryMarkdown",
  "description": "Report produced by `ai-summarizer-action` for a single node of ANY kind. `markdown` names the body format the summarizer reads (every node body is markdown prose, including frontmatter-field bodies like codex TOML `developer_instructions`), NOT the node kind: the summarizer is universal and `state_summaries.kind` mirrors the target node's own kind. This is the single canonical node-summary shape; a report schema that extends it via `$ref` (the `summaries/` namespace is the detection signal) marks its Action as a summarizer, see `job-lifecycle.md` §Record. Extends `report-base.schema.json`. Stability: experimental.",
  "allOf": [
    { "$ref": "../report-base.schema.json" }
  ],
  "type": "object",
  "required": ["whatItCovers"],
  "additionalProperties": false,
  "properties": {
    "confidence": true,
    "safety": true,
    "whatItCovers": {
      "type": "string",
      "description": "One-sentence summary of the file's subject matter. REQUIRED. Named distinctly from `whatItDoes` since markdown notes describe, not act."
    },
    "topics": {
      "type": "array",
      "description": "Topical tags inferred from the body. Feed into tag-based discovery and `related` link inference.",
      "items": { "type": "string" }
    },
    "keyFacts": {
      "type": "array",
      "description": "Discrete claims or data points the file asserts. Useful for search and diffing over time.",
      "items": { "type": "string" }
    },
    "relatedNodes": {
      "type": "array",
      "items": { "type": "string" }
    },
    "qualityNotes": {
      "type": "string"
    }
  }
}
