{ "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" } ] }