177 lines
7.2 KiB
JSON
177 lines
7.2 KiB
JSON
{
|
||
"schema_version": "source_control_reconcile_plan_v1",
|
||
"status": "draft_blocked",
|
||
"date": "2026-06-04",
|
||
"default_mode": "plan_only",
|
||
"inventory_gate": {
|
||
"status": "blocked",
|
||
"reason": "Gitea authenticated / admin_export server-side inventory 尚未完成;本 plan 只能作草案,不可執行 refs sync。",
|
||
"required_before_execution": [
|
||
"Gitea authenticated 或 admin_export server-side repo inventory status=ok",
|
||
"branch-by-branch SHA diff 已完成",
|
||
"tag-by-tag SHA diff 已完成",
|
||
"workflow / webhook / runner / secret 名稱 inventory 已完成",
|
||
"repo owner / visibility / branch protection / CODEOWNERS 已確認",
|
||
"rollback plan 與 GitHub primary ADR 已完成",
|
||
"人工批准只針對單一 repo 生效,不得批次套用到所有 repo"
|
||
]
|
||
},
|
||
"plan_count": 3,
|
||
"plans": [
|
||
{
|
||
"gitea_repo": "wooo/awoooi",
|
||
"github_repo": "owenhytsai/awoooi",
|
||
"risk": "HIGH",
|
||
"source_status": "blocked",
|
||
"divergence_summary": {
|
||
"gitea_branch_count": 170,
|
||
"github_branch_count": 2,
|
||
"gitea_tag_count": 2,
|
||
"github_tag_count": 0,
|
||
"gitea_main_sha": "64490d32c67d24ed123cbd4e2261c69e17913e38",
|
||
"github_main_sha": "202071f7a8724d5e8c29de441c3f380575a0ea94",
|
||
"blocking_reason": "branches 尚未完全對齊;tags 尚未完全對齊"
|
||
},
|
||
"proposed_plan_steps": [
|
||
"先確認目前 production deploy 真相來源與 deploy marker 流程,避免主控切換影響發版。",
|
||
"針對 `wooo/awoooi` 與 `owenhytsai/awoooi` 產生 branch-by-branch diff 表。",
|
||
"針對 `wooo/awoooi` 與 `owenhytsai/awoooi` 產生 tag-by-tag diff 表。",
|
||
"標記每個 diff 的真相來源候選:Gitea、GitHub、人工指定或 deprecated。",
|
||
"列出 workflow / webhook / runner / secret 名稱差異,只記名稱不記 value。",
|
||
"產生 dry-run PR / ADR 草案,仍不 push refs。"
|
||
],
|
||
"execution_gates": [
|
||
"Gitea authenticated 或 admin_export server-side repo inventory status=ok",
|
||
"branch-by-branch SHA diff 已完成",
|
||
"tag-by-tag SHA diff 已完成",
|
||
"workflow / webhook / runner / secret 名稱 inventory 已完成",
|
||
"repo owner / visibility / branch protection / CODEOWNERS 已確認",
|
||
"rollback plan 與 GitHub primary ADR 已完成",
|
||
"人工批准只針對單一 repo 生效,不得批次套用到所有 repo"
|
||
],
|
||
"allowed_now": [
|
||
"更新 read-only evidence",
|
||
"更新 approval board",
|
||
"產生 draft reconcile plan",
|
||
"讓 AwoooP mirror plan 狀態"
|
||
],
|
||
"still_forbidden": [
|
||
"push refs",
|
||
"force push",
|
||
"delete refs",
|
||
"create GitHub repo",
|
||
"change repo visibility",
|
||
"switch GitHub primary",
|
||
"disable Gitea",
|
||
"move secret values"
|
||
],
|
||
"evidence_refs": [
|
||
"docs/security/GITEA-GITHUB-MIGRATION-SNAPSHOT.md"
|
||
],
|
||
"awooop_consumption": "approval_candidate"
|
||
},
|
||
{
|
||
"gitea_repo": "wooo/clawbot-v5",
|
||
"github_repo": "owenhytsai/clawbot-v5",
|
||
"risk": "MEDIUM",
|
||
"source_status": "blocked",
|
||
"divergence_summary": {
|
||
"gitea_branch_count": 1,
|
||
"github_branch_count": 1,
|
||
"gitea_tag_count": 1,
|
||
"github_tag_count": 0,
|
||
"gitea_main_sha": "22074fbe4d6ec6c11c86f76139eea55756d1d160",
|
||
"github_main_sha": "7a769de46450087f9d6a8ef0d2ac23ed15565d2c",
|
||
"blocking_reason": "branches 尚未完全對齊;tags 尚未完全對齊"
|
||
},
|
||
"proposed_plan_steps": [
|
||
"針對 `wooo/clawbot-v5` 與 `owenhytsai/clawbot-v5` 產生 branch-by-branch diff 表。",
|
||
"針對 `wooo/clawbot-v5` 與 `owenhytsai/clawbot-v5` 產生 tag-by-tag diff 表。",
|
||
"標記每個 diff 的真相來源候選:Gitea、GitHub、人工指定或 deprecated。",
|
||
"列出 workflow / webhook / runner / secret 名稱差異,只記名稱不記 value。",
|
||
"產生 dry-run PR / ADR 草案,仍不 push refs。"
|
||
],
|
||
"execution_gates": [
|
||
"Gitea authenticated 或 admin_export server-side repo inventory status=ok",
|
||
"branch-by-branch SHA diff 已完成",
|
||
"tag-by-tag SHA diff 已完成",
|
||
"workflow / webhook / runner / secret 名稱 inventory 已完成",
|
||
"repo owner / visibility / branch protection / CODEOWNERS 已確認",
|
||
"rollback plan 與 GitHub primary ADR 已完成",
|
||
"人工批准只針對單一 repo 生效,不得批次套用到所有 repo"
|
||
],
|
||
"allowed_now": [
|
||
"更新 read-only evidence",
|
||
"更新 approval board",
|
||
"產生 draft reconcile plan",
|
||
"讓 AwoooP mirror plan 狀態"
|
||
],
|
||
"still_forbidden": [
|
||
"push refs",
|
||
"force push",
|
||
"delete refs",
|
||
"create GitHub repo",
|
||
"change repo visibility",
|
||
"switch GitHub primary",
|
||
"disable Gitea",
|
||
"move secret values"
|
||
],
|
||
"evidence_refs": [
|
||
"docs/security/SOURCE-CONTROL-CLAWBOT-V5-SNAPSHOT.md"
|
||
],
|
||
"awooop_consumption": "approval_candidate"
|
||
},
|
||
{
|
||
"gitea_repo": "wooo/wooo-aiops",
|
||
"github_repo": "owenhytsai/wooo-aiops",
|
||
"risk": "MEDIUM",
|
||
"source_status": "blocked",
|
||
"divergence_summary": {
|
||
"gitea_branch_count": 2,
|
||
"github_branch_count": 3,
|
||
"gitea_tag_count": 0,
|
||
"github_tag_count": 19,
|
||
"gitea_main_sha": "507384a2e1943f4183942bf17d7b52e223067853",
|
||
"github_main_sha": "7c7aa109d93da6d75d687d6ee5131151afee37e8",
|
||
"blocking_reason": "branches 尚未完全對齊;tags 尚未完全對齊"
|
||
},
|
||
"proposed_plan_steps": [
|
||
"針對 `wooo/wooo-aiops` 與 `owenhytsai/wooo-aiops` 產生 branch-by-branch diff 表。",
|
||
"針對 `wooo/wooo-aiops` 與 `owenhytsai/wooo-aiops` 產生 tag-by-tag diff 表。",
|
||
"標記每個 diff 的真相來源候選:Gitea、GitHub、人工指定或 deprecated。",
|
||
"列出 workflow / webhook / runner / secret 名稱差異,只記名稱不記 value。",
|
||
"產生 dry-run PR / ADR 草案,仍不 push refs。"
|
||
],
|
||
"execution_gates": [
|
||
"Gitea authenticated 或 admin_export server-side repo inventory status=ok",
|
||
"branch-by-branch SHA diff 已完成",
|
||
"tag-by-tag SHA diff 已完成",
|
||
"workflow / webhook / runner / secret 名稱 inventory 已完成",
|
||
"repo owner / visibility / branch protection / CODEOWNERS 已確認",
|
||
"rollback plan 與 GitHub primary ADR 已完成",
|
||
"人工批准只針對單一 repo 生效,不得批次套用到所有 repo"
|
||
],
|
||
"allowed_now": [
|
||
"更新 read-only evidence",
|
||
"更新 approval board",
|
||
"產生 draft reconcile plan",
|
||
"讓 AwoooP mirror plan 狀態"
|
||
],
|
||
"still_forbidden": [
|
||
"push refs",
|
||
"force push",
|
||
"delete refs",
|
||
"create GitHub repo",
|
||
"change repo visibility",
|
||
"switch GitHub primary",
|
||
"disable Gitea",
|
||
"move secret values"
|
||
],
|
||
"evidence_refs": [
|
||
"docs/security/SOURCE-CONTROL-WOOO-AIOPS-SNAPSHOT.md"
|
||
],
|
||
"awooop_consumption": "approval_candidate"
|
||
}
|
||
]
|
||
}
|