feat(governance): 新增 Telegram receipt approval package
This commit is contained in:
@@ -1,3 +1,34 @@
|
||||
## 2026-06-11|P2-403E Telegram Receipt Approval Package
|
||||
|
||||
**背景**:P2-403D 已把 learning writeback 拆成 owner review 批准包,但 Telegram 告警仍不能只靠「應該會送」或「已批准」這類文字。這一段先把 queue、delivery、ack、failure、retry 的 receipt approval package 固定為只讀契約;批准前不得寫 Gateway queue、不得呼叫 Telegram Bot API、不得改 receiver route、不得啟動 retry worker。
|
||||
|
||||
**完成**:
|
||||
|
||||
- 新增 `ai_agent_telegram_receipt_approval_package_v1` schema、committed snapshot、只讀 loader、API route 與測試。
|
||||
- 新增 `GET /api/v1/agents/agent-telegram-receipt-approval-package`,只回傳 committed approval package;不寫 Gateway queue、不呼叫 Bot API、不改 receiver route、不發 Telegram、不啟動 runtime worker。
|
||||
- Snapshot 固定 `12` 個 receipt 批准包必填欄位、`8` 個 forbidden fields、`4` 個 receipt gates、`3` 條 receipt lanes、retry contract、redaction contract 與 live receipt total `0`。
|
||||
- `agent-interaction-learning-proof` 與 `agent-proactive-operations-contract` 已同步 current / next:`P2-403E -> P2-403F`;三 Agent 互動學習證據完成度 `72% -> 80%`。
|
||||
- Governance automation inventory 頁新增 Telegram Receipt Approval Package 區塊,顯示 KPI、批准包欄位、禁止欄位、truth flags、receipt gates、receipt lanes 與 live receipt count,仍明確顯示 live receipt total 為 `0`。
|
||||
- MASTER §3.2.1c / §3.2.1d、AI Agent 自動化工作清單、互動學習證據報告與主動營運報告已同步 P2-403E;下一步為 `P2-403F` owner-approved learning writeback dry-run。
|
||||
|
||||
**本地驗證**:
|
||||
|
||||
- JSON parse:P2-403E schema / snapshot、P2-403 interaction snapshot、P2-403 proactive snapshot、`zh-TW.json`、`en.json` 通過。
|
||||
- `python3 -m py_compile apps/api/src/services/ai_agent_telegram_receipt_approval_package.py apps/api/src/api/v1/agents.py`:通過。
|
||||
- API/service pytest:P2-403E Telegram receipt approval package、P2-403D learning writeback approval package、P2-403 interaction proof、P2-403 proactive contract 目標測試 `21 passed`。
|
||||
- `pnpm --filter @awoooi/web typecheck`:通過。
|
||||
- `source-control-owner-response-guard.py`、`security-mirror-progress-guard.py`、`doc-secrets-sanity-check.py docs .gitea`、`git diff --check` 通過。
|
||||
|
||||
**完成度同步**:
|
||||
|
||||
- P2-403E Telegram receipt approval package:本地 `100%`。
|
||||
- 三 Agent 主動溝通、學習與成長證據:`80%`。
|
||||
- P2-403F owner-approved learning writeback dry-run:`0%`,尚未開始。
|
||||
- live queued、delivered、acknowledged、failed、retry、Telegram send、Gateway queue write、runtime worker:全部仍為 `0 / false`。
|
||||
- IwoooS 整體仍維持 `64%`;active runtime gate 仍 `0`。
|
||||
|
||||
**邊界**:本段只做只讀批准包、snapshot、schema、API、測試、前端可視化與文件;未寫 Gateway queue、未呼叫 Telegram Bot API、未改 receiver route、未寫 delivery receipt、未啟動 retry worker、未發 Telegram、未 SSH、未 active scan、未收 secret value、未開 runtime gate、未建立任何 P2-403E 內容區執行按鈕。
|
||||
|
||||
## 2026-06-11|IwoooS P1-1 Docker / systemd repo-only 清冊
|
||||
|
||||
**背景**:統帥要求所有重要配置都要被資安控管,且 Nginx 之外的 Docker Compose、systemd、repair-bot、Ansible service role 與 host config backup 也不能落在鬆散口頭規範。本段延續「先建立框架、只讀證據、低摩擦流程,再階段性收攏」原則,只做 repo-only 清冊,不碰 live host。
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
| Nemotron 實際整合應用 | 30% | 完整回放前仍被關卡擋下 | `blocked_needs_evidence`,下一關是 `refresh_source_evidence_then_5_record_smoke_only` |
|
||||
| 工具 / 服務 / 套件 AI 自動化 | 92% | P0 已完成;P1 服務 / runtime / 監控 / provider / service health / 備份 / DR / 套件與供應鏈只讀基線已完成;P1-007 失敗限定通知合約與前端 redaction 合約已完成;下一主線是 P2-004 依賴 / 供應鏈漂移監控 | 狀態分類、盤點 schema、權限矩陣、靜態盤點種子、只讀 API、UI 骨架、驗證、自動化待辦 schema / 快照 / API / 分組 UI、Backup / DR 目標盤點、準備度矩陣、備份通知政策、Backup / DR 證據 UI、復原演練批准包模板、異地 / escrow 準備度狀態、任務批准邊界、確定性進度彙總、Python 套件 / 供應鏈只讀基線、JS pnpm/npm 只讀基線、Docker build surface 只讀基線、CVE / license / drift 嚴重度政策、定期依賴漂移與外部資料來源檢查設計、依賴升級批准包模板、runtime_surface_inventory_v1 schema / snapshot / API / UI、gitea_workflow_runner_health_v1 schema / snapshot / API / UI、observability_contract_matrix_v1 schema / snapshot / API / UI、ai_provider_route_matrix_v1 schema / snapshot / API / UI、service_health_gap_matrix_v1 schema / snapshot / API / UI、service health evidence cards UI、service_health_failure_notification_policy_v1 schema / snapshot / API / UI 已完成 |
|
||||
| OpenClaw / Hermes / NemoTron 佈建布局 | 45% | P1-401 / P1-402 已完成;仍是只讀 layout 與治理頁顯示,不是 runtime deploy | `ai_agent_deployment_layout_v1` schema、`ai_agent_deployment_layout_2026-06-11.json`、`GET /api/v1/agents/agent-deployment-layout`、治理頁自動化盤點 UI、`AI_AGENT_DEPLOYMENT_LAYOUT_2026-06-11.md` |
|
||||
| OpenClaw / Hermes / NemoTron 主動溝通、學習與成長證據 | 72% | P2-401A 已完成只讀 contract;P2-403A 已完成互動 / 接手 / 學習 / 成長證據面板;P2-403B 已完成 AgentSession / Redis Streams live read model gate;P2-403C 已完成 Redis Streams consumer group dry-run、handoff envelope、ack / dead-letter / replay gate;P2-403D 已完成 learning writeback approval package。runtime worker、DB migration、production Redis consumer group、Telegram 實發、KM / PlayBook trust / timeline / replay score 寫入、SDK / 付費服務仍未開 gate | `ai_agent_communication_learning_contract_v1`、`ai_agent_interaction_learning_proof_v1`、`ai_agent_live_read_model_gate_v1`、`ai_agent_redis_dry_run_gate_v1`、`ai_agent_learning_writeback_approval_package_v1`、`GET /api/v1/agents/agent-communication-learning-contract`、`GET /api/v1/agents/agent-interaction-learning-proof`、`GET /api/v1/agents/agent-live-read-model-gate`、`GET /api/v1/agents/agent-redis-dry-run-gate`、`GET /api/v1/agents/agent-learning-writeback-approval-package`、`/zh-TW/governance?tab=automation-inventory`、MASTER §3.2.1b / §3.2.1d / §3.4.3 |
|
||||
| OpenClaw / Hermes / NemoTron 主動溝通、學習與成長證據 | 80% | P2-401A 已完成只讀 contract;P2-403A 已完成互動 / 接手 / 學習 / 成長證據面板;P2-403B 已完成 AgentSession / Redis Streams live read model gate;P2-403C 已完成 Redis Streams consumer group dry-run、handoff envelope、ack / dead-letter / replay gate;P2-403D 已完成 learning writeback approval package;P2-403E 已完成 Telegram receipt approval package。runtime worker、DB migration、production Redis consumer group、Telegram 實發、KM / PlayBook trust / timeline / replay score 寫入、SDK / 付費服務仍未開 gate | `ai_agent_communication_learning_contract_v1`、`ai_agent_interaction_learning_proof_v1`、`ai_agent_live_read_model_gate_v1`、`ai_agent_redis_dry_run_gate_v1`、`ai_agent_learning_writeback_approval_package_v1`、`ai_agent_telegram_receipt_approval_package_v1`、`GET /api/v1/agents/agent-communication-learning-contract`、`GET /api/v1/agents/agent-interaction-learning-proof`、`GET /api/v1/agents/agent-live-read-model-gate`、`GET /api/v1/agents/agent-redis-dry-run-gate`、`GET /api/v1/agents/agent-learning-writeback-approval-package`、`GET /api/v1/agents/agent-telegram-receipt-approval-package`、`/zh-TW/governance?tab=automation-inventory`、MASTER §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 |
|
||||
| 本工作清單與分析報告 | 100% | 已完成 | 本 MD 文件 |
|
||||
|
||||
@@ -20,9 +20,9 @@ AI Agent 自動化工作包目前完成度:**92%**。本工作清單文件本
|
||||
|
||||
三 Agent 佈建布局目前完成度:**45%**。第一波已完成只讀 schema / snapshot / API / 測試 / 報告,第二波已接入治理頁自動化盤點 UI;正式 runtime 佈署、Telegram E2E 發送與 AgentSession 工作流仍需逐項 gate。
|
||||
|
||||
三 Agent 主動溝通、學習與成長證據目前完成度:**72%**。已完成只讀契約、互動 / 接手 / 學習 / 成長證據面板、P2-403B live read model gate、P2-403C Redis dry-run gate、P2-403D learning writeback approval package、API、治理頁顯示、測試與 MASTER 同步;目前 live AgentSession、Agent message、handoff、learning write、Telegram receipt 仍全部為 `0`,下一步依優先順序推 `P2-403E` Telegram receipt approval package,但在批准前仍不得啟動 runtime loop。
|
||||
三 Agent 主動溝通、學習與成長證據目前完成度:**80%**。已完成只讀契約、互動 / 接手 / 學習 / 成長證據面板、P2-403B live read model gate、P2-403C Redis dry-run gate、P2-403D learning writeback approval package、P2-403E Telegram receipt approval package、API、治理頁顯示、測試與 MASTER 同步;目前 live AgentSession、Agent message、handoff、learning write、Telegram receipt 仍全部為 `0`,下一步依優先順序推 `P2-403F` owner-approved learning writeback dry-run,但在批准前仍不得啟動 runtime loop。
|
||||
|
||||
AI Agent 主動營運委派與版本生命週期目前完成度:**100%**。已完成 12 類版本 domain、24 類可委派能力、5 種 cadence、8 類 MCP、4 類 RAG memory、只讀 API、`P2-402B` repo-only daily version freshness snapshot、`P2-402C` Renovate / OSV-Scanner / Trivy / Syft / Grype 工具採用批准包、`P2-402D` Telegram action-required digest policy、`P2-402E` Gitea PR 草案 lane、`P2-402F` host OS / K3s / stateful services 版本只讀盤點,以及 `P2-402G` governance UI 顯示可委派能力;`P2-403A`、`P2-403B`、`P2-403C` 與 `P2-403D` 已先補互動、學習證據面、live read model gate、Redis dry-run gate 與 learning writeback approval package。下一步是 `P2-403E` Telegram receipt approval package,外部 registry / package source / host probe / SSH / kubectl / 工具安裝 / CI 變更 / 實際 PR creation / Telegram 實發仍需 gate。
|
||||
AI Agent 主動營運委派與版本生命週期目前完成度:**100%**。已完成 12 類版本 domain、24 類可委派能力、5 種 cadence、8 類 MCP、4 類 RAG memory、只讀 API、`P2-402B` repo-only daily version freshness snapshot、`P2-402C` Renovate / OSV-Scanner / Trivy / Syft / Grype 工具採用批准包、`P2-402D` Telegram action-required digest policy、`P2-402E` Gitea PR 草案 lane、`P2-402F` host OS / K3s / stateful services 版本只讀盤點,以及 `P2-402G` governance UI 顯示可委派能力;`P2-403A`、`P2-403B`、`P2-403C`、`P2-403D` 與 `P2-403E` 已先補互動、學習證據面、live read model gate、Redis dry-run gate、learning writeback approval package 與 Telegram receipt approval package。下一步是 `P2-403F` owner-approved learning writeback dry-run,外部 registry / package source / host probe / SSH / kubectl / 工具安裝 / CI 變更 / 實際 PR creation / Telegram 實發仍需 gate。
|
||||
|
||||
完成度計算模型:
|
||||
|
||||
@@ -76,7 +76,7 @@ AI Agent 主動營運委派與版本生命週期目前完成度:**100%**。已
|
||||
| AgentSession / Redis Streams runtime loop | 待辦:P2-401,需 migration / worker gate |
|
||||
| 主動溝通與學習契約 | 已完成:P2-401A,`ai_agent_communication_learning_contract_v1` + `GET /api/v1/agents/agent-communication-learning-contract` |
|
||||
| 主動營運委派與版本生命週期契約 | 已完成:P2-402A,`ai_agent_proactive_operations_contract_v1` + `GET /api/v1/agents/agent-proactive-operations-contract` |
|
||||
| 互動、接手、學習與成長證據面 | 已完成:P2-403A + P2-403B + P2-403C + P2-403D,`ai_agent_interaction_learning_proof_v1`、`ai_agent_live_read_model_gate_v1`、`ai_agent_redis_dry_run_gate_v1`、`GET /api/v1/agents/agent-interaction-learning-proof`、`GET /api/v1/agents/agent-live-read-model-gate`、`GET /api/v1/agents/agent-redis-dry-run-gate`、`GET /api/v1/agents/agent-learning-writeback-approval-package` + governance UI;live count 仍為 0 |
|
||||
| 互動、接手、學習與成長證據面 | 已完成:P2-403A + P2-403B + P2-403C + P2-403D + P2-403E,`ai_agent_interaction_learning_proof_v1`、`ai_agent_live_read_model_gate_v1`、`ai_agent_redis_dry_run_gate_v1`、`GET /api/v1/agents/agent-interaction-learning-proof`、`GET /api/v1/agents/agent-live-read-model-gate`、`GET /api/v1/agents/agent-redis-dry-run-gate`、`GET /api/v1/agents/agent-learning-writeback-approval-package`、`GET /api/v1/agents/agent-telegram-receipt-approval-package` + governance UI;live count 仍為 0 |
|
||||
| NemoTron 3 Ultra smoke | 待辦:P3-401,需 source refresh + cost/data approval |
|
||||
|
||||
## 4. 工作流總覽
|
||||
@@ -963,6 +963,7 @@ UI:
|
||||
| P2-403B | 完成 | 100 | OpenClaw + Hermes | AgentSession / Redis Streams live read model 與 worker gate planning | `ai_agent_live_read_model_gate_v1` / snapshot / 只讀 API / governance UI;既有 `agent_sessions` safe fields、Redis envelope、worker gate、rollback plan、無寫入 smoke | DB / Redis approval;live DB query / Redis consumer / worker / Telegram / learning writeback 仍未啟用 |
|
||||
| P2-403C | 完成 | 100 | Hermes + OpenClaw + Nemotron | Redis Streams consumer group dry-run、handoff envelope、ack / dead-letter / replay gate | `ai_agent_redis_dry_run_gate_v1` / snapshot / 只讀 API / governance UI;fixture-only dry-run、handoff 必填欄位、idempotency、redacted evidence、ack / dead-letter / replay preconditions | 不連 Redis、不建立 consumer group、不 XADD / XREADGROUP / XACK、不寫 dead-letter、不 runtime replay、不發 Telegram、不 learning writeback |
|
||||
| P2-403D | 完成 | 100 | Hermes + OpenClaw + Nemotron | Learning writeback approval package、KM / PlayBook trust / timeline learning / replay score gate | `ai_agent_learning_writeback_approval_package_v1` / snapshot / 只讀 API / governance UI;owner review、rollback、redaction、blocked write actions | 不寫 KM、不更新 PlayBook trust、不寫 timeline learning、不寫 replay score、不發 Telegram、不啟動 runtime worker |
|
||||
| P2-403E | 完成 | 100 | OpenClaw + Hermes | Telegram receipt approval package、queue / delivery / ack / failure / retry gate | `ai_agent_telegram_receipt_approval_package_v1` / snapshot / 只讀 API / governance UI;owner review、delivery correlation、retry、redaction、blocked runtime actions | 不寫 Gateway queue、不呼叫 Bot API、不改 receiver route、不發 Telegram、不啟動 receipt worker |
|
||||
| P2-101 | 待辦 | 0 | OpenClaw | 定義操作類別權限模型 | 操作政策 schema | HITL 關卡 |
|
||||
| P2-102 | 待辦 | 0 | OpenClaw | 所有候選操作都要有 dry-run 證據 | dry-run 合約 | 不直接 apply |
|
||||
| P2-103 | 待辦 | 0 | Hermes | 把任務結果接回 KM / LOGBOOK / 稽核軌跡 | 證據寫入器 | 不洩漏 secret |
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# AI Agent 互動、溝通、學習與成長證據報告
|
||||
|
||||
> 日期:2026-06-11(台北時間)
|
||||
> 文件定位:P2-403A 證據面 + P2-403B AgentSession / Redis Streams live read model gate + P2-403C Redis dry-run gate + P2-403D learning writeback approval package、API、治理頁 UI 與後續 runtime gate 分析。
|
||||
> 文件定位:P2-403A 證據面 + P2-403B AgentSession / Redis Streams live read model gate + P2-403C Redis dry-run gate + P2-403D learning writeback approval package + P2-403E Telegram receipt approval package、API、治理頁 UI 與後續 runtime gate 分析。
|
||||
> 事實邊界:本波只建立可見證據面與 read model gate,不啟動 runtime worker、不建立 DB migration、不開 Redis consumer group、不發 Telegram、不顯示工作視窗對話內容。
|
||||
|
||||
## 1. 結論
|
||||
|
||||
已完成 P2-403A、P2-403B、P2-403C 與 P2-403D:讓統帥能在治理頁看到 OpenClaw / Hermes / NemoTron 的互動、接手、學習與成長是否真的有證據,並看到 live read model、Redis dry-run、handoff envelope、ack / dead-letter / replay、learning writeback approval 下一步要通過哪些 gate。
|
||||
已完成 P2-403A、P2-403B、P2-403C、P2-403D 與 P2-403E:讓統帥能在治理頁看到 OpenClaw / Hermes / NemoTron 的互動、接手、學習與成長是否真的有證據,並看到 live read model、Redis dry-run、handoff envelope、ack / dead-letter / replay、learning writeback approval、Telegram receipt approval 下一步要通過哪些 gate。
|
||||
|
||||
目前真相:
|
||||
|
||||
@@ -51,24 +51,24 @@
|
||||
| 產物 | 內容 |
|
||||
|---|---|
|
||||
| `docs/schemas/ai_agent_interaction_learning_proof_v1.schema.json` | 強制 live flags / counts / Telegram / transcript / 私有推理維持安全邊界 |
|
||||
| `docs/evaluations/ai_agent_interaction_learning_proof_2026-06-11.json` | P2-403A + P2-403B + P2-403C + P2-403D committed snapshot,完成度 `72%`,live count 全為 `0` |
|
||||
| `docs/evaluations/ai_agent_interaction_learning_proof_2026-06-11.json` | P2-403A + P2-403B + P2-403C + P2-403D + P2-403E committed snapshot,完成度 `80%`,live count 全為 `0` |
|
||||
| `docs/schemas/ai_agent_live_read_model_gate_v1.schema.json` | 強制 DB / Redis / worker / Telegram / learning writeback gate 維持未批准 |
|
||||
| `docs/evaluations/ai_agent_live_read_model_gate_2026-06-11.json` | P2-403B committed snapshot,完成度 `55%`,live count 全為 `0` |
|
||||
| `docs/evaluations/ai_agent_redis_dry_run_gate_2026-06-11.json` | P2-403C committed snapshot,完成度 `65%`,live count 全為 `0` |
|
||||
| `docs/evaluations/ai_agent_learning_writeback_approval_package_2026-06-11.json` | P2-403D committed snapshot,完成度 `72%`,KM / PlayBook trust / timeline / replay score live write count 全為 `0` |
|
||||
| `docs/evaluations/ai_agent_telegram_receipt_approval_package_2026-06-11.json` | P2-403E committed snapshot,完成度 `80%`,queued / delivered / acknowledged / failed / retry live count 全為 `0` |
|
||||
| `apps/api/src/services/ai_agent_interaction_learning_proof.py` | 只讀 loader 與安全驗證 |
|
||||
| `apps/api/src/services/ai_agent_live_read_model_gate.py` | P2-403B 只讀 loader;拒絕 live DB query、Redis consumer、unsafe fields、Telegram 與 writeback |
|
||||
| `GET /api/v1/agents/agent-interaction-learning-proof` | 只讀 API,不啟動 worker、不碰 Redis / DB runtime、不發 Telegram |
|
||||
| `GET /api/v1/agents/agent-live-read-model-gate` | 只讀 API,不連 DB、不讀寫 Redis、不發 Telegram |
|
||||
| governance UI | 新增證據階梯、目前真相、P2-403B live read gate、P2-403C Redis dry-run gate、P2-403D learning writeback approval package、Agent lane、可觀測訊號、runtime gates、前端 redaction |
|
||||
| governance UI | 新增證據階梯、目前真相、P2-403B live read gate、P2-403C Redis dry-run gate、P2-403D learning writeback approval package、P2-403E Telegram receipt approval package、Agent lane、可觀測訊號、runtime gates、前端 redaction |
|
||||
|
||||
## 5. 後續優先順序
|
||||
|
||||
| 優先 | ID | 工作 | gate |
|
||||
|---:|---|---|---|
|
||||
| 1 | P2-403E | Telegram gateway dry-run、E2E 送達與 receipt 顯示 | Telegram E2E approval |
|
||||
| 2 | P2-403F | owner-approved learning writeback dry-run、KM / PlayBook trust / replay score 趨勢 | writeback approval |
|
||||
| 3 | P2-403G | 成長趨勢週報與 operator feedback applied 指標 | trend evidence |
|
||||
| 1 | P2-403F | owner-approved learning writeback dry-run、KM / PlayBook trust / replay score 趨勢 | writeback approval |
|
||||
| 2 | P2-403G | 成長趨勢週報與 operator feedback applied 指標 | trend evidence |
|
||||
|
||||
## 6. 紅線
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# AI Agent 主動營運委派與版本生命週期分析報告
|
||||
|
||||
> 日期:2026-06-11(台北時間)
|
||||
> 文件定位:P2-402A / P2-402B / P2-402C / P2-402D / P2-402E / P2-402F / P2-402G / P2-403A / P2-403B / P2-403C / P2-403D 只讀契約與治理 UI 摘要。權威細節以 MASTER §3.2.1c / §3.2.1d、`ai_agent_proactive_operations_contract_v1`、`ai_agent_interaction_learning_proof_v1`、`ai_agent_live_read_model_gate_v1`、`ai_agent_redis_dry_run_gate_v1`、`ai_agent_learning_writeback_approval_package_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` 為準。
|
||||
> 文件定位:P2-402A / P2-402B / P2-402C / P2-402D / P2-402E / P2-402F / P2-402G / P2-403A / P2-403B / P2-403C / P2-403D / P2-403E 只讀契約與治理 UI 摘要。權威細節以 MASTER §3.2.1c / §3.2.1d、`ai_agent_proactive_operations_contract_v1`、`ai_agent_interaction_learning_proof_v1`、`ai_agent_live_read_model_gate_v1`、`ai_agent_redis_dry_run_gate_v1`、`ai_agent_learning_writeback_approval_package_v1`、`ai_agent_telegram_receipt_approval_package_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` 為準。
|
||||
|
||||
## 1. 本波完成度
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
| Agent 互動與學習證據面 | 100% | P2-403A 已把目前真相、證據階梯、三 Agent lane、可觀測訊號、runtime gates 與 redaction policy 接入治理頁;live counts 全為 `0` |
|
||||
| Redis dry-run gate | 100% | P2-403C 已把 consumer group dry-run、handoff envelope、ack / dead-letter / replay idempotency 與治理頁顯示接入;live counts 全為 `0` |
|
||||
| Learning writeback approval package | 100% | P2-403D 已把 KM / PlayBook trust / timeline learning / replay score 的 owner review、rollback、redaction 與 blocked write actions 接入;live writes 全為 `0` |
|
||||
| 整體主動營運與版本生命週期 | 100% | P2-402A~G、P2-403A、P2-403B、P2-403C 與 P2-403D 只讀契約、snapshot、API、測試與治理 UI 已完成;runtime 排程、工具安裝、CI 變更、實際 PR 建立與更新、host probe、升級、重啟、learning write、Telegram receipt 仍未開 gate |
|
||||
| 整體主動營運與版本生命週期 | 100% | P2-402A~G、P2-403A、P2-403B、P2-403C、P2-403D 與 P2-403E 只讀契約、snapshot、API、測試與治理 UI 已完成;runtime 排程、工具安裝、CI 變更、實際 PR 建立與更新、host probe、升級、重啟、learning write、Telegram receipt 仍未開 gate |
|
||||
|
||||
## 2. 可交給 AI Agent 的工作分類
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
| `docs/evaluations/ai_agent_host_stateful_version_inventory_2026-06-11.json` | 5 台主機、2 個 K3s 節點、12 個 stateful / ops 服務、6 個只讀 probe 步驟、maintenance window approval package |
|
||||
| `GET /api/v1/agents/agent-host-stateful-version-inventory` | 只讀 API;不 SSH、不 kubectl、不升級、不 drain、不 reboot、不重啟 stateful、不發 Telegram |
|
||||
| `docs/schemas/ai_agent_interaction_learning_proof_v1.schema.json` | P2-403A Agent 互動、接手、學習、成長與 Telegram receipt 證據面 schema |
|
||||
| `docs/evaluations/ai_agent_interaction_learning_proof_2026-06-11.json` | 證據階梯、live truth、三 Agent lane、可觀測訊號、runtime gates;P2-403D 後完成度 `72%`,live counts 全部 `0` |
|
||||
| `docs/evaluations/ai_agent_interaction_learning_proof_2026-06-11.json` | 證據階梯、live truth、三 Agent lane、可觀測訊號、runtime gates;P2-403E 後完成度 `80%`,live counts 全部 `0` |
|
||||
| `GET /api/v1/agents/agent-interaction-learning-proof` | 只讀 API;不啟動 worker、不開 Redis consumer、不 DB migration、不發 Telegram、不顯示工作視窗對話 |
|
||||
| `docs/schemas/ai_agent_live_read_model_gate_v1.schema.json` | P2-403B AgentSession / Redis Streams live read model gate schema |
|
||||
| `docs/evaluations/ai_agent_live_read_model_gate_2026-06-11.json` | AgentSession safe fields、Redis envelope、worker gate、rollback plan、no-write smoke、frontend redaction;live counts 全部 `0` |
|
||||
@@ -70,7 +70,7 @@
|
||||
| Dockerfiles | Hermes | action_required | P2-402C 評估 Trivy / Syft / Grype / Docker Scout 採用,不 build / pull |
|
||||
| Committed evaluation snapshots | Hermes | action_required | 將 2026-06-04~06-05 舊基線列入 stale refs,不假裝是外部最新 |
|
||||
| Agent / model governance snapshots | NemoTron | action_required | 只做離線 freshness note,不進 shadow / canary / production route |
|
||||
| K8s / Gitea / observability / Ansible / backup / web surfaces | OpenClaw + Hermes | baseline_ready / planned_next | 下一步進入 P2-403E Telegram receipt approval package;現階段仍只讀 |
|
||||
| K8s / Gitea / observability / Ansible / backup / web surfaces | OpenClaw + Hermes | baseline_ready / planned_next | 下一步進入 P2-403F owner-approved learning writeback dry-run;現階段仍只讀 |
|
||||
|
||||
本波只把「每天要看哪些 repo 內版本來源」定義成可驗證資料面。每日排程、外部 registry 查詢、主機/K3s live probe、Telegram digest 與 Gitea PR lane 都仍是下一階段 gate。
|
||||
|
||||
@@ -143,6 +143,7 @@ P2-402G 的重點是把前面六個資料契約接回治理頁,讓統帥可以
|
||||
| P2-403B | 5 | live AgentSession / Redis read model:safe fields、Redis envelope、worker gate、rollback、no-write smoke | 已完成,只讀;live DB query / Redis consumer / worker 未啟用 |
|
||||
| P2-403C | 6 | Redis Streams consumer group dry-run、handoff envelope、ack / dead letter / replay | 已完成,只讀;production Redis consumer / worker / ACK / replay 未啟用 |
|
||||
| P2-403D | 7 | Learning writeback approval package、資料保留、錯誤補償、人工回饋回滾 | 已完成,只讀;KM / PlayBook trust / timeline learning / replay score 寫入未啟用 |
|
||||
| P2-403E | 8 | Telegram receipt approval package、queue / delivery / ack / failure / retry | 已完成,只讀;Gateway queue / Bot API / delivery receipt / retry worker 未啟用 |
|
||||
|
||||
## 11. 仍維持 false 的安全邊界
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
"schema_version": "ai_agent_interaction_learning_proof_v1",
|
||||
"generated_at": "2026-06-11T23:20:00+08:00",
|
||||
"program_status": {
|
||||
"overall_completion_percent": 72,
|
||||
"overall_completion_percent": 80,
|
||||
"current_priority": "P2",
|
||||
"current_task_id": "P2-403D",
|
||||
"next_task_id": "P2-403E",
|
||||
"current_task_id": "P2-403E",
|
||||
"next_task_id": "P2-403F",
|
||||
"read_only_mode": true,
|
||||
"runtime_authority": "proof_surface_only_no_live_worker",
|
||||
"status_note": "P2-403D 已把 KM、PlayBook trust、timeline learning 與 replay score 的 learning writeback approval package 接入證據鏈;live learning write、PlayBook trust update、KM update 與 Telegram receipt 仍未開 gate。"
|
||||
"status_note": "P2-403E 已把 Telegram receipt approval package 接入;live AgentSession、message、handoff、learning write、Telegram receipt 仍全部為 0。"
|
||||
},
|
||||
"live_truth": {
|
||||
"runtime_loop_enabled": false,
|
||||
@@ -81,11 +81,11 @@
|
||||
{
|
||||
"level_id": "telegram_receipts",
|
||||
"display_name": "Telegram 摘要收據",
|
||||
"status": "live_pending",
|
||||
"status": "approval_required",
|
||||
"completion_percent": 0,
|
||||
"operator_meaning": "啟用後 Telegram 只推送需處置、需批准或失敗摘要,治理頁保留已排隊/已送達/已確認收據。",
|
||||
"source_of_truth": "telegram_gateway_queue + alert_operation_log",
|
||||
"next_gate": "P2-403E Telegram receipt approval package。"
|
||||
"next_gate": "P2-403E Telegram receipt approval package 已接入;實際 queue write、send、delivered、ack 與 retry 仍需 owner approval。"
|
||||
}
|
||||
],
|
||||
"agent_lanes": [
|
||||
@@ -368,9 +368,7 @@
|
||||
"rollups": {
|
||||
"proof_level_count": 7,
|
||||
"contract_ready_level_count": 5,
|
||||
"live_pending_level_ids": [
|
||||
"telegram_receipts"
|
||||
],
|
||||
"live_pending_level_ids": [],
|
||||
"signal_count": 9,
|
||||
"live_signal_count": 0,
|
||||
"operator_surface_count": 5,
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"program_status": {
|
||||
"overall_completion_percent": 100,
|
||||
"current_priority": "P2",
|
||||
"current_task_id": "P2-403D",
|
||||
"next_task_id": "P2-403E",
|
||||
"current_task_id": "P2-403E",
|
||||
"next_task_id": "P2-403F",
|
||||
"read_only_mode": true,
|
||||
"runtime_authority": "contract_only_no_version_or_runtime_update",
|
||||
"status_note": "P2-403D 已把 learning writeback approval package 接入治理證據;live AgentSession / Redis consumer / runtime worker / learning write / Telegram receipt 目前全為 0,下一步是 P2-403E Telegram receipt approval package。"
|
||||
@@ -855,6 +855,21 @@
|
||||
"owner_agent": "Hermes + OpenClaw + Nemotron",
|
||||
"summary": "建立 learning writeback approval package;固定 KM、PlayBook trust、timeline learning 與 replay score 回寫前的 owner review、redaction、rollback 與 blocked write actions。",
|
||||
"next_gate": "P2-403E_telegram_receipt_approval_package"
|
||||
},
|
||||
{
|
||||
"task_id": "P2-403E",
|
||||
"sequence": 8,
|
||||
"display_name": "Telegram receipt approval package",
|
||||
"status": "done",
|
||||
"owner_agent": "openclaw",
|
||||
"completion_percent": 100,
|
||||
"runtime_authority": "approval_package_only_no_telegram_send",
|
||||
"blocked_runtime_actions": [
|
||||
"telegram_gateway_queue_write",
|
||||
"telegram_direct_bot_api_call",
|
||||
"telegram_delivery_receipt_write",
|
||||
"telegram_retry_worker_start"
|
||||
]
|
||||
}
|
||||
],
|
||||
"approval_boundaries": {
|
||||
@@ -875,7 +890,7 @@
|
||||
"cadence_count": 5,
|
||||
"mcp_tool_count": 8,
|
||||
"rag_memory_count": 4,
|
||||
"rollout_task_count": 11,
|
||||
"rollout_task_count": 12,
|
||||
"auto_execute_allowed_count": 0,
|
||||
"approval_required_capability_count": 23,
|
||||
"blocked_update_domain_ids": [
|
||||
|
||||
@@ -0,0 +1,179 @@
|
||||
{
|
||||
"schema_version": "ai_agent_telegram_receipt_approval_package_v1",
|
||||
"generated_at": "2026-06-11T23:59:50+08:00",
|
||||
"program_status": {
|
||||
"overall_completion_percent": 80,
|
||||
"current_priority": "P2",
|
||||
"current_task_id": "P2-403E",
|
||||
"next_task_id": "P2-403F",
|
||||
"read_only_mode": true,
|
||||
"runtime_authority": "approval_package_only_no_telegram_send",
|
||||
"status_note": "P2-403E 已把 Telegram receipt、queue、delivery、ack、failure 與 retry 的批准包固定為只讀契約;尚未發送 Telegram、未寫 Gateway queue、未啟動 receipt worker。"
|
||||
},
|
||||
"source_refs": [
|
||||
"docs/evaluations/ai_agent_learning_writeback_approval_package_2026-06-11.json",
|
||||
"docs/evaluations/ai_agent_telegram_action_required_digest_policy_2026-06-11.json",
|
||||
"docs/superpowers/specs/2026-04-15-MASTER-ai-autonomous-flywheel-v2.md"
|
||||
],
|
||||
"telegram_truth": {
|
||||
"telegram_send_allowed": false,
|
||||
"gateway_queue_write_allowed": false,
|
||||
"direct_bot_api_allowed": false,
|
||||
"receiver_route_change_allowed": false,
|
||||
"runtime_worker_allowed": false,
|
||||
"live_queued_receipt_count": 0,
|
||||
"live_delivered_receipt_count": 0,
|
||||
"live_acknowledged_receipt_count": 0,
|
||||
"live_failed_receipt_count": 0,
|
||||
"live_retry_count": 0,
|
||||
"truth_note": "目前只允許產生 Telegram receipt 批准包與前台只讀證據;所有 queue write、send、ack、retry 與 receiver route 變更仍為 0 / false。"
|
||||
},
|
||||
"receipt_package": {
|
||||
"required_fields": [
|
||||
"receipt_event_id",
|
||||
"incident_id",
|
||||
"source_stage",
|
||||
"channel_policy",
|
||||
"target_channel_alias",
|
||||
"message_template_id",
|
||||
"redacted_message_summary",
|
||||
"delivery_correlation_id",
|
||||
"retry_policy_ref",
|
||||
"failure_fallback_ref",
|
||||
"owner_review_required",
|
||||
"created_at"
|
||||
],
|
||||
"forbidden_fields": [
|
||||
"telegram_bot_token",
|
||||
"telegram_chat_id_raw",
|
||||
"authorization_header",
|
||||
"secret_value",
|
||||
"raw_message_payload",
|
||||
"conversation_transcript",
|
||||
"private_reasoning",
|
||||
"raw_tool_output"
|
||||
],
|
||||
"owner_review_required": true,
|
||||
"retry_policy_required": true,
|
||||
"delivery_receipt_required": true,
|
||||
"operator_meaning": "每個 Telegram receipt 候選都必須說清楚來源事件、要送到哪個 channel alias、使用哪個模板、如何關聯 delivery receipt、失敗怎麼補償;批准前不得寫 Gateway queue 或直接呼叫 Bot API。"
|
||||
},
|
||||
"receipt_gates": [
|
||||
{
|
||||
"gate_id": "gateway_queue_owner_gate",
|
||||
"display_name": "Gateway queue owner gate",
|
||||
"owner_agent": "openclaw",
|
||||
"status": "approval_required",
|
||||
"required_evidence": "channel policy、message template、delivery correlation id、redacted summary、owner reviewer。",
|
||||
"blocked_runtime_action": "telegram_gateway_queue_write"
|
||||
},
|
||||
{
|
||||
"gate_id": "delivery_receipt_gate",
|
||||
"display_name": "Delivery receipt gate",
|
||||
"owner_agent": "hermes",
|
||||
"status": "approval_required",
|
||||
"required_evidence": "queued / sent / delivered / acknowledged 狀態 schema、failure fallback 與 replay ref。",
|
||||
"blocked_runtime_action": "telegram_delivery_receipt_write"
|
||||
},
|
||||
{
|
||||
"gate_id": "retry_failure_gate",
|
||||
"display_name": "Retry / failure compensation gate",
|
||||
"owner_agent": "openclaw",
|
||||
"status": "approval_required",
|
||||
"required_evidence": "retry policy、dead-letter threshold、AwoooP fallback、no-success-spam proof。",
|
||||
"blocked_runtime_action": "telegram_retry_worker_start"
|
||||
},
|
||||
{
|
||||
"gate_id": "direct_bot_api_gate",
|
||||
"display_name": "Direct Bot API ban gate",
|
||||
"owner_agent": "hermes",
|
||||
"status": "contract_ready",
|
||||
"required_evidence": "direct Bot API caller 必須維持 blocked;所有通知只能走 Gateway contract。",
|
||||
"blocked_runtime_action": "telegram_direct_bot_api_call"
|
||||
}
|
||||
],
|
||||
"receipt_lanes": [
|
||||
{
|
||||
"lane_id": "action_required_receipt",
|
||||
"display_name": "Action-required receipt",
|
||||
"target_surface": "telegram_gateway_queue",
|
||||
"status": "approval_required",
|
||||
"owner_agent": "openclaw",
|
||||
"review_owner": "sre_owner",
|
||||
"required_review": "owner 必須確認中高風險 action-required 訊息模板、去重、delivery correlation 與 fallback。"
|
||||
},
|
||||
{
|
||||
"lane_id": "approval_decision_receipt",
|
||||
"display_name": "Approval decision receipt",
|
||||
"target_surface": "awooop_operator_console",
|
||||
"status": "approval_required",
|
||||
"owner_agent": "hermes",
|
||||
"review_owner": "operator_owner",
|
||||
"required_review": "owner 必須確認批准 / 拒絕 / no-action 結果能回到 AwoooP timeline,Telegram 只保留摘要。"
|
||||
},
|
||||
{
|
||||
"lane_id": "failure_only_digest_receipt",
|
||||
"display_name": "Failure-only digest receipt",
|
||||
"target_surface": "telegram_failure_digest",
|
||||
"status": "blocked_by_runtime_gate",
|
||||
"owner_agent": "openclaw",
|
||||
"review_owner": "sre_owner",
|
||||
"required_review": "owner 必須確認成功不洗版、失敗才通知、dead-letter 可回查、retry 不重複轟炸。"
|
||||
}
|
||||
],
|
||||
"retry_contract": {
|
||||
"retry_required": true,
|
||||
"retry_steps": [
|
||||
"每筆 receipt 必須有 delivery_correlation_id",
|
||||
"queued / delivered / acknowledged / failed 狀態必須可回查",
|
||||
"retry 必須受 dedupe key 與 dead-letter threshold 控制",
|
||||
"成功 smoke 不即時通知,避免 Telegram 洗版",
|
||||
"failure fallback 必須回寫 AwoooP timeline 的 receipt_failed 事件"
|
||||
]
|
||||
},
|
||||
"approval_boundaries": {
|
||||
"telegram_send_allowed": false,
|
||||
"gateway_queue_write_allowed": false,
|
||||
"direct_bot_api_allowed": false,
|
||||
"receiver_route_change_allowed": false,
|
||||
"runtime_worker_allowed": false,
|
||||
"secret_plaintext_allowed": false,
|
||||
"success_spam_allowed": false
|
||||
},
|
||||
"display_redaction_contract": {
|
||||
"redaction_required": true,
|
||||
"raw_payload_display_allowed": false,
|
||||
"private_reasoning_display_allowed": false,
|
||||
"secret_value_display_allowed": false,
|
||||
"allowed_frontend_content": [
|
||||
"receipt lane",
|
||||
"target surface",
|
||||
"owner review status",
|
||||
"required evidence",
|
||||
"blocked runtime action",
|
||||
"retry requirement"
|
||||
],
|
||||
"forbidden_frontend_content": [
|
||||
"Telegram token",
|
||||
"raw chat id",
|
||||
"authorization header",
|
||||
"未脫敏 message payload",
|
||||
"未核准內部細節",
|
||||
"raw tool output"
|
||||
],
|
||||
"frontend_display_policy": "治理頁只顯示 receipt lane、目標 surface、owner review、阻擋 runtime action 與 retry 要求;Telegram token、raw chat id、authorization header、未脫敏 payload、未核准內部細節與 raw tool output 不進前端。"
|
||||
},
|
||||
"rollups": {
|
||||
"receipt_gate_count": 4,
|
||||
"receipt_lane_count": 3,
|
||||
"approval_required_gate_ids": [
|
||||
"gateway_queue_owner_gate",
|
||||
"delivery_receipt_gate",
|
||||
"retry_failure_gate"
|
||||
],
|
||||
"blocked_runtime_action_count": 4,
|
||||
"required_field_count": 12,
|
||||
"forbidden_field_count": 8,
|
||||
"live_receipt_count_total": 0
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://awoooi.wooo.work/schemas/ai_agent_telegram_receipt_approval_package_v1.schema.json",
|
||||
"title": "AI Agent Telegram Receipt Approval Package",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"schema_version",
|
||||
"generated_at",
|
||||
"program_status",
|
||||
"telegram_truth",
|
||||
"receipt_package",
|
||||
"receipt_gates",
|
||||
"receipt_lanes",
|
||||
"retry_contract",
|
||||
"approval_boundaries",
|
||||
"display_redaction_contract",
|
||||
"rollups"
|
||||
],
|
||||
"properties": {
|
||||
"schema_version": {
|
||||
"const": "ai_agent_telegram_receipt_approval_package_v1"
|
||||
},
|
||||
"generated_at": {
|
||||
"type": "string"
|
||||
},
|
||||
"program_status": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"overall_completion_percent",
|
||||
"current_task_id",
|
||||
"next_task_id",
|
||||
"read_only_mode",
|
||||
"runtime_authority"
|
||||
],
|
||||
"properties": {
|
||||
"overall_completion_percent": { "type": "integer" },
|
||||
"current_priority": { "type": "string" },
|
||||
"current_task_id": { "const": "P2-403E" },
|
||||
"next_task_id": { "const": "P2-403F" },
|
||||
"read_only_mode": { "const": true },
|
||||
"runtime_authority": { "const": "approval_package_only_no_telegram_send" },
|
||||
"status_note": { "type": "string" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"telegram_truth": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"telegram_send_allowed": { "const": false },
|
||||
"gateway_queue_write_allowed": { "const": false },
|
||||
"direct_bot_api_allowed": { "const": false },
|
||||
"receiver_route_change_allowed": { "const": false },
|
||||
"runtime_worker_allowed": { "const": false },
|
||||
"live_queued_receipt_count": { "const": 0 },
|
||||
"live_delivered_receipt_count": { "const": 0 },
|
||||
"live_acknowledged_receipt_count": { "const": 0 },
|
||||
"live_failed_receipt_count": { "const": 0 },
|
||||
"live_retry_count": { "const": 0 },
|
||||
"truth_note": { "type": "string" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"receipt_package": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"required_fields",
|
||||
"forbidden_fields",
|
||||
"owner_review_required",
|
||||
"retry_policy_required",
|
||||
"delivery_receipt_required"
|
||||
],
|
||||
"properties": {
|
||||
"required_fields": { "type": "array", "items": { "type": "string" } },
|
||||
"forbidden_fields": { "type": "array", "items": { "type": "string" } },
|
||||
"owner_review_required": { "const": true },
|
||||
"retry_policy_required": { "const": true },
|
||||
"delivery_receipt_required": { "const": true },
|
||||
"operator_meaning": { "type": "string" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"receipt_gates": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["gate_id", "display_name", "owner_agent", "status", "required_evidence", "blocked_runtime_action"],
|
||||
"properties": {
|
||||
"gate_id": { "type": "string" },
|
||||
"display_name": { "type": "string" },
|
||||
"owner_agent": { "enum": ["openclaw", "hermes", "nemotron"] },
|
||||
"status": { "type": "string" },
|
||||
"required_evidence": { "type": "string" },
|
||||
"blocked_runtime_action": { "type": "string" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"receipt_lanes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["lane_id", "display_name", "target_surface", "status", "owner_agent", "review_owner", "required_review"],
|
||||
"properties": {
|
||||
"lane_id": { "type": "string" },
|
||||
"display_name": { "type": "string" },
|
||||
"target_surface": { "type": "string" },
|
||||
"status": { "type": "string" },
|
||||
"owner_agent": { "enum": ["openclaw", "hermes", "nemotron"] },
|
||||
"review_owner": { "type": "string" },
|
||||
"required_review": { "type": "string" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"retry_contract": {
|
||||
"type": "object",
|
||||
"required": ["retry_required", "retry_steps"],
|
||||
"properties": {
|
||||
"retry_required": { "const": true },
|
||||
"retry_steps": { "type": "array", "items": { "type": "string" } }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"approval_boundaries": {
|
||||
"type": "object",
|
||||
"additionalProperties": { "const": false }
|
||||
},
|
||||
"display_redaction_contract": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"redaction_required": { "const": true },
|
||||
"raw_payload_display_allowed": { "const": false },
|
||||
"private_reasoning_display_allowed": { "const": false },
|
||||
"secret_value_display_allowed": { "const": false },
|
||||
"allowed_frontend_content": { "type": "array", "items": { "type": "string" } },
|
||||
"forbidden_frontend_content": { "type": "array", "items": { "type": "string" } },
|
||||
"frontend_display_policy": { "type": "string" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"rollups": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"receipt_gate_count",
|
||||
"receipt_lane_count",
|
||||
"approval_required_gate_ids",
|
||||
"blocked_runtime_action_count",
|
||||
"required_field_count",
|
||||
"forbidden_field_count",
|
||||
"live_receipt_count_total"
|
||||
],
|
||||
"properties": {
|
||||
"receipt_gate_count": { "type": "integer" },
|
||||
"receipt_lane_count": { "type": "integer" },
|
||||
"approval_required_gate_ids": { "type": "array", "items": { "type": "string" } },
|
||||
"blocked_runtime_action_count": { "type": "integer" },
|
||||
"required_field_count": { "type": "integer" },
|
||||
"forbidden_field_count": { "type": "integer" },
|
||||
"live_receipt_count_total": { "const": 0 }
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
@@ -634,7 +634,7 @@ Alert / Sentry / SigNoz / Gitea / Market Watch / Operator
|
||||
| `docs/evaluations/ai_agent_communication_learning_contract_2026-06-11.json` | 2026-06-11 committed snapshot;完成度 `35%`,runtime worker / DB migration / Telegram direct send 全部 false |
|
||||
| `apps/api/src/services/ai_agent_communication_learning_contract.py` | 只讀 loader;強制驗證 runtime / migration / Telegram / SDK / route 權限都未開 |
|
||||
| `GET /api/v1/agents/agent-communication-learning-contract` | 治理 API;只回傳 committed contract,不啟動 worker、不碰 DB/Redis、不呼叫外部服務 |
|
||||
| `docs/evaluations/ai_agent_interaction_learning_proof_2026-06-11.json` + `GET /api/v1/agents/agent-interaction-learning-proof` | P2-403A / P2-403B / P2-403C / P2-403D 互動、接手、學習、成長、read model gate、Redis dry-run gate 與 learning writeback approval package 證據面;目前 live session、message、handoff、learning write、Telegram receipt 全部 `0`,下一步 P2-403E |
|
||||
| `docs/evaluations/ai_agent_interaction_learning_proof_2026-06-11.json` + `GET /api/v1/agents/agent-interaction-learning-proof` | P2-403A / P2-403B / P2-403C / P2-403D / P2-403E 互動、接手、學習、成長、read model gate、Redis dry-run gate、learning writeback approval package 與 Telegram receipt approval package 證據面;目前 live session、message、handoff、learning write、Telegram receipt 全部 `0`,下一步 P2-403F |
|
||||
| `docs/evaluations/ai_agent_live_read_model_gate_2026-06-11.json` + `GET /api/v1/agents/agent-live-read-model-gate` | P2-403B AgentSession / Redis Streams live read model gate;定義 safe fields、Redis envelope、worker gate、rollback plan 與 no-write smoke,不連 DB、不讀寫 Redis、不啟動 worker |
|
||||
|
||||
#### 3.2.1c 2026-06-11 AI Agent 主動營運委派與版本生命週期契約
|
||||
@@ -712,7 +712,8 @@ Repo / registry / release notes / K8s / host / observability / backup evidence
|
||||
7. 先建立可被統帥看見的互動 / 接手 / 學習 / 成長證據面。✅ P2-403A 已完成;live count 仍為 `0`,不宣稱 runtime 已運作。
|
||||
8. 建立 AgentSession / Redis live read model gate。✅ P2-403B 已完成;safe fields、Redis envelope、worker gate、rollback plan、no-write smoke 已接入治理頁,但 live DB query / Redis consumer / worker 仍未授權。
|
||||
9. 建立 Redis Streams consumer group dry-run、handoff envelope、ack / dead-letter / replay gate。✅ P2-403C 已完成;fixture-only dry-run、idempotency、redacted evidence 與治理頁已接入,但 Redis runtime consumer / ACK / replay 仍未授權。
|
||||
10. 建立 learning writeback approval package,先固定 owner review、rollback、redaction 與 blocked write actions。✅ P2-403D 已完成;KM / PlayBook trust / timeline learning / replay score live write 仍未授權。下一步 P2-403E Telegram receipt approval package。
|
||||
10. 建立 learning writeback approval package,先固定 owner review、rollback、redaction 與 blocked write actions。✅ P2-403D 已完成;KM / PlayBook trust / timeline learning / replay score live write 仍未授權。
|
||||
11. 建立 Telegram receipt approval package,先固定 queue、delivery、ack、failure、retry 與 redaction。✅ P2-403E 已完成;Gateway queue write、Bot API、delivery receipt write、retry worker 仍未授權。下一步 P2-403F owner-approved learning writeback dry-run。
|
||||
|
||||
#### 3.2.1d 2026-06-11 Agent 互動、學習與成長證據面
|
||||
|
||||
@@ -728,14 +729,14 @@ Repo / registry / release notes / K8s / host / observability / backup evidence
|
||||
| 訊息收據 | 發話、收話、ack、dead letter、replay | P2-403C dry-run gate 已完成;live receipt count 仍為 `0` |
|
||||
| 接手紀錄 | OpenClaw / Hermes / NemoTron parent turn / handoff chain | P2-403C handoff envelope 已完成;runtime handoff count 仍為 `0` |
|
||||
| 學習回寫 | KM、Playbook trust、learning failure、replay score | P2-403D approval package 已完成;live learning write count 仍為 `0` |
|
||||
| Telegram 收據 | action-required / approval / failure digest queued / delivered / acknowledged | P2-403E 待辦 |
|
||||
| Telegram 收據 | action-required / approval / failure digest queued / delivered / acknowledged | P2-403E approval package 已完成;live receipt count 仍為 `0` |
|
||||
|
||||
**本波已建立的可執行契約(只讀,不授權 runtime):**
|
||||
|
||||
| 檔案 / API | 用途 |
|
||||
|---|---|
|
||||
| `docs/schemas/ai_agent_interaction_learning_proof_v1.schema.json` | 互動、接手、學習、成長、Telegram receipt 與前端 redaction schema |
|
||||
| `docs/evaluations/ai_agent_interaction_learning_proof_2026-06-11.json` | P2-403A + P2-403B + P2-403C + P2-403D committed snapshot;完成度 `72%`,live truth counts 全部 `0` |
|
||||
| `docs/evaluations/ai_agent_interaction_learning_proof_2026-06-11.json` | P2-403A + P2-403B + P2-403C + P2-403D + P2-403E committed snapshot;完成度 `80%`,live truth counts 全部 `0` |
|
||||
| `apps/api/src/services/ai_agent_interaction_learning_proof.py` | 只讀 loader;強制 live flags / DB / Redis / Telegram / transcript / 私有推理全部關閉 |
|
||||
| `GET /api/v1/agents/agent-interaction-learning-proof` | 治理 API;只回傳證據面,不啟動 worker、不碰 live DB/Redis、不發 Telegram |
|
||||
| `docs/schemas/ai_agent_live_read_model_gate_v1.schema.json` | P2-403B live read model gate schema;強制 DB / Redis / worker / Telegram / learning writeback 仍需批准 |
|
||||
@@ -750,6 +751,10 @@ Repo / registry / release notes / K8s / host / observability / backup evidence
|
||||
| `docs/evaluations/ai_agent_learning_writeback_approval_package_2026-06-11.json` | P2-403D committed snapshot;owner review、rollback、redaction、blocked write actions 與 live write total `0` |
|
||||
| `apps/api/src/services/ai_agent_learning_writeback_approval_package.py` | 只讀 loader;拒絕 KM write、PlayBook trust update、timeline learning、replay score write、Telegram send 與 runtime worker |
|
||||
| `GET /api/v1/agents/agent-learning-writeback-approval-package` | 治理 API;只回傳 learning writeback approval package,不寫 KM、不更新 PlayBook trust、不寫 timeline / replay score、不發 Telegram |
|
||||
| `docs/schemas/ai_agent_telegram_receipt_approval_package_v1.schema.json` | P2-403E Telegram receipt approval package schema;強制 Gateway queue write / Bot API / delivery receipt / retry worker / receiver route 全部維持未授權 |
|
||||
| `docs/evaluations/ai_agent_telegram_receipt_approval_package_2026-06-11.json` | P2-403E committed snapshot;owner review、delivery correlation、retry、redaction、blocked runtime actions 與 live receipt total `0` |
|
||||
| `apps/api/src/services/ai_agent_telegram_receipt_approval_package.py` | 只讀 loader;拒絕 Gateway queue write、Telegram direct send、delivery receipt write、receiver route change 與 retry worker |
|
||||
| `GET /api/v1/agents/agent-telegram-receipt-approval-package` | 治理 API;只回傳 Telegram receipt approval package,不寫 queue、不呼叫 Bot API、不改 route、不發 Telegram |
|
||||
| `/zh-TW/governance?tab=automation-inventory` | 顯示證據階梯、目前真相、三 Agent lane、可觀測訊號、runtime gates 與 redaction policy |
|
||||
|
||||
**硬性紅線:**
|
||||
@@ -1832,6 +1837,14 @@ Phase 6 完成後
|
||||
- 更新 `ai_agent_interaction_learning_proof_2026-06-11.json`:整體完成度 `72%`,current task `P2-403D`,next task `P2-403E`;live AgentSession / Redis events / handoff / learning write / Telegram digest receipt 全部仍為 `0`。
|
||||
- 本波仍不寫 KM、不更新 PlayBook trust、不寫 timeline learning、不寫 replay score、不發 Telegram、不啟動 runtime worker、不讀取或輸出 secret;下一步 P2-403E 才做 Telegram receipt approval package。
|
||||
|
||||
|
||||
### 2026-06-11 23:59 (台北) — §3.2 / §5 — 完成 P2-403E Telegram Receipt Approval Package — 先把通知收據鏈拆成批准包,不再把 Telegram 沒聲音包裝成成功
|
||||
|
||||
- 新增 `ai_agent_telegram_receipt_approval_package_v1` schema / committed snapshot / loader / API / 測試,定義 queue、delivery、ack、failure、retry、owner review、delivery correlation、redaction 與 blocked runtime actions。
|
||||
- `apps/web/src/app/[locale]/governance/tabs/automation-inventory-tab.tsx` 接入 `GET /api/v1/agents/agent-telegram-receipt-approval-package`,顯示 Telegram receipt KPI、批准包欄位、禁止欄位、receipt gates、receipt lanes、truth flags 與 live receipt count。
|
||||
- 更新 `ai_agent_interaction_learning_proof_2026-06-11.json`:整體完成度 `80%`,current task `P2-403E`,next task `P2-403F`;live AgentSession / Redis events / handoff / learning write / Telegram digest receipt 全部仍為 `0`。
|
||||
- 本波仍不寫 Gateway queue、不呼叫 Telegram Bot API、不改 receiver route、不寫 delivery receipt、不啟動 retry worker、不讀取或輸出 secret;下一步 P2-403F 才做 owner-approved learning writeback dry-run。
|
||||
|
||||
### 2026-04-15 (台北) — 全檔 — 建立 v2 骨架,§0/§1 完成 — 統帥批准「單 MASTER + 4 道閘門」結構
|
||||
|
||||
- 從 v1(plans/2026-04-15-MASTER-ai-autonomous-flywheel.md)繼承核心發現
|
||||
|
||||
Reference in New Issue
Block a user