{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "ReleaseDagSchema",
  "type": "object",
  "properties": {
    "schema_version": { "type": "string" },
    "goal": { "type": "string" },
    "dag": {
      "type": "object",
      "properties": {
        "nodes": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "properties": {
              "id": { "type": "string" },
              "command": {
                "type": "array",
                "items": { "type": "string" }
              },
              "inputs": {
                "type": "array",
                "items": { "type": "string" }
              },
              "outputs": {
                "type": "array",
                "items": { "type": "string" }
              },
              "depends_on": {
                "type": "array",
                "items": { "type": "string" }
              },
              "timeout_sec": { "type": "integer" },
              "cache_key": { "type": "string" },
              "strict": { "type": "boolean" },
              "artifact_policy": { "type": "string" }
            },
            "required": ["id", "command"]
          }
        }
      },
      "required": ["nodes"]
    }
  },
  "required": ["schema_version", "dag"]
}
