81 lines
4.4 KiB
JSON
81 lines
4.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"activation_approval_merge_oid": {"pattern": "^[0-9a-f]{40}$", "type": "string"},
|
|
"activation_approval_pr_number": {"minimum": 1, "type": "integer"},
|
|
"activation_manifest_blob_oid": {"pattern": "^[0-9a-f]{40,64}$", "type": "string"},
|
|
"activation_manifest_path": {"pattern": "^approvals/.+\\.json$", "type": "string"},
|
|
"activation_manifest_sha256": {"pattern": "^[0-9a-f]{64}$", "type": "string"},
|
|
"approval_db_path": {"minLength": 1, "type": "string"},
|
|
"approval_request_head_oid": {"pattern": "^[0-9a-f]{40}$", "type": "string"},
|
|
"backend": {"enum": ["file", "sqlite"]},
|
|
"backend_path": {"minLength": 1, "type": "string"},
|
|
"branch": {"const": "governance/approvals"},
|
|
"evidence_closure_oid": {"pattern": "^[0-9a-f]{40}$", "type": "string"},
|
|
"evidence_git_dir": {"minLength": 1, "type": "string"},
|
|
"executor": {"not": {"const": "owner"}, "type": "string"},
|
|
"expected_branch_protection_sha256": {"pattern": "^[0-9a-f]{64}$", "type": "string"},
|
|
"expected_gitea_schema_sha256": {"pattern": "^[0-9a-f]{64}$", "type": "string"},
|
|
"expected_governance_oid": {"pattern": "^[0-9a-f]{40}$", "type": "string"},
|
|
"expected_state_machine_sha256": {"pattern": "^[0-9a-f]{64}$", "type": "string"},
|
|
"expected_validator_sha256": {"pattern": "^[0-9a-f]{64}$", "type": "string"},
|
|
"expires_at": {"format": "date-time", "type": "string"},
|
|
"forbidden_operations": {"additionalProperties": {"const": false}, "type": "object"},
|
|
"governance_git_dir": {"minLength": 1, "type": "string"},
|
|
"governance_ref": {"const": "refs/heads/governance/approvals"},
|
|
"machine_checks": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"aios/branch-protection": {"$ref": "#/$defs/machineCheck"},
|
|
"aios/evidence-closure": {"$ref": "#/$defs/machineCheck"},
|
|
"aios/secret-scan": {"$ref": "#/$defs/machineCheck"},
|
|
"aios/state-machine": {"$ref": "#/$defs/machineCheck"},
|
|
"aios/validator": {"$ref": "#/$defs/machineCheck"}
|
|
},
|
|
"required": ["aios/branch-protection", "aios/evidence-closure", "aios/secret-scan", "aios/state-machine", "aios/validator"],
|
|
"type": "object"
|
|
},
|
|
"observed_evidence_closure_oid": {"pattern": "^[0-9a-f]{40}$", "type": "string"},
|
|
"observed_governance_oid": {"pattern": "^[0-9a-f]{40}$", "type": "string"},
|
|
"observed_owner_review_oid": {"type": ["integer", "string"]},
|
|
"observed_state_machine_sha256": {"pattern": "^[0-9a-f]{64}$", "type": "string"},
|
|
"observed_validator_sha256": {"pattern": "^[0-9a-f]{64}$", "type": "string"},
|
|
"operation_id": {"minLength": 1, "type": "string"},
|
|
"owner_review_oid": {"type": ["integer", "string"]},
|
|
"repo_id": {"minimum": 1, "type": "integer"},
|
|
"requester": {"not": {"const": "owner"}, "type": "string"},
|
|
"state_machine_path": {"minLength": 1, "type": "string"},
|
|
"target_branch_protection": {"type": "object"},
|
|
"task_id": {"minLength": 1, "type": "string"},
|
|
"validator_path": {"minLength": 1, "type": "string"},
|
|
"wip": {"const": false}
|
|
},
|
|
"$defs": {
|
|
"machineCheck": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"head_oid": {"pattern": "^[0-9a-f]{40}$", "type": "string"},
|
|
"state": {"const": "success"}
|
|
},
|
|
"required": ["state", "head_oid"],
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": [
|
|
"task_id", "operation_id", "expected_governance_oid", "observed_governance_oid",
|
|
"expected_validator_sha256", "observed_validator_sha256", "validator_path",
|
|
"expected_state_machine_sha256", "observed_state_machine_sha256", "state_machine_path",
|
|
"expected_branch_protection_sha256", "expected_gitea_schema_sha256",
|
|
"activation_approval_merge_oid", "activation_approval_pr_number", "approval_request_head_oid",
|
|
"activation_manifest_path", "activation_manifest_blob_oid", "activation_manifest_sha256",
|
|
"evidence_closure_oid", "observed_evidence_closure_oid", "evidence_git_dir",
|
|
"owner_review_oid", "observed_owner_review_oid", "approval_db_path", "expires_at",
|
|
"governance_git_dir", "governance_ref", "machine_checks", "forbidden_operations",
|
|
"target_branch_protection", "backend", "backend_path", "repo_id", "branch",
|
|
"requester", "executor", "wip"
|
|
],
|
|
"title": "AIOS Single Owner Live Activation Bindings",
|
|
"type": "object"
|
|
}
|