{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rohitkumarnaidu.github.io/Forgevena/schemas/version-spec.schema.json",
  "title": "Forgevena Version Specification",
  "type": "object",
  "required": ["version", "title", "outcome", "owner", "roadmapAuthority", "riskTier", "dependsOn", "blocks", "features", "nonGoals", "metrics", "acceptance"],
  "properties": {
    "version": { "type": "string", "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]+$" },
    "title": { "type": "string", "minLength": 1 },
    "outcome": { "type": "string", "minLength": 1 },
    "owner": { "type": "string", "minLength": 1 },
    "roadmapAuthority": { "type": "string", "pattern": "^docs/.*\\.md#" },
    "riskTier": { "enum": ["tier-0", "tier-1", "tier-2", "tier-3"] },
    "dependsOn": { "type": "array", "items": { "type": "string" } },
    "blocks": { "type": "array", "items": { "type": "string" } },
    "features": { "type": "array", "minItems": 1, "items": { "$ref": "version-feature.schema.json" } },
    "nonGoals": { "type": "array", "minItems": 1, "items": { "type": "string" } },
    "metrics": { "type": "array", "minItems": 1, "items": { "type": "string" } },
    "acceptance": { "type": "array", "minItems": 1, "items": { "type": "string" } }
  },
  "additionalProperties": true
}
