Files
awoooi/docs/schemas/source_control_ref_detail_diff_v1.schema.json
Your Name 9e15fd08b3
All checks were successful
CD Pipeline / tests (push) Successful in 1m39s
Code Review / ai-code-review (push) Successful in 15s
CD Pipeline / build-and-deploy (push) Successful in 5m19s
CD Pipeline / post-deploy-checks (push) Successful in 2m11s
feat(web): land iwooos security posture surfaces
2026-05-25 20:35:52 +08:00

146 lines
3.9 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:awoooi:source-control-ref-detail-diff-v1",
"title": "AWOOOI Source Control Ref Detail Diff (v1)",
"description": "針對 Gitea / GitHub refs-blocked repo 保存 branch/tag 層級 read-only diff 明細。",
"type": "object",
"required": [
"schema_version",
"status",
"date",
"default_mode",
"ignored_branches",
"repo_count",
"repos"
],
"properties": {
"schema_version": {
"const": "source_control_ref_detail_diff_v1"
},
"status": {
"type": "string",
"enum": ["draft_blocked"]
},
"date": {
"type": "string"
},
"default_mode": {
"type": "string",
"enum": ["read_only_diff"]
},
"ignored_branches": {
"type": "array",
"items": {"type": "string"}
},
"repo_count": {
"type": "integer",
"minimum": 0
},
"repos": {
"type": "array",
"items": {
"type": "object",
"required": [
"repo_key",
"repo_path",
"gitea_remote",
"github_remote",
"gitea_url_redacted",
"github_url_redacted",
"gitea_repo",
"github_repo",
"status",
"blocking_reason",
"branch_diff",
"tag_diff",
"still_forbidden"
],
"properties": {
"repo_key": {"type": "string"},
"repo_path": {"type": "string"},
"gitea_remote": {"type": "string"},
"github_remote": {"type": "string"},
"gitea_url_redacted": {"type": "string"},
"github_url_redacted": {"type": "string"},
"gitea_repo": {"type": "string"},
"github_repo": {"type": "string"},
"status": {
"type": "string",
"enum": ["blocked", "verified", "probe_failed"]
},
"blocking_reason": {"type": "string"},
"branch_diff": {"$ref": "#/$defs/refDiff"},
"tag_diff": {"$ref": "#/$defs/refDiff"},
"still_forbidden": {
"type": "array",
"items": {"type": "string"}
}
},
"additionalProperties": false
}
}
},
"$defs": {
"refItem": {
"type": "object",
"required": ["name", "sha"],
"properties": {
"name": {"type": "string"},
"sha": {"type": "string"}
},
"additionalProperties": false
},
"refMismatch": {
"type": "object",
"required": ["name", "gitea_sha", "github_sha"],
"properties": {
"name": {"type": "string"},
"gitea_sha": {"type": "string"},
"github_sha": {"type": "string"}
},
"additionalProperties": false
},
"refDiff": {
"type": "object",
"required": [
"gitea_count",
"github_count",
"only_gitea_count",
"only_github_count",
"sha_mismatch_count",
"matching_count",
"only_gitea",
"only_github",
"sha_mismatch",
"matching"
],
"properties": {
"gitea_count": {"type": "integer", "minimum": 0},
"github_count": {"type": "integer", "minimum": 0},
"only_gitea_count": {"type": "integer", "minimum": 0},
"only_github_count": {"type": "integer", "minimum": 0},
"sha_mismatch_count": {"type": "integer", "minimum": 0},
"matching_count": {"type": "integer", "minimum": 0},
"only_gitea": {
"type": "array",
"items": {"$ref": "#/$defs/refItem"}
},
"only_github": {
"type": "array",
"items": {"$ref": "#/$defs/refItem"}
},
"sha_mismatch": {
"type": "array",
"items": {"$ref": "#/$defs/refMismatch"}
},
"matching": {
"type": "array",
"items": {"$ref": "#/$defs/refItem"}
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}