Files
playbook/antigravity-awesome-skills/schemas/aas-v1/plan.schema.json
T
2026-07-20 00:03:02 +00:00

145 lines
6.1 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:agentic-awesome-skills:schema:stack-plan:v2",
"title": "AAS immutable single-target plan v2",
"type": "object",
"additionalProperties": false,
"required": ["schemaVersion", "kind", "digest", "payload"],
"properties": {
"schemaVersion": { "const": 2 },
"kind": { "const": "aas.stack-plan" },
"digest": { "$ref": "#/$defs/digest" },
"payload": {
"type": "object",
"additionalProperties": false,
"required": ["schemaVersion", "kind", "versions", "manifestDigest", "catalog", "runtime", "target", "installedState", "desiredSkills", "profile", "operations", "overrides", "stateCommit"],
"properties": {
"schemaVersion": { "const": 2 },
"kind": { "const": "aas.stack-plan.payload" },
"versions": { "$ref": "#/$defs/versions" },
"manifestDigest": { "$ref": "#/$defs/digest" },
"catalog": { "$ref": "#/$defs/catalog" },
"runtime": { "$ref": "#/$defs/runtime" },
"target": { "$ref": "#/$defs/target" },
"installedState": { "$ref": "#/$defs/installedState" },
"desiredSkills": { "$ref": "#/$defs/ids" },
"profile": { "$ref": "#/$defs/profile" },
"operations": { "type": "array", "maxItems": 256, "items": { "$ref": "#/$defs/operation" } },
"overrides": { "type": "array", "maxItems": 128, "items": { "$ref": "#/$defs/override" } },
"stateCommit": {
"type": "object",
"additionalProperties": false,
"required": ["previousDigest", "nextDigest", "position"],
"properties": {
"previousDigest": { "$ref": "#/$defs/digest" },
"nextDigest": { "$ref": "#/$defs/digest" },
"position": { "const": "final" }
}
}
}
}
},
"$defs": {
"digest": { "type": "string", "pattern": "^sha256-[a-f0-9]{64}$" },
"id": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[a-z0-9][a-z0-9._-]*(/[a-z0-9][a-z0-9._-]*)*$" },
"ids": { "type": "array", "maxItems": 128, "uniqueItems": true, "items": { "$ref": "#/$defs/id" } },
"versions": {
"type": "object",
"additionalProperties": false,
"required": ["protocolVersion", "coreVersion", "catalogSchemaVersion"],
"properties": {
"protocolVersion": { "type": "string", "minLength": 1 },
"coreVersion": { "type": "string", "minLength": 1 },
"catalogSchemaVersion": { "type": "string", "minLength": 1 }
}
},
"catalog": {
"type": "object",
"additionalProperties": false,
"required": ["package", "version", "integrity"],
"properties": {
"package": { "type": "string", "minLength": 1 },
"version": { "type": "string", "minLength": 1 },
"integrity": { "$ref": "#/$defs/digest" }
}
},
"runtime": {
"type": "object",
"additionalProperties": false,
"required": ["package", "version", "integrity", "closureDigest"],
"properties": {
"package": { "type": "string", "minLength": 1 },
"version": { "type": "string", "minLength": 1 },
"integrity": { "type": "string", "minLength": 1, "maxLength": 512 },
"closureDigest": { "$ref": "#/$defs/digest" }
}
},
"target": {
"type": "object",
"additionalProperties": false,
"required": ["host", "scope", "adapterVersion", "identityDigest"],
"properties": {
"host": { "enum": ["codex", "claude"] },
"scope": { "enum": ["project", "user"] },
"adapterVersion": { "type": "string", "minLength": 1, "maxLength": 64 },
"identityDigest": { "$ref": "#/$defs/digest" }
}
},
"installedEntry": {
"type": "object",
"additionalProperties": false,
"required": ["skillId", "treeDigest", "catalogIntegrity"],
"properties": {
"skillId": { "$ref": "#/$defs/id" },
"treeDigest": { "$ref": "#/$defs/digest" },
"catalogIntegrity": { "$ref": "#/$defs/digest" }
}
},
"installedState": {
"type": "object",
"additionalProperties": false,
"required": ["digest", "entries"],
"properties": {
"digest": { "$ref": "#/$defs/digest" },
"entries": { "type": "array", "maxItems": 128, "items": { "$ref": "#/$defs/installedEntry" } }
}
},
"profile": {
"type": "object",
"additionalProperties": false,
"required": ["goals", "languages", "frameworks", "constraints"],
"properties": {
"goals": { "type": "array", "minItems": 1, "maxItems": 32, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 128 } },
"projectType": { "type": "string", "minLength": 1, "maxLength": 256 },
"languages": { "$ref": "#/$defs/profileValues" },
"frameworks": { "$ref": "#/$defs/profileValues" },
"constraints": { "$ref": "#/$defs/profileValues" }
}
},
"profileValues": { "type": "array", "maxItems": 32, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 128 } },
"operation": {
"type": "object",
"additionalProperties": false,
"required": ["kind", "skillId", "sourceTreeDigest", "expectedTreeDigest", "resultTreeDigest", "backupRequired"],
"properties": {
"kind": { "enum": ["install", "replaceManaged", "removeManaged"] },
"skillId": { "$ref": "#/$defs/id" },
"sourceTreeDigest": { "oneOf": [{ "$ref": "#/$defs/digest" }, { "type": "null" }] },
"expectedTreeDigest": { "oneOf": [{ "$ref": "#/$defs/digest" }, { "type": "null" }] },
"resultTreeDigest": { "oneOf": [{ "$ref": "#/$defs/digest" }, { "type": "null" }] },
"backupRequired": { "type": "boolean" }
}
},
"override": {
"type": "object",
"additionalProperties": false,
"required": ["kind", "skillId", "reasonCodes"],
"properties": {
"kind": { "const": "managedDrift" },
"skillId": { "$ref": "#/$defs/id" },
"reasonCodes": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } }
}
}
}
}