32 KiB
AwoooP x Security Supply Chain 整合 Handoff
| 項目 | 內容 |
|---|---|
| 日期 | 2026-05-06 |
| 狀態 | 已同步給 AwoooP 主線,僅文件與契約整合,尚未做 runtime 變更;2026-05-12 開始第一波 read-only 工具化 |
| 目的 | 讓 AwoooP Session 與 Kali/GitHub/Codex/Gitea 資安供應鏈 Session 在同一條治理主線上推進 |
| 低摩擦 policy | docs/security/SECURITY-LOW-FRICTION-ROLLOUT-POLICY.md |
| Contract manifest | docs/security/SECURITY-SUPPLY-CHAIN-CONTRACT-MANIFEST.md |
| 原則 | 低摩擦分階段、雙 Session 推進、共享契約、AwoooP 做治理控制面,資安供應鏈做 evidence 與執行來源 |
0. 給 AwoooP Session 的立即同步訊息
統帥已批准本支線開始推進,並要求以下工作納入同一個資安工作項目:
- Kali
192.168.0.112建置完整資訊安全網。 - 開發主機
192.168.0.111、192.168.0.168納入 observe-only 資安資產。 - Code Review 後需要 coding 的工作串接 Codex。
- 長期改為 GitHub primary,Gitea 降級為本地 mirror / fallback。
- Gitea 目前所有專案版本都必須完整盤點並轉移/同步到 GitHub。
- 上述事項必須與 AwoooP 治理控制面整合,不可形成第二套資安流程。
本文件是給 AwoooP Session 的同步入口。請先把這份 handoff 視為共享契約,不要直接把 Kali 掃描、Codex patch 或 GitHub 遷移邏輯塞進 AwoooP runtime。
統帥補充原則:初期不要把資安等級一次拉太高。AwoooP 初期應先支援 mirror / observe / warn / approval candidate,而不是把所有 findings、repo 狀態或流程差異都變成阻擋條件。
1. Session 分工
AwoooP 主線 Session
負責:
- Policy / EffectivePolicy。
- Approval gate。
- Channel Event。
- Operator Console。
- MCP Gateway。
- Run State / Audit Sink。
- Contract packages / validators。
- Governance event 與 exception policy。
不得直接接手:
- Kali scan 執行。
- exploit verification。
- production deploy。
- secret rotation。
- firewall / RBAC / NetworkPolicy 修改。
- GitHub/Gitea 主控切換。
Security Supply Chain Session
負責:
- Kali findings 與
security_finding_v1。 - Code Review findings 與
coding_task_v1。 - GitHub primary / Gitea mirror 遷移盤點。
- Gitea 全量版本轉移 inventory。
- Source control / CI/CD supply chain evidence。
- Codex patch-only / suggest-only 接力設計。
- 112/111/168 asset seed 與 observe-only scope。
不得直接接手:
- AwoooP DB migration。
- EffectivePolicy runtime enforcement。
- MCP Gateway runtime gate。
- Channel Hub runtime 實作。
- Operator Console 主線 UI。
2. 共享目標架構
Kali / Code Review / GitHub / Gitea / Codex
-> security_supply_chain_contract_manifest_v1
-> security_finding_v1 / coding_task_v1 / source_control_migration_event_v1 / gitea_repo_inventory_v1 / local_git_remote_inventory_v1 / github_target_probe_v1 / github_target_decision_v1 / github_target_repo_approval_package_v1 / security_rollout_policy_v1
-> AWOOOI ingestion / asset_inventory / AIOps KPI / AOL
-> mirror 到 AwoooP Runtime State / Channel Event / Audit
-> AwoooP Policy / Approval / Exception / Operator Console
-> 人工批准後才進本地 deployment plane
初期只允許 mirror / read-only / suggest-only,不允許 AwoooP 直接觸發高風險執行。
3. 必須共享的事件契約
security_finding_v1
用途:承接 Kali、Trivy、ZAP、Semgrep、detect-secrets、kube posture 等 findings。
Schema:docs/schemas/security_finding_v1.schema.json
最小欄位:
{
"schema_version": "security_finding_v1",
"finding_id": "stable fingerprint",
"scan_run_id": "string",
"scanner": "kali|trivy|zap|semgrep|detect-secrets|kube-bench",
"asset_key": "string",
"target_type": "host|website|api_endpoint|container|package|repo|k8s_resource|tool",
"target": "redacted identifier",
"category": "exposure|cve|secret|misconfig|auth|tls|web|code|supply_chain|network",
"severity": "LOW|MEDIUM|HIGH|CRITICAL",
"confidence": "LOW|MEDIUM|HIGH",
"recommended_mode": "observe|warn|approve_required|block_candidate",
"evidence_ref": "redacted evidence pointer",
"summary": "繁體中文摘要",
"recommended_action": "繁體中文建議"
}
AwoooP 初期處理方式:mirror 成 Runtime State / Channel Event,不 enforcement。
security_rollout_policy_v1
用途:定義 Security Supply Chain 初期的低摩擦 rollout policy,避免把 observation 全部變成 blocking controls。
Schema:docs/schemas/security_rollout_policy_v1.schema.json
最小欄位:
{
"schema_version": "security_rollout_policy_v1",
"status": "draft",
"default_mode": "observe",
"enforcement_level": "mirror_only"
}
AwoooP 初期處理方式:只作為 read-only policy 與 Operator Console 顯示,不做 runtime enforcement。
security_supply_chain_contract_manifest_v1
用途:集中列出 Security Supply Chain 初期可供 AwoooP 消費的 schema、snapshot、人讀文件、允許動作與禁止動作。
Schema:docs/schemas/security_supply_chain_contract_manifest_v1.schema.json
最小欄位:
{
"schema_version": "security_supply_chain_contract_manifest_v1",
"status": "draft",
"default_enforcement_level": "mirror_only",
"contract_count": 12
}
AwoooP 初期處理方式:作為 contract registry 與 Operator Console 入口,只路由 mirror/read-only/approval queue,不作 execution router。
coding_task_v1
用途:承接 Code Review 後需要 Codex coding 的項目。
Schema:docs/schemas/coding_task_v1.schema.json
最小欄位:
{
"schema_version": "coding_task_v1",
"source": "github_code_review|gitea_code_review|codex_security|manual_review",
"repo": "string",
"branch": "string",
"base_sha": "string",
"head_sha": "string",
"risk": "LOW|MEDIUM|HIGH|CRITICAL",
"summary": "繁體中文摘要",
"allowed_actions": ["create_patch", "add_tests", "open_draft_pr"],
"blocked_actions": ["auto_merge", "production_deploy", "force_push", "secret_rotation", "network_policy_change"],
"required_reviewers": ["critic", "vuln-verifier"]
}
AwoooP 初期處理方式:作為 approval-ready work item,不自動執行。
source_control_migration_event_v1
用途:追蹤 Gitea 全量版本轉移到 GitHub 的供應鏈安全證據。
Schema:docs/schemas/source_control_migration_event_v1.schema.json
最小欄位:
{
"schema_version": "source_control_migration_event_v1",
"gitea_repo": "string",
"github_repo": "string",
"branch_count_gitea": 0,
"branch_count_github": 0,
"tag_count_gitea": 0,
"tag_count_github": 0,
"latest_sha_gitea": "string",
"latest_sha_github": "string",
"workflows_mapped": true,
"webhooks_mapped": true,
"secrets_inventory_only": true,
"status": "inventory|mirrored|verified|blocked",
"blocking_reason": "繁體中文說明"
}
AwoooP 初期處理方式:作為 supply chain governance evidence,不觸發 deploy。
gitea_repo_inventory_v1
用途:追蹤 Gitea org/user repo list 的全量盤點,作為「所有 Gitea 專案版本轉移到 GitHub」的前置 evidence。
Schema:docs/schemas/gitea_repo_inventory_v1.schema.json
最小欄位:
{
"schema_version": "gitea_repo_inventory_v1",
"base_url": "http://192.168.0.110:3001",
"org": "wooo",
"query_mode": "user",
"visibility_scope": "public_only",
"github_owner": "owenhytsai",
"token_present": false,
"http_status": 200,
"status": "partial",
"repo_count": 2,
"repos": [
{
"gitea_repo": "wooo/awoooi",
"name": "awoooi",
"owner": "wooo",
"private": false,
"empty": false,
"archived": false,
"default_branch": "main",
"clone_url_redacted": "http://192.168.0.110:3001/wooo/awoooi.git",
"ssh_url_redacted": "ssh://localhost:2222/wooo/awoooi.git",
"github_repo_candidate": "owenhytsai/awoooi"
},
{
"gitea_repo": "wooo/ewoooc",
"name": "ewoooc",
"owner": "wooo",
"private": false,
"empty": false,
"archived": false,
"default_branch": "main",
"clone_url_redacted": "http://192.168.0.110:3001/wooo/ewoooc.git",
"ssh_url_redacted": "ssh://localhost:2222/wooo/ewoooc.git",
"github_repo_candidate": "owenhytsai/ewoooc"
}
]
}
AwoooP 初期處理方式:作為 migration matrix 的 read-only evidence;partial 只代表 public-only 可見範圍,不得觸發 repo 建立、刪除、封存或 GitHub primary 切換。
local_git_remote_inventory_v1
用途:在 Gitea API 受阻時,盤點本機可見 Git working tree 的 remote URL,找出仍指向 Gitea、GitHub、110 內部 Git 或 GitLab 類 remote 的專案。
Schema:docs/schemas/local_git_remote_inventory_v1.schema.json
最小欄位:
{
"schema_version": "local_git_remote_inventory_v1",
"status": "partial",
"repo_count": 13,
"gitea_linked_count": 6,
"github_linked_count": 6,
"internal_110_only_count": 3
}
AwoooP 初期處理方式:作為 migration matrix 的輔助 evidence;不得把它視為 Gitea server 全量清單。
local_repo_canonical_probe_v1
用途:在多個本機 working tree 名稱相近但 remote/HEAD 不一致時,提供 read-only lineage evidence,避免自動把不同歷史誤合併。
Schema:docs/schemas/local_repo_canonical_probe_v1.schema.json
最小欄位:
{
"schema_version": "local_repo_canonical_probe_v1",
"group_name": "ewoooc-momo-pro-system",
"status": "unrelated",
"repo_count": 3,
"comparison_count": 3
}
AwoooP 初期處理方式:只作為 canonical decision evidence;不得觸發 merge、repo creation、repo deletion 或 mirror。
git_remote_refs_probe_v1
用途:對指定本機 repo 的 remote refs 做 read-only 探測,確認本機 HEAD 是否與 remote branch 對齊。
Schema:docs/schemas/git_remote_refs_probe_v1.schema.json
最小欄位:
{
"schema_version": "git_remote_refs_probe_v1",
"group_name": "internal-110-bitan-tsenyang",
"status": "ok",
"repo_count": 2,
"aligned_current_branch_count": 2
}
AwoooP 初期處理方式:只作為 source-control readiness evidence;不得觸發 fetch、push、mirror、repo creation 或 primary switch。
github_target_probe_v1
用途:對候選 GitHub repo 做 read-only 可見性與 refs probe,區分已存在、不可見、或外部 scope。
Schema:docs/schemas/github_target_probe_v1.schema.json
最小欄位:
{
"schema_version": "github_target_probe_v1",
"status": "ok",
"candidate_count": 8,
"exists_count": 5,
"not_found_or_private_count": 3
}
AwoooP 初期處理方式:只作為 migration target evidence;not_found_or_private 不等同確認不存在,不得自動建立 repo。
github_target_decision_v1
用途:追蹤候選 GitHub repo 的建立、可見性、封存或待判定決策,讓 target ownership 與 approval 狀態可被 AwoooP mirror。
Schema:docs/schemas/github_target_decision_v1.schema.json
最小欄位:
{
"schema_version": "github_target_decision_v1",
"status": "draft",
"decision_count": 8,
"approval_required_count": 7
}
AwoooP 初期處理方式:作為 approval candidate 與 migration target evidence;不得直接建立 GitHub repo、修改 visibility、同步 refs 或切 GitHub primary。
github_target_repo_approval_package_v1
用途:把 github_target_decision_v1 中需要人工批准的 target 拆成逐 repo approval package,降低一次性審批的複雜度。
Schema:docs/schemas/github_target_repo_approval_package_v1.schema.json
最小欄位:
{
"schema_version": "github_target_repo_approval_package_v1",
"status": "draft",
"package_count": 7,
"approval_items": []
}
AwoooP 初期處理方式:mirror 成 approval queue draft。低摩擦原則下,read-only evidence 不被阻擋;只有 repo creation、visibility change、refs sync、primary switch 等高風險執行才需要 approval。
approval_required_event_v1
用途:把高風險資安修補、Codex patch、source control 主控切換送進 AwoooP approval。
Schema:docs/schemas/approval_required_event_v1.schema.json
必須進 approval 的情況:
severity=HIGH|CRITICAL。- 會改 secrets、RBAC、NetworkPolicy、firewall、CORS。
- 會改 production deploy controller。
- 會切換 GitHub primary / Gitea mirror 主控面。
- 會啟用 credentialed scan 或 active DAST。
- 會使用 Gitea read-only token 或匯入管理匯出補 private/internal repo list。
- 會讓 Codex patch 自動合併或自動部署。
4. AwoooP 整合順序
Phase S0:文件與契約同步
狀態:本文件建立後即完成第一步同步。
交付:
- 本 handoff。
- LOGBOOK 條目。
security_supply_chain_contract_manifest_v1、security_finding_v1、coding_task_v1、source_control_migration_event_v1、gitea_repo_inventory_v1、local_git_remote_inventory_v1、github_target_probe_v1、github_target_decision_v1、github_target_repo_approval_package_v1、security_rollout_policy_v1、local_repo_canonical_probe_v1、git_remote_refs_probe_v1、approval_required_event_v1JSON Schema 草案。
Phase S1:Mirror-only
目標:讓 AwoooP 看見事件,但不改變行為。
允許:
- 將 security findings mirror 成 Runtime State。
- 將 coding tasks mirror 成 approval candidate。
- 將 source control migration inventory mirror 成 supply chain evidence。
- 將 Gitea repo inventory mirror 成 migration matrix evidence。
- 將本機 Git remote inventory mirror 成 source-control coverage evidence。
- 將 GitHub target 決策 mirror 成 approval candidate。
- 將 GitHub target repo-by-repo package mirror 成 approval queue draft。
- 將低摩擦 rollout policy mirror 成 read-only policy。
- 將 contract manifest mirror 成 contract registry。
禁止:
- 直接 enforcement。
- 直接啟動 scan。
- 直接呼叫 Codex patch runner。
- 直接切 GitHub/Gitea 主控。
- 直接刪除、封存或建立 repo。
- 直接修改 GitHub repo visibility。
Phase S2:Read-only Policy
目標:AwoooP 只計算 policy,不執行。
範例:
security_finding_v1進來後,AwoooP 回傳observe|warn|approve_required建議。coding_task_v1進來後,AwoooP 回傳是否需要critic/vuln-verifier。source_control_migration_event_v1進來後,AwoooP 回傳是否缺 branch/tag/workflow/webhook/permission evidence。local_git_remote_inventory_v1進來後,AwoooP 回傳是否仍有 local-only / internal-110-only source-control risk。github_target_decision_v1進來後,AwoooP 回傳是否需要 owner / visibility / canonical approval。github_target_repo_approval_package_v1進來後,AwoooP 回傳逐 repo approval queue draft,不阻擋 read-only evidence。security_rollout_policy_v1進來後,AwoooP 回傳 observe / warn / approve_required 建議,不做 enforcement。security_supply_chain_contract_manifest_v1進來後,AwoooP 回傳可消費 contract 清單,不新增 execution router。
Phase S3:Approval Gate
目標:高風險行為必須經 AwoooP approval。
先納入:
- Codex patch 合併前。
- HIGH/CRITICAL findings 修補前。
- GitHub primary 切換前。
- credentialed scan 前。
Phase S4:Operator Console
目標:讓操作者在 AwoooP Console 看見:
- 資安 posture。
- open findings。
- coding task 狀態。
- GitHub/Gitea migration matrix。
- approval queue。
- accepted risk / false positive / exception。
Console 初期不提供高風險 action button。
5. 兩邊 Session 的衝突邊界
| 區域 | AwoooP Session | Security Supply Chain Session | 衝突避免 |
|---|---|---|---|
| Contract schema | 主責 | 提供草案與需求 | AwoooP 決定 canonical package |
| DB migration | 主責 | 不碰 | findings 先文件化,不建表 |
| Runtime enforcement | 主責 | 不碰 | 先 mirror/read-only |
| Kali scan | 不直接執行 | 主責規劃 | AwoooP 只管 approval/policy |
| Codex patch | 不直接執行 | 主責規劃 | AwoooP 只管 approval/audit |
| GitHub/Gitea 遷移 | 治理 gate | inventory 與遷移設計 | 主控切換需雙方 handoff |
| MCP Gateway | 主責 | 只提出 access needs | 不新增 direct tool bypass |
| Channel Event | 主責 | 提供事件需求 | Channel adapter 不做 policy |
6. AwoooP Session 需要消費的工作項
請 AwoooP 主線在後續規劃時預留:
- Runtime State 可容納
security_finding_v1mirror。 - Approval model 可容納
coding_task_v1與source_control_migration_event_v1。 - EffectivePolicy 可判斷
observe|warn|approve_required|block_candidate。 - Channel Event 可承載資安 findings 與供應鏈遷移事件。
- Audit Sink 必須脫敏,不可儲存 raw secret、token、cookie、exploit payload。
- Operator Console 需要 supply chain / security posture 視圖,但初期不要高風險 action。
- MCP Gateway 後續要能限制 Codex/Kali/GitHub 工具權限。
- Migration matrix 可容納
gitea_repo_inventory_v1,但初期只讀。 - Migration matrix 可容納
local_git_remote_inventory_v1,但不得視為 server 全量。 - Approval queue 可容納
github_target_decision_v1與github_target_repo_approval_package_v1,但不得直接建立 repo 或改 visibility。 - Read-only policy 可容納
security_rollout_policy_v1,但初期不得把它變成 runtime blocking rule。 - Contract registry 可容納
security_supply_chain_contract_manifest_v1,但初期不得把它變成 direct tool router。
7. Security Supply Chain Session 下一步
已批准開始推進後,本支線第一波只做:
- Gitea/GitHub 全量版本盤點設計。
coding_task_v1schema 文件化。security_finding_v1schema 文件化。source_control_migration_event_v1schema 文件化。gitea_repo_inventory_v1schema 文件化。local_git_remote_inventory_v1schema 文件化。github_target_probe_v1schema 文件化。local_repo_canonical_probe_v1schema 文件化。git_remote_refs_probe_v1schema 文件化。github_target_decision_v1schema 文件化。approval_required_event_v1schema 文件化。- 112/111/168 observe-only asset mapping。
- Codex patch-only handoff prompt。
- AwoooP mirror-only integration notes。
第一版 inventory 已建立於 docs/security/GITEA-GITHUB-MIGRATION-INVENTORY.md。目前只完成 awoooi repo read-only 初步盤點,已確認 GitHub / Gitea 存在 branches、tags 與 main SHA 差異,因此主控切換必須保持 blocked,直到全量同步驗證完成。
第一版 observe-only host mapping 已建立於 docs/security/DEV-HOSTS-112-111-168-OBSERVE-ONLY-MAPPING.md。第一版 Codex patch-only handoff prompt 已建立於 docs/security/CODEX-PATCH-ONLY-HANDOFF-PROMPT.md。
2026-05-12 更新:已新增 scripts/security/source-control-migration-inventory.py,並產出 docs/security/gitea-github-awoooi-inventory.snapshot.json。目前 source_control_migration_event_v1.status=blocked,因 Gitea heads 115、GitHub heads 2、Gitea tags 2、GitHub tags 0,且 main SHA 不一致。AwoooP Session 應將此視為 supply-chain evidence,不得視為可切 GitHub primary。
2026-05-12 追加:已新增 scripts/security/gitea-repo-inventory.py、docs/schemas/gitea_repo_inventory_v1.schema.json,並產出 docs/security/gitea-repo-inventory.snapshot.json。目前 gitea_repo_inventory_v1.status=partial,因未提供 token 時只能取得 public-only wooo/awoooi 與 wooo/ewoooc;完整全量仍需只讀 token 或管理匯出。
2026-05-12 Gitea endpoint 判定追加:已新增 docs/security/gitea-org-repo-inventory-blocked.snapshot.json 與 docs/security/GITEA-ORG-REPO-INVENTORY-BLOCKED-SNAPSHOT.md,保留 orgs/wooo/repos 未認證 404 evidence;後續 server-side inventory 以 users/wooo/repos、只讀 token 或管理匯出為主。
2026-05-12 server-side inventory runbook 追加:已新增 docs/security/GITEA-SERVER-SIDE-INVENTORY-RUNBOOK.md,定義 public-only、只讀 token、管理匯出 JSON 三種路徑。AwoooP 可 mirror runbook 狀態,但不得要求 Security Supply Chain Session 提供 token value。
2026-05-12 Gitea approval package 追加:已新增 docs/security/GITEA-READONLY-INVENTORY-APPROVAL-PACKAGE.md 與 docs/security/gitea-readonly-inventory-approval.snapshot.json,用 approval_required_event_v1 描述 run_gitea_readonly_inventory 的人工 gate。AwoooP 可建立 approval candidate,但不得保存 token value 或觸發任何 repo 建立、visibility 修改、refs sync。
2026-05-12 再追加:已新增 scripts/security/local-git-remote-inventory.py、docs/schemas/local_git_remote_inventory_v1.schema.json,並產出 docs/security/local-git-remote-inventory.snapshot.json。目前 local_git_remote_inventory_v1.status=partial,找到本機可見 working trees 13 個,其中 Gitea linked 6、GitHub linked 6、110 internal-only 3;此結果只作為 Gitea API 受阻時的輔助 evidence。
2026-05-12 矩陣追加:已新增 docs/security/SOURCE-CONTROL-MIGRATION-MATRIX.md,將本機可見 source-control targets 拆成 P0/P1/P2。AwoooP 可 mirror 此矩陣作為 migration planning evidence,但不得依此自動建立、刪除、同步 repo 或切換 primary。
2026-05-12 refs diff 追加:已新增 docs/security/source-control-clawbot-v5.snapshot.json、docs/security/source-control-wooo-aiops.snapshot.json。wooo/clawbot-v5 與 wooo/wooo-aiops 目前都為 source_control_migration_event_v1.status=blocked,不得視為 GitHub primary ready。
2026-05-12 public search / canonical 追加:Gitea public search 在未提供 token 時可見 wooo/awoooi、wooo/ewoooc。已新增 docs/security/SOURCE-CONTROL-CANONICAL-DECISION-TABLE.md,其中 wooo/ewoooc、root/momo-pro-system、momo-pro-system、momo_pro_system 仍需人工判定 canonical 關係,不得自動合併。
2026-05-12 GitHub target probe 追加:已新增 scripts/security/github-target-probe.py、docs/schemas/github_target_probe_v1.schema.json 與 docs/security/github-target-probe.snapshot.json。8 個候選中 5 個可讀,owenhytsai/ewoooc、owenhytsai/bitan-pharmacy、owenhytsai/tsenyang-website 為 not_found_or_private。
2026-05-12 canonical lineage 追加:已新增 scripts/security/local-repo-canonical-probe.py、docs/schemas/local_repo_canonical_probe_v1.schema.json 與 docs/security/local-repo-canonical-ewoooc-momo.snapshot.json。ewoooc-momo-pro-system 群組目前為 unrelated,三個本機 working tree 在 sample 內沒有共同 commit,不得自動合併。
2026-05-12 internal refs 追加:已新增 scripts/security/git-remote-refs-probe.py、docs/schemas/git_remote_refs_probe_v1.schema.json 與 docs/security/git-remote-refs-bitan-tsenyang.snapshot.json。bitan-pharmacy、tsenyang-website 的本機 main 與 110 remote main 對齊,但 GitHub target 仍未確認。另新增 docs/security/git-remote-refs-wooo-infra-config.snapshot.json;wooo-infra-config 的 GitHub remote 與本機 main 對齊,110 internal remote 目前不可讀。
2026-05-12 GitHub target 決策追加:已新增 docs/schemas/github_target_decision_v1.schema.json、docs/security/github-target-decision.snapshot.json 與 docs/security/GITHUB-TARGET-VISIBILITY-DECISION-TABLE.md。8 個 target 候選中 7 個需人工批准;AwoooP 只能 mirror 為 approval candidate,不得自動建立 repo、修改 visibility、同步 refs 或切 GitHub primary。
2026-05-12 GitHub target repo-by-repo approval package 追加:已新增 docs/schemas/github_target_repo_approval_package_v1.schema.json、docs/security/github-target-repo-approval-package.snapshot.json 與 docs/security/GITHUB-TARGET-REPO-APPROVAL-PACKAGE.md。7 個 approval-required targets 已拆成逐 repo pending package;依統帥提醒採低摩擦分階段,不把 read-only evidence 變成阻擋條件。
2026-05-12 低摩擦 rollout policy 追加:已新增 docs/schemas/security_rollout_policy_v1.schema.json、docs/security/security-rollout-policy.snapshot.json 與 docs/security/SECURITY-LOW-FRICTION-ROLLOUT-POLICY.md。AwoooP 初期應採 observe-first / mirror-only,不把 LOW / MEDIUM observation 變成 blocking controls。
2026-05-12 contract manifest 追加:已新增 docs/schemas/security_supply_chain_contract_manifest_v1.schema.json、docs/security/security-supply-chain-contract-manifest.snapshot.json 與 docs/security/SECURITY-SUPPLY-CHAIN-CONTRACT-MANIFEST.md。AwoooP 應先讀 manifest 作為 mirror-only contract registry,不把 manifest 當 execution router。
本波仍不做:
- runtime DB migration。
- API endpoint。
- K8s / NetworkPolicy / RBAC / firewall。
- production deploy。
- GitHub 主控切換。
- Gitea 刪除或停用。
- Codex API 自動長任務。
8. 參考文件
- Kali 資訊安全網藍圖
- Kali 資訊安全網開工準備
- Code Review 接 Codex 與 Gitea 推版優化藍圖
- Gitea 到 GitHub 全量版本轉移 Inventory
- Gitea / GitHub migration snapshot
- source_control_migration_event_v1 snapshot
- clawbot-v5 source_control_migration_event_v1 snapshot
- wooo-aiops source_control_migration_event_v1 snapshot
- source-control inventory script
- Gitea repo inventory snapshot
- gitea_repo_inventory_v1 snapshot
- Gitea org endpoint blocked snapshot
- Gitea org endpoint blocked JSON
- Gitea server-side inventory runbook
- Gitea read-only inventory approval package
- Gitea read-only inventory approval snapshot
- Gitea admin export redaction checklist
- Gitea public repo search snapshot
- gitea public repo search JSON
- gitea repo inventory script
- 本機 Git remote inventory snapshot
- local_git_remote_inventory_v1 snapshot
- 本機 Git remote inventory script
- GitHub target probe snapshot
- github_target_probe_v1 snapshot
- GitHub target probe script
- GitHub target 決策表
- github_target_decision_v1 snapshot
- GitHub target repo-by-repo approval package
- github_target_repo_approval_package_v1 snapshot
- 低摩擦資安 rollout policy
- security_rollout_policy_v1 snapshot
- Security Supply Chain contract manifest
- security_supply_chain_contract_manifest_v1 snapshot
- 本機 repo canonical lineage snapshot
- local_repo_canonical_probe_v1 snapshot
- 本機 repo canonical lineage script
- Internal 110 refs snapshot
- git_remote_refs_probe_v1 snapshot
- wooo-infra-config refs snapshot
- wooo-infra-config git_remote_refs_probe_v1 snapshot
- Git remote refs probe script
- Source Control 遷移矩陣
- Source Control Canonical Repo 判定表
- AwoooP Mirror-only 消費清單
- 112 / 111 / 168 Observe-only 資產 Mapping
- Codex Patch-only Handoff Prompt
- AwoooP x Monitoring / Alerting Convergence Map
- AwoooP Master Workplan
- security_finding_v1 schema
- coding_task_v1 schema
- source_control_migration_event_v1 schema
- gitea_repo_inventory_v1 schema
- local_git_remote_inventory_v1 schema
- github_target_probe_v1 schema
- github_target_decision_v1 schema
- github_target_repo_approval_package_v1 schema
- security_rollout_policy_v1 schema
- security_supply_chain_contract_manifest_v1 schema
- local_repo_canonical_probe_v1 schema
- git_remote_refs_probe_v1 schema
- approval_required_event_v1 schema