diff --git a/docs/HARD_RULES.md b/docs/HARD_RULES.md index 655b41235..b45dd9a1c 100644 --- a/docs/HARD_RULES.md +++ b/docs/HARD_RULES.md @@ -8,11 +8,11 @@ | 欄位 | 值 | |------|-----| -| **版本** | v2.3 | +| **版本** | v2.4 | | **建立日期** | 2026-03-20 (台北) | | **建立者** | Claude Code | -| **最後修改** | 2026-06-11 (台北) | -| **修改者** | Codex + ogt (新增高價值配置資安控管) | +| **最後修改** | 2026-06-26 (台北) | +| **修改者** | Codex + ogt (新增交付閉環優先規範) | ### 變更紀錄 @@ -32,6 +32,7 @@ | v2.1 | 2026-05-06 | Codex + ogt | 🔴 文件語言鐵律:Markdown/ADR/LOGBOOK/Runbook/交接文件一律繁體中文 | | v2.2 | 2026-06-04 | Codex + ogt | 🔴🔴🔴 IwoooS 資安治理禁令:只讀證據、低摩擦、不可誤讀 UI / AwoooP approval / runtime gate | | v2.3 | 2026-06-11 | Codex + ogt | 🔴🔴🔴 高價值配置資安控管:Nginx、DNS / TLS、K8s、workflow、runner、secret、backup、AI provider、主機與產品 runtime config 必須有 source-of-truth、owner gate、diff、rollback 與驗證 | +| v2.4 | 2026-06-26 | Codex + ogt | 🔴🔴🔴 交付閉環優先:治理與 gate 只能服務於完成交付,不得取代問題解決、新需求實作或 release closure | --- @@ -63,11 +64,51 @@ | **🔴🔴 熔斷機制** | **不確定就停下來問** | **主動做完,爆炸半徑 >3 模組才熔斷** | [→ 主動執行與熔斷](#proactive-execution--circuit-breaker) | | **🔴🔴 工作流節奏** | **每步都來回報** | **內部自循環,全局單次回報** | [→ 自循環工作流](#self-loop-workflow) | | **🟡 狀態機驗證** | **不查中間狀態卡死** | **必驗 TTL + Cleanup + Fallback** | [→ State & Flow Validation](#state--flow-validation) | +| **🔴🔴🔴 交付閉環** | **一直新增 gate / snapshot / owner package 取代交付** | **先完成可安全交付的 code / test / UI / release worktree,再保留必要安全 gate** | [→ Delivery Closure First](#delivery-closure-first) | | **🔴🔴🔴 IwoooS 資安治理** | **UI 可見 / AwoooP approval 當 runtime 授權** | **只讀證據 + owner response gate + 獨立人工批准** | [→ IwoooS Security Governance](#iwooos-security-governance) | | **🔴🔴🔴 高價值配置** | **手改 Nginx / workflow / secret / runtime config 後直接 reload 或部署** | **source-of-truth + owner gate + diff + rollback + 驗證** | [→ High Value Config Control](#high-value-config-control) | --- +## 🔴🔴🔴 Delivery Closure First + +> 2026-06-26 統帥修正:AWOOOI / 全產品治理的目標是「問題持續被解決、工作和新需求持續完成」。治理防呆不是交付本身,任何 gate、snapshot、owner package 或 read-only dashboard 都必須服務於交付閉環,不得成為新的工作泥沼。 + +### 絕對禁止 + +```text +❌ 為了看起來更安全而新增低價值 gate / snapshot / owner response 文件,卻沒有關閉任何實際問題 +❌ 把一般 coding、UI、測試、API client、文件修正、乾淨 release worktree 準備,誤擋成需要 owner response +❌ 將 blocked count、0/false 清單、read-only dashboard 當成主要產出,卻沒有下一個可執行交付動作 +❌ 在同一個 blocker 連續三輪無法推進時,仍繼續包裝同一個 blocker,而不切換到可完成的 P0 交付 +❌ 因為缺少最終 production / runtime 授權,就停止完成 repo-side 可驗證工作 +❌ 把「治理覆蓋率」上升誤報成產品、網站、CI/CD、GitHub mirror、備份或資安 runtime 已完成 +``` + +### 正確流程 + +1. 每個工作項目先定義可交付結果:code、test、UI、API、release branch、production readback、repo sync、備份驗收或 owner evidence。 +2. 只有下列情境可以硬擋:secret value、不可逆操作、production / public gateway runtime、repo creation、visibility change、refs sync、workflow trigger、資料庫 / backup / restore / migration、費用、主機維護、資安 active scan。 +3. 不屬於上述高風險範圍時,收到「批准 / 繼續」後應直接完成可安全執行的 repo-side 工作,不得要求額外 owner response。 +4. 需要 owner response 時,必須同時提供最小可回答欄位與下一個可執行動作;不得要求 10 個以上欄位才允許低風險工作前進。 +5. 同一個 gate 連續阻擋三輪時,必須壓縮成一個 blocker,並立即切到下一個可完成的 P0 交付項。 +6. 每次回報以交付狀態為主:已解決問題、已交付功能、已驗證結果、仍阻擋的高風險項、下一個 P0。`0 / false` 只列真正會影響決策的項目。 +7. 完成度只能因真實交付上升:程式碼合併、測試通過、UI 可用、API 可讀、release branch 乾淨、production readback、GitHub private evidence verified、Gitea dev/prod refs 實際存在、backup / restore drill 通過。 + +### Gate 保留條件 + +任何新 gate / snapshot / owner package 必須同時滿足: + +1. 對應一個實際高風險動作或合規要求。 +2. 有明確 owner 或可自動驗證來源。 +3. 有退出條件,不得永久停在 `waiting_owner_response`。 +4. 會解鎖下一個交付動作,而不是只新增另一個 gate。 +5. 可以被 API / UI / test / release lane 驗證。 + +不滿足以上條件時,禁止新增;改以 existing issue / workplan row / LOGBOOK 一行追蹤即可。 + +--- + ## 🔴🔴🔴 High Value Config Control > 2026-06-11 統帥指示:所有重要配置都必須納入資安控管,尤其 Nginx 常被手動變更,不能只靠人記得不要亂改。 diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index 7f8234ba5..bd703cec0 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -1,3 +1,22 @@ +## 2026-06-26|交付閉環優先規範修正 + +**背景**:統帥指出目前規範已偏向「治理防呆」而不是「問題一直被解決、工作和新需求一直被完成」。本輪直接修正上位規範,不再讓低風險 repo-side 工作被 owner response / snapshot / gate 無限阻擋。 + +**修正**: +- `docs/HARD_RULES.md` 升級為 `v2.4`,新增 `Delivery Closure First`。 +- `~/.codex/CODEX-START-HERE.md` 新增 `delivery_closure_override=enabled_2026-06-26`,並同步兩台 Codex 開工入口的執行語意。 + +**新規則**: +- 交付閉環優先於治理包裝;gate / snapshot / owner package 只能服務於完成交付,不得取代交付。 +- 一般 coding、UI、API client、測試、文件修正、乾淨 release worktree、read-only evidence 整理,收到「批准 / 繼續」後直接完成,不再要求額外 owner response。 +- 只有 secret value、不可逆操作、production / public gateway runtime、repo creation、visibility change、refs sync、workflow trigger、資料庫 / backup / restore / migration、費用、主機維護、資安 active scan 這類高風險動作可以硬擋。 +- 同一 blocker 連續阻擋三輪時,必須壓縮成一個 blocker,切換到下一個可完成的 P0 交付項。 +- 新 gate / snapshot 必須能解鎖下一個交付動作,且有退出條件;否則只用 LOGBOOK 一行追蹤。 + +**不變的安全邊界**: +- 本規範修正不授權 secret 收集、GitHub repo creation、visibility change、refs sync、workflow trigger、production deploy、Nginx / Docker / K8s / firewall / host mutation、Wazuh / Kali runtime 或資料庫 / backup / restore / migration。 +- 但上述邊界不得再阻擋可安全完成的程式碼、測試、UI、API、release worktree 與 read-only 驗證。 + ## 2026-06-26|GitHub 私有備援 evidence gate / API client 收斂 **整體完成度**:依 `~/.codex/CODEX-START-HERE.md` 與 `product-runtime-governance-completion-scorecard`,全產品治理總工程仍為 `42.2%`、`not_complete`。本段只把 GitHub 備援鏡像的「私有性證據與安全 credential 前置 gate」補成 source-side snapshot、API service、API route、前端 client 與測試;不調高 GitHub mirror 實際完成度,也不宣稱任何專案已推上 GitHub。