Files
awoooi/docs/schemas/github_target_private_backup_evidence_gate_v1.schema.json

161 lines
5.3 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "github_target_private_backup_evidence_gate_v1.schema.json",
"title": "GitHub Target Private Backup Evidence Gate",
"type": "object",
"required": [
"schema_version",
"generated_at",
"status",
"mode",
"source_reviews",
"summary",
"targets",
"acceptance_requirements",
"rejection_rules",
"operation_boundaries",
"authorization_flags"
],
"properties": {
"schema_version": {
"const": "github_target_private_backup_evidence_gate_v1"
},
"generated_at": {
"type": "string"
},
"status": {
"type": "string",
"pattern": "^blocked_"
},
"mode": {
"const": "read_only_private_backup_evidence_gate"
},
"source_reviews": {
"type": "object"
},
"summary": {
"type": "object",
"required": [
"approval_required_target_count",
"public_probe_visible_target_count",
"not_found_or_private_target_count",
"private_backup_verified_count",
"safe_credential_required_count",
"safe_credential_accepted_evidence_count",
"execution_ready_count",
"repo_creation_authorized",
"visibility_change_authorized",
"refs_sync_authorized",
"github_primary_switch_authorized",
"workflow_modification_authorized",
"workflow_trigger_authorized",
"secret_value_collection_allowed",
"private_clone_url_collection_allowed",
"not_found_or_private_as_absent_allowed",
"public_repo_allowed"
],
"properties": {
"repo_creation_authorized": { "const": false },
"visibility_change_authorized": { "const": false },
"refs_sync_authorized": { "const": false },
"github_primary_switch_authorized": { "const": false },
"workflow_modification_authorized": { "const": false },
"workflow_trigger_authorized": { "const": false },
"secret_value_collection_allowed": { "const": false },
"private_clone_url_collection_allowed": { "const": false },
"not_found_or_private_as_absent_allowed": { "const": false },
"public_repo_allowed": { "const": false }
}
},
"targets": {
"type": "array",
"items": {
"type": "object",
"required": [
"github_repo",
"approval_required",
"probe_status",
"visibility_evidence_status",
"private_backup_verified",
"owner_response_accepted",
"refs_sync_ready",
"execution_ready",
"blockers",
"repo_creation_authorized",
"visibility_change_authorized",
"refs_sync_authorized",
"github_primary_switch_authorized",
"secret_values_collected"
],
"properties": {
"private_backup_verified": { "const": false },
"owner_response_accepted": { "const": false },
"refs_sync_ready": { "const": false },
"execution_ready": { "const": false },
"repo_creation_authorized": { "const": false },
"visibility_change_authorized": { "const": false },
"refs_sync_authorized": { "const": false },
"github_primary_switch_authorized": { "const": false },
"secret_values_collected": { "const": false },
"blockers": {
"type": "array",
"minItems": 1
}
}
}
},
"acceptance_requirements": {
"type": "array",
"minItems": 1,
"items": { "type": "string" }
},
"rejection_rules": {
"type": "array",
"minItems": 1,
"items": { "type": "string" }
},
"operation_boundaries": {
"type": "object",
"required": [
"read_only_api_allowed",
"github_api_write_allowed",
"gitea_api_write_allowed",
"repo_creation_allowed",
"visibility_change_allowed",
"refs_sync_allowed",
"workflow_modification_allowed",
"workflow_trigger_allowed",
"github_primary_switch_allowed",
"secret_value_collection_allowed",
"private_clone_url_collection_allowed"
],
"properties": {
"read_only_api_allowed": { "const": true },
"github_api_write_allowed": { "const": false },
"gitea_api_write_allowed": { "const": false },
"repo_creation_allowed": { "const": false },
"visibility_change_allowed": { "const": false },
"refs_sync_allowed": { "const": false },
"workflow_modification_allowed": { "const": false },
"workflow_trigger_allowed": { "const": false },
"github_primary_switch_allowed": { "const": false },
"secret_value_collection_allowed": { "const": false },
"private_clone_url_collection_allowed": { "const": false }
}
},
"authorization_flags": {
"type": "object",
"properties": {
"runtime_execution_authorized": { "const": false },
"repo_creation_authorized": { "const": false },
"visibility_change_authorized": { "const": false },
"refs_sync_authorized": { "const": false },
"workflow_modification_authorized": { "const": false },
"workflow_trigger_authorized": { "const": false },
"github_primary_switch_authorized": { "const": false },
"secret_values_collected": { "const": false }
}
}
}
}