fix(governance): 強化公開 redaction 標籤
All checks were successful
Code Review / ai-code-review (push) Successful in 15s
CD Pipeline / tests (push) Successful in 1m53s
CD Pipeline / build-and-deploy (push) Successful in 4m45s
CD Pipeline / post-deploy-checks (push) Successful in 1m49s

This commit is contained in:
Your Name
2026-06-18 09:48:56 +08:00
parent 30062242ab
commit 26a8d257e4
4 changed files with 30 additions and 27 deletions

View File

@@ -173,36 +173,36 @@ const PUBLIC_TEXT_REPLACEMENTS: Array<[RegExp, string]> = [
[literalPattern(['批', '准', '']), '已遮罩短訊'],
[literalPattern(['In', ' app ', 'browser'], 'gi'), '已遮罩瀏覽器狀態'],
[literalPattern(['My', ' request ', 'for ', 'Codex'], 'gi'), '已遮罩請求'],
[/browser_context/gi, 'redacted_browser_context'],
[/codex_user_message/gi, 'redacted_user_message'],
[/prompt_text/gi, 'redacted_prompt_text'],
[/browser_context/gi, '已遮罩瀏覽器欄位'],
[/codex_user_message/gi, '已遮罩使用者訊息欄位'],
[/prompt_text/gi, '已遮罩提示欄位'],
[/原始提示詞/gi, '已遮罩提示內容'],
[/raw prompt/gi, '未脫敏提示內容'],
[/raw_prompt/gi, 'redacted_prompt'],
[/raw_prompt/gi, '已遮罩提示欄位'],
[/私有推理/gi, '已遮罩推理內容'],
[/private reasoning/gi, '已遮罩推理內容'],
[/private_reasoning/gi, 'redacted_private_reasoning'],
[/private_reasoning/gi, '已遮罩推理欄位'],
[/chain of thought/gi, '推理鏈內容'],
[/chain_of_thought/gi, 'redacted_chain_of_thought'],
[/chain_of_thought/gi, '已遮罩推理鏈欄位'],
[/原始 runtime payload/gi, '已遮罩執行資料'],
[/raw runtime payload/gi, '已遮罩執行資料'],
[/raw_runtime_payload/gi, 'redacted_runtime_payload'],
[/raw_runtime_payload/gi, '已遮罩執行載荷欄位'],
[/raw Telegram payload/gi, '原始 Telegram 載荷'],
[/raw_telegram_payload/gi, 'redacted_telegram_payload'],
[/raw_telegram_payload/gi, '已遮罩 Telegram 載荷欄位'],
[/raw tool output/gi, '原始工具輸出'],
[/raw_tool_output/gi, 'redacted_tool_output'],
[/raw_tool_output/gi, '已遮罩工具輸出欄位'],
[/raw payload/gi, '原始載荷'],
[/raw_payload/gi, 'redacted_payload'],
[/raw_payload/gi, '已遮罩載荷欄位'],
[/authorization header/gi, '授權標頭'],
[/authorization_header/gi, 'redacted_authorization_header'],
[/authorization_header/gi, '已遮罩授權標頭欄位'],
[/secret value/gi, '機密明文'],
[/secret_value/gi, 'redacted_secret_value'],
[/secret_value/gi, '已遮罩機密欄位'],
[/內部協作對話/gi, '已遮罩內容'],
[/內部協作內容/gi, '已遮罩內容'],
[/內部協作逐字稿/gi, '已遮罩逐字稿'],
[/內部協作/gi, '已遮罩來源'],
[/work window transcript/gi, '已遮罩逐字稿'],
[/work_window_transcript/gi, 'redacted_work_window_transcript'],
[/work_window_transcript/gi, '已遮罩逐字稿欄位'],
[/internal collaboration transcript/gi, '已遮罩逐字稿'],
]

View File

@@ -33,36 +33,36 @@ const PUBLIC_TEXT_REPLACEMENTS: Array<[RegExp, string]> = [
[literalPattern(['批', '准', '']), '已遮罩短訊'],
[literalPattern(['In', ' app ', 'browser'], 'gi'), '已遮罩瀏覽器狀態'],
[literalPattern(['My', ' request ', 'for ', 'Codex'], 'gi'), '已遮罩請求'],
[/browser_context/gi, 'redacted_browser_context'],
[/codex_user_message/gi, 'redacted_user_message'],
[/prompt_text/gi, 'redacted_prompt_text'],
[/browser_context/gi, '已遮罩瀏覽器欄位'],
[/codex_user_message/gi, '已遮罩使用者訊息欄位'],
[/prompt_text/gi, '已遮罩提示欄位'],
[/原始提示詞/gi, '已遮罩提示內容'],
[/raw prompt/gi, '未脫敏提示內容'],
[/raw_prompt/gi, 'redacted_prompt'],
[/raw_prompt/gi, '已遮罩提示欄位'],
[/私有推理/gi, '已遮罩推理內容'],
[/private reasoning/gi, '已遮罩推理內容'],
[/private_reasoning/gi, 'redacted_private_reasoning'],
[/private_reasoning/gi, '已遮罩推理欄位'],
[/chain of thought/gi, '推理鏈內容'],
[/chain_of_thought/gi, 'redacted_chain_of_thought'],
[/chain_of_thought/gi, '已遮罩推理鏈欄位'],
[/原始 runtime payload/gi, '已遮罩執行資料'],
[/raw runtime payload/gi, '已遮罩執行資料'],
[/raw_runtime_payload/gi, 'redacted_runtime_payload'],
[/raw_runtime_payload/gi, '已遮罩執行載荷欄位'],
[/raw Telegram payload/gi, '原始 Telegram 載荷'],
[/raw_telegram_payload/gi, 'redacted_telegram_payload'],
[/raw_telegram_payload/gi, '已遮罩 Telegram 載荷欄位'],
[/raw tool output/gi, '原始工具輸出'],
[/raw_tool_output/gi, 'redacted_tool_output'],
[/raw_tool_output/gi, '已遮罩工具輸出欄位'],
[/raw payload/gi, '原始載荷'],
[/raw_payload/gi, 'redacted_payload'],
[/raw_payload/gi, '已遮罩載荷欄位'],
[/authorization header/gi, '授權標頭'],
[/authorization_header/gi, 'redacted_authorization_header'],
[/authorization_header/gi, '已遮罩授權標頭欄位'],
[/secret value/gi, '機密明文'],
[/secret_value/gi, 'redacted_secret_value'],
[/secret_value/gi, '已遮罩機密欄位'],
[/內部協作對話/gi, '已遮罩內容'],
[/內部協作內容/gi, '已遮罩內容'],
[/內部協作逐字稿/gi, '已遮罩逐字稿'],
[/內部協作/gi, '已遮罩來源'],
[/work window transcript/gi, '已遮罩逐字稿'],
[/work_window_transcript/gi, 'redacted_work_window_transcript'],
[/work_window_transcript/gi, '已遮罩逐字稿欄位'],
[/internal collaboration transcript/gi, '已遮罩逐字稿'],
]

View File

@@ -9,11 +9,14 @@
- API service guard 強制 P2-405F owner review gate 的 Gateway queue write、Bot API call、Telegram send、delivery receipt write、production write、secret read、paid API 全部維持 `false / 0`
- Governance automation inventory 新增 P2-405F owner review gate KPI 與卡片,顯示 owner 收件 / accepted / live approved / attempt allowed 全部為 `false`,並列出必填欄位、驗收檢查、拒收原因與 receipt readback owner。
- i18n 兩份 locale 仍維持繁體中文鏡像,沒有引入英文 fallback 文案。
- 前端公開 payload sanitizer 已改成純繁中安全標籤;`work_window_transcript``private_reasoning``authorization_header``raw_payload` 類 key 不再被替換成仍含敏感 key 的 `redacted_*` 字串,避免治理頁 DOM 殘留內部協作 / 工作視窗欄位名稱。
**本地驗證**
- JSON parseP2-405F snapshot、schema、`zh-TW.json``en.json` 通過。
- `python3 -m py_compile apps/api/src/services/ai_agent_professional_task_expansion.py apps/api/src/api/v1/agents.py` 通過。
- `PYTHONPATH=apps/api /Users/ogt/awoooi/apps/api/.venv/bin/python -m pytest apps/api/tests/test_ai_agent_professional_task_expansion.py apps/api/tests/test_ai_agent_professional_task_expansion_api.py``26 passed`
- `pnpm --filter @awoooi/web typecheck` 通過;`NEXT_PUBLIC_API_URL=https://awoooi.wooo.work NEXT_PRIVATE_BUILD_WORKER_COUNT=1 SENTRY_SUPPRESS_GLOBAL_ERROR_HANDLER_FILE_WARNING=1 pnpm --filter @awoooi/web build` 通過92 個靜態頁產生完成。
- 公開 sanitizer 掃描確認 `redacted_work_window_transcript``redacted_private_reasoning``redacted_authorization_header``redacted_user_message``redacted_prompt``redacted_secret_value` 不再出現在治理頁 sanitizer 輸出;剩餘 `redacted_payload_ingested` 為既有資料欄位名稱,不是 `raw_payload` 或對話內容。
**完成度同步**
- P2-405F Telegram Canary Owner Review Gate本地實作 `100%`,待 Gitea CD / production verification。

View File

@@ -15,7 +15,7 @@
| OpenClaw / Hermes / NemoTron 主動溝通、學習與成長證據 | 100% | P2-401A 到 P2-144 已完成只讀證據面、runtime / report / result-capture gates、no-write readback、promotion review、writer implementation review、writer dry-run fixture、writer dry-run readback、owner promotion execution gate、owner-approved execution rehearsal、owner acceptance / maintenance window gate、owner acceptance readback / preflight hold、owner-approved preflight release package、owner-approved release readiness readback、owner release approval gate、post-release verifier / rollback gate、final release candidate readback、release authorization hold / readback gate、release verifier preflight / owner review packet、release decision hold / readback、release decision next handoff、release decision input prep、12-Agent War Room、owner response 預檢與 owner response 回讀P2-141 基線與 S4.9 owner release packet 補強皆已正式驗證P2-142 12-Agent War Room 已完成 production readback 與 desktop / mobile smokeP2-143 owner response 預檢已完成 production readback 與 in-app browser smokeP2-144 owner response 回讀已完成 production API readback 與 desktop / mobile smoke。runtime worker、DB migration、production Redis consumer group、canonical runtime readback、live query、runtime score、result capture write、Telegram 實發、delivery receipt E2E、live report delivery、reviewer queue write、Gateway queue write、AI analysis runtime、中低風險 auto worker、KM / LOGBOOK / audit DB / timeline / PlayBook trust 寫入、SDK / 付費服務仍未開 gate | `ai_agent_result_capture_release_decision_owner_response_readback_v1``GET /api/v1/agents/agent-result-capture-release-decision-owner-response-readback``docs/evaluations/ai_agent_result_capture_release_decision_owner_response_readback_2026-06-14.json`、feature commit `8795f100`、deploy marker `ac938037`、Gitea code-review `2965` / CD `2964` success、5 個回覆讀回 lane、18 個 owner 必填欄位、6 個 readback validation check、6 個 rejection guard、5 個 operator action、等待外部回覆 `5`、未收件 lane `5`、正式寫入 / 發送 `0`P2-142 feature commit `5de4b3f3`、deploy marker `1a2c9e36`、Gitea CD run `4232` success、production API readback、desktop / mobile in-app browser smokeP2-143 feature commit `755b0a8d`、deploy marker `667d6329`、Gitea code-review `2961` / CD `2960` success、production API readback、desktop / mobile in-app browser smokeMASTER §3.2.1b / §3.2.1d / §3.4.3 |
| AI Agent 主動營運委派與版本生命週期 | 100% | P2-402A / P2-402B / P2-402C / P2-402D / P2-402E / P2-402F / P2-402G 已完成;已建立 repo-only 版本新鮮度快照、工具採用批准包、Telegram action-required digest policy、Gitea PR 草案 lane、host / K3s / stateful 版本只讀盤點、API 與 governance UI。定期排程、外部版本查詢、工具安裝、CI 變更、套件升級、主機更新、container pull、實際 PR creation、auto merge、Telegram 實發、SSH、kubectl、重啟仍未開 gate | `ai_agent_proactive_operations_contract_v1``ai_agent_version_freshness_snapshot_v1``ai_agent_tool_adoption_approval_package_v1``ai_agent_telegram_action_required_digest_policy_v1``ai_agent_gitea_pr_draft_lane_v1``ai_agent_host_stateful_version_inventory_v1``GET /api/v1/agents/agent-proactive-operations-contract``GET /api/v1/agents/agent-version-freshness-snapshot``GET /api/v1/agents/agent-tool-adoption-approval-package``GET /api/v1/agents/agent-telegram-action-required-digest-policy``GET /api/v1/agents/agent-gitea-pr-draft-lane``GET /api/v1/agents/agent-host-stateful-version-inventory``/zh-TW/governance?tab=automation-inventory`、MASTER §3.2.1c |
| 12-Agent War Room 編組 | 72% | 12 個邏輯工位與分批派工規則已正式部署OpenClaw / Hermes / NemoTron / SRE / Security / DevOps / Data/DR / Supply Chain / Product/UI / QA / Market / Telegram 共 12 份只讀審查已回收schema / committed snapshot / API / tests / governance UI 區塊 / production API readback / desktop + mobile in-app browser smoke 已完成runtime writer、Telegram send、Bot API、production write 仍未批准 | `ai_agent_12_agent_war_room_v1``docs/evaluations/ai_agent_12_agent_war_room_2026-06-14.json``GET /api/v1/agents/agent-12-agent-war-room`、feature commit `5de4b3f3`、deploy marker `1a2c9e36`、Gitea CD run `4232` success、`/zh-TW/governance?tab=automation-inventory`、12 份 Codex sub-agent 只讀回饋 |
| AI Agent 專業任務擴展與 Telegram Runtime Bridge | 99% | P2-405F 已完成只讀契約、API service guard、治理頁 P2-405F owner review gate、9 個 owner 必填欄位、9 個 acceptance check、8 個 rejection reason、6 個 reviewer action、8 個 receipt readback checkP2-405E 已正式驗證 dry-run delivery rehearsalP2-406A 已把 P2-111 日報 / 週報 / 月報實發批准包、AwoooI SRE 戰情室 route、TG Bot / Gateway / receipt / AI analysis 邊界拉到治理頁前段主看板24 類專業任務、8 個領域、5 段 Telegram bridge、6 種訊息類型、MCP/RAG stack、日報 / 週報 / 月報 / action-required 報告契約已固定owner review received / accepted、Telegram 實發、Gateway queue、Bot API、delivery receipt production write、secret read、paid API、host write、kubectl action 仍全部關閉 | `ai_agent_professional_task_expansion_v1``docs/evaluations/ai_agent_professional_task_expansion_2026-06-18_1430_p2_405f.json``docs/evaluations/ai_agent_professional_task_expansion_2026-06-18_1200_p2_405e.json``GET /api/v1/agents/agent-professional-task-expansion``GET /api/v1/agents/agent-report-live-delivery-approval-package``/zh-TW/governance?tab=automation-inventory`、feature commit `2500496f`、deploy marker `f5be4cb8`、Gitea code-review `3084` / CD `3083` success、P2-405E production API readback、desktop / mobile browser smoke、P2-405F local API regression `26 passed``docs/ai/AI_AGENT_PROFESSIONAL_TASK_EXPANSION_2026-06-15.md`、需批准任務 `19`、no-send preview `6`、dedup key `6`、receipt expectation `6`、canary package `1`、canary send approval packet `1`、delivery gate `1`、dry-run rehearsal `1`、owner review gate `1`、P2-111 delivery approval packet `5`、route gate `4`、no-send receipt `4`、owner review received / accepted `0 / 0`、live delivery approved / attempt allowed `0 / 0`、preview / canary / delivery / rehearsal / owner review live write `0`;下一步 P2-406B receipt readback owner review production verification |
| AI Agent 專業任務擴展與 Telegram Runtime Bridge | 99% | P2-405F 已完成只讀契約、API service guard、治理頁 P2-405F owner review gate、9 個 owner 必填欄位、9 個 acceptance check、8 個 rejection reason、6 個 reviewer action、8 個 receipt readback checkP2-405E 已正式驗證 dry-run delivery rehearsalP2-406A 已把 P2-111 日報 / 週報 / 月報實發批准包、AwoooI SRE 戰情室 route、TG Bot / Gateway / receipt / AI analysis 邊界拉到治理頁前段主看板;前端公開 payload sanitizer 已改成純繁中安全標籤,避免 `redacted_*` 替換後仍殘留工作視窗 / raw / private / authorization 類敏感 key24 類專業任務、8 個領域、5 段 Telegram bridge、6 種訊息類型、MCP/RAG stack、日報 / 週報 / 月報 / action-required 報告契約已固定owner review received / accepted、Telegram 實發、Gateway queue、Bot API、delivery receipt production write、secret read、paid API、host write、kubectl action 仍全部關閉 | `ai_agent_professional_task_expansion_v1``docs/evaluations/ai_agent_professional_task_expansion_2026-06-18_1430_p2_405f.json``docs/evaluations/ai_agent_professional_task_expansion_2026-06-18_1200_p2_405e.json``GET /api/v1/agents/agent-professional-task-expansion``GET /api/v1/agents/agent-report-live-delivery-approval-package``/zh-TW/governance?tab=automation-inventory`、feature commit `2500496f`、deploy marker `f5be4cb8`、Gitea code-review `3084` / CD `3083` success、P2-405E production API readback、desktop / mobile browser smoke、P2-405F local API regression `26 passed`Web typecheck、Web production build、公開 sanitizer 輸出掃描、`docs/ai/AI_AGENT_PROFESSIONAL_TASK_EXPANSION_2026-06-15.md`、需批准任務 `19`、no-send preview `6`、dedup key `6`、receipt expectation `6`、canary package `1`、canary send approval packet `1`、delivery gate `1`、dry-run rehearsal `1`、owner review gate `1`、P2-111 delivery approval packet `5`、route gate `4`、no-send receipt `4`、owner review received / accepted `0 / 0`、live delivery approved / attempt allowed `0 / 0`、preview / canary / delivery / rehearsal / owner review live write `0`;下一步 P2-406B receipt readback owner review production verification |
| Owner response 預檢與拒收邊界 | 100% | P2-143 已完成正式部署與 production readback承接 P2-141 input prep 與 P2-142 War Room只建立 owner / verifier / rollback / maintenance / live-apply 五類外部回覆的 intake 預檢、必填欄位與拒收規則;正式 owner response 尚未收到、未接受、未寫入 | `ai_agent_result_capture_release_decision_owner_response_preflight_v1``GET /api/v1/agents/agent-result-capture-release-decision-owner-response-preflight`、feature commit `755b0a8d`、deploy marker `667d6329`、Gitea code-review `2961` / CD `2960` success、5 個 response intake lane、18 個 required owner field、6 個 validation check、6 個 rejection guard、5 個 operator actionowner response received / accepted / redacted payload / reviewer queue / Gateway / Telegram / Bot API / production write / secret read / destructive operation 全為 `0` |
| Owner response 回讀狀態 | 100% | P2-144 已完成正式部署與 production readback承接 P2-143 preflight只讀回五類外部回覆仍未收到、未接受、未拒絕、未保存 | `ai_agent_result_capture_release_decision_owner_response_readback_v1``GET /api/v1/agents/agent-result-capture-release-decision-owner-response-readback`、feature commit `8795f100`、deploy marker `ac938037`、Gitea code-review `2965` / CD `2964` success、5 個 response readback lane、18 個 required owner field、6 個 readback validation check、6 個 readback rejection guard、5 個 operator action、waiting external response `5`、no external response received `5`owner response received / accepted / redacted payload / reviewer queue / Gateway / Telegram / Bot API / production write / secret read / destructive operation 全為 `0` |
| 本工作清單與分析報告 | 100% | 已完成 | 本 MD 文件 |