Files
playbook/antigravity-awesome-skills/schemas/aas-v1/recommendation-output.schema.json
T
2026-07-18 00:02:59 +00:00

150 lines
6.5 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:agentic-awesome-skills:schema:recommendation-output:v1",
"title": "AAS deterministic recommendation output v1",
"type": "object",
"additionalProperties": false,
"required": ["ok", "status", "protocolVersion", "coreVersion", "metadataSchemaVersion", "scorerVersion", "catalog", "normalizedInput", "recommended", "discoveryCandidates", "candidateCounts", "proposedStack", "includedSkillIds", "coveredGoals", "uncoveredGoals", "goalCapabilityMatrix", "exclusions", "exclusionReasonCounts", "hardPolicyViolations", "discoveryPromotions", "unknown", "measures"],
"properties": {
"ok": { "const": true },
"status": { "enum": ["complete", "partial", "insufficientCoverage"] },
"protocolVersion": { "type": "string", "minLength": 1 },
"coreVersion": { "type": "string", "minLength": 1 },
"metadataSchemaVersion": { "type": "string", "minLength": 1 },
"scorerVersion": { "type": "string", "minLength": 1 },
"catalog": { "$ref": "#/$defs/catalog" },
"normalizedInput": { "type": "object" },
"recommended": { "type": "array", "maxItems": 25, "items": { "$ref": "#/$defs/candidate" } },
"discoveryCandidates": { "type": "array", "maxItems": 25, "items": { "$ref": "#/$defs/candidate" } },
"candidateCounts": {
"type": "object",
"additionalProperties": false,
"required": ["recommendedTotal", "recommendedReturned", "discoveryTotal", "discoveryReturned", "excludedTotal", "excludedReturned"],
"properties": {
"recommendedTotal": { "type": "integer", "minimum": 0 },
"recommendedReturned": { "type": "integer", "minimum": 0, "maximum": 25 },
"discoveryTotal": { "type": "integer", "minimum": 0 },
"discoveryReturned": { "type": "integer", "minimum": 0, "maximum": 25 },
"excludedTotal": { "type": "integer", "minimum": 0 },
"excludedReturned": { "type": "integer", "minimum": 0, "maximum": 25 }
}
},
"proposedStack": { "$ref": "#/$defs/ids" },
"includedSkillIds": { "$ref": "#/$defs/ids" },
"coveredGoals": { "$ref": "#/$defs/strings" },
"uncoveredGoals": { "$ref": "#/$defs/strings" },
"goalCapabilityMatrix": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": ["goal", "critical", "skillIds"],
"properties": {
"goal": { "type": "string" },
"critical": { "type": "boolean" },
"skillIds": { "$ref": "#/$defs/ids" }
}
}
},
"exclusions": {
"type": "array",
"maxItems": 25,
"items": {
"type": "object",
"additionalProperties": false,
"required": ["id", "reasonCodes"],
"properties": { "id": { "$ref": "#/$defs/id" }, "reasonCodes": { "$ref": "#/$defs/strings" } }
}
},
"exclusionReasonCounts": {
"type": "object",
"additionalProperties": { "type": "integer", "minimum": 1 }
},
"hardPolicyViolations": { "type": "array", "maxItems": 0 },
"discoveryPromotions": { "type": "array", "items": { "type": "object" } },
"unknown": { "$ref": "#/$defs/strings" },
"measures": {
"type": "object",
"additionalProperties": false,
"required": ["goalCoverage", "metadataCompleteness", "evidenceStrength"],
"properties": {
"goalCoverage": { "type": "integer", "minimum": 0, "maximum": 1000 },
"metadataCompleteness": { "type": "integer", "minimum": 0, "maximum": 1000 },
"evidenceStrength": { "type": "integer", "minimum": 0, "maximum": 1000 }
}
}
},
"$defs": {
"id": { "type": "string", "minLength": 1, "maxLength": 256 },
"ids": { "type": "array", "uniqueItems": true, "items": { "$ref": "#/$defs/id" } },
"strings": { "type": "array", "uniqueItems": true, "items": { "type": "string" } },
"catalog": {
"type": "object",
"additionalProperties": false,
"required": ["package", "version", "digest"],
"properties": {
"package": { "type": "string" },
"version": { "type": "string" },
"digest": { "type": "string", "pattern": "^sha256-[a-f0-9]{64}$" }
}
},
"candidate": {
"type": "object",
"additionalProperties": false,
"required": ["id", "factors", "totalScore", "coveredGoals", "eligibility", "evidenceRefs", "metadata"],
"properties": {
"id": { "$ref": "#/$defs/id" },
"factors": { "type": "object", "additionalProperties": { "type": "integer" } },
"totalScore": { "type": "integer" },
"coveredGoals": { "$ref": "#/$defs/strings" },
"evidenceRefs": {
"type": "array",
"maxItems": 8,
"uniqueItems": true,
"items": { "type": "string", "pattern": "^sha256-[a-f0-9]{64}$" }
},
"eligibility": {
"type": "object",
"additionalProperties": false,
"required": ["eligibleForRecommendation", "hardBlocked", "eligibilityReasonCodes", "evidenceLevel", "unknownFields", "targetCompatibility"],
"properties": {
"eligibleForRecommendation": { "type": "boolean" },
"hardBlocked": { "type": "boolean" },
"eligibilityReasonCodes": { "$ref": "#/$defs/strings" },
"evidenceLevel": { "enum": ["evidence-backed", "incomplete"] },
"unknownFields": { "$ref": "#/$defs/strings" },
"targetCompatibility": { "enum": ["supported", "blocked", "unknown"] }
}
},
"metadata": {
"type": "object",
"additionalProperties": false,
"required": ["capabilities", "risk", "source", "setup", "targets", "dependencies", "conflicts", "validation", "tests", "reviews"],
"properties": {
"capabilities": { "$ref": "#/$defs/judgment" },
"risk": { "$ref": "#/$defs/judgment" },
"source": { "$ref": "#/$defs/judgment" },
"setup": { "$ref": "#/$defs/judgment" },
"targets": { "$ref": "#/$defs/judgment" },
"dependencies": { "$ref": "#/$defs/judgment" },
"conflicts": { "$ref": "#/$defs/judgment" },
"validation": { "$ref": "#/$defs/judgment" },
"tests": { "$ref": "#/$defs/judgment" },
"reviews": { "$ref": "#/$defs/judgment" }
}
},
"insertionReason": { "type": "object" }
}
},
"judgment": {
"type": "object",
"additionalProperties": false,
"required": ["status", "value"],
"properties": {
"status": { "enum": ["known", "unknown", "notApplicable"] },
"value": {}
}
}
}
}