{ "$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 } } } } } }