Files
yao-meta-skill/schemas/adaptation-proposal.schema.json
T
2026-06-15 21:09:25 +08:00

131 lines
2.9 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://yao.local/schemas/adaptation-proposal.schema.json",
"title": "Yao Adaptation Proposal Report",
"type": "object",
"required": [
"schema_version",
"ok",
"generated_at",
"skill_dir",
"summary",
"proposal_contract",
"proposals",
"artifacts"
],
"properties": {
"schema_version": {
"const": "1.0"
},
"ok": {
"type": "boolean"
},
"generated_at": {
"type": "string"
},
"skill_dir": {
"type": "string"
},
"summary": {
"type": "object",
"required": ["pattern_count", "proposal_count", "apply_supported"],
"properties": {
"pattern_count": {
"type": "integer",
"minimum": 0
},
"proposal_count": {
"type": "integer",
"minimum": 0
},
"apply_supported": {
"const": false
}
},
"additionalProperties": true
},
"proposal_contract": {
"type": "object",
"required": [
"proposal_only",
"approval_required",
"writes_repository_files",
"allowlisted_targets_required",
"rollback_required_for_apply"
],
"properties": {
"proposal_only": {
"const": true
},
"approval_required": {
"const": true
},
"writes_repository_files": {
"const": false
},
"allowlisted_targets_required": {
"const": true
},
"rollback_required_for_apply": {
"const": true
}
},
"additionalProperties": true
},
"proposals": {
"type": "array",
"items": {
"type": "object",
"required": [
"proposal_id",
"status",
"requires_approval",
"write_allowed_without_approval",
"target_files",
"verification_commands",
"rollback_plan"
],
"properties": {
"proposal_id": {
"type": "string",
"minLength": 1
},
"status": {
"const": "proposal-only"
},
"requires_approval": {
"const": true
},
"write_allowed_without_approval": {
"const": false
},
"risk_level": {
"enum": ["low", "medium", "high"]
},
"target_files": {
"type": "array",
"items": {
"type": "string"
}
},
"verification_commands": {
"type": "array",
"items": {
"type": "string"
}
},
"rollback_plan": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": true
}
},
"artifacts": {
"type": "object"
}
},
"additionalProperties": true
}