diff --git a/docs/LOGBOOK.md b/docs/LOGBOOK.md index 1b23bc6c..7c0415e9 100644 --- a/docs/LOGBOOK.md +++ b/docs/LOGBOOK.md @@ -1,3 +1,61 @@ +## 2026-06-05|P1-106 異地 / Escrow 準備度正式部署 + +**背景**:接續 P1-105 復原演練批准包模板,統帥批准依 AI Agent 自動化工作清單推進 P1-106。本段目標是把異地備份、credential escrow marker 與 Velero / K8s resource offsite readiness 轉成 governance 可讀狀態;只做只讀展示與證據鏈,不執行 backup、restore、offsite sync、credential marker 寫入或 secret 讀取。 + +**本輪完成**: +- `docs/schemas/offsite_escrow_readiness_status_v1.schema.json`:新增異地 / escrow 準備度 schema,明確禁止 backup、restore、offsite sync、credential marker 寫入、credential read、secret plaintext、schedule / workflow / Telegram test、destructive prune、paid API、shadow / canary 與 production routing。 +- `docs/evaluations/offsite_escrow_readiness_status_2026-06-05.json`:新增 3 張 readiness card:`offsite_rclone_full_sync` 已驗證但執行阻擋、`credential_escrow_markers` escrow blocked、`velero_k8s_resources` action required。 +- `GET /api/v1/agents/offsite-escrow-readiness-status`:新增只讀 API,只回 committed snapshot,不讀 secret、不寫 marker、不觸發任何同步或復原。 +- Governance automation inventory tab 新增「異地 / Escrow 準備度」區塊,顯示 total / verified / action required / escrow blocked / execution blocked 與不可誤讀合約。 +- `docs/evaluations/ai_agent_automation_inventory_snapshot_2026-06-04_static_seed.json` 推進為 `P1-106 -> P1-305`;WS4 備份與 DR 自動化 `83% -> 100%`,WS8 `82% -> 86%`。 +- `docs/evaluations/ai_agent_automation_backlog_2026-06-04.json` 新增 `AUTO-P1-106`;rollup 更新為 total `21`、P1 `19`、done `14`、read_only_allowed `18`、Hermes owner `11`。 +- `docs/ai/AI_AGENT_AUTOMATION_WORKLIST_2026-06-04.md` 與 MASTER §8 已同步 P1-106 摘要、完成度與下一步。 + +**完成度更新**: +- P1-106 異地 / escrow 準備度 slice:本地 `100%`,正式站 `100%`。 +- AI Agent automation backlog:done `13 -> 14`,整體以項目數計約 `67%`(14 / 21)。 +- WS4 Backup / DR 自動化:`100%`。 +- 下一個高優先工作:`P1-305` 綁定 Velero / MinIO freshness 指標、`P1-306` credential escrow marker read-only evidence,再接 `P1-001` 監控安全閘。 + +**驗證**: +- JSON parse:P1-106 schema、P1-106 snapshot、automation inventory snapshot、automation backlog snapshot、i18n messages 均通過。 +- API pytest:`apps/api/tests/test_offsite_escrow_readiness_status.py`、`test_offsite_escrow_readiness_status_api.py`、automation inventory / backlog snapshot 與 API 測試共 `21 passed`。 +- `python3 -m py_compile`:P1-106 service / API route / 測試通過。 +- `python3 scripts/security/source-control-owner-response-guard.py --root .`:`SOURCE_CONTROL_OWNER_RESPONSE_GUARD_OK`。 +- `python3 scripts/security/security-mirror-progress-guard.py --root .`:`SECURITY_MIRROR_PROGRESS_GUARD_OK`。 +- `git diff --check` / staged diff check:通過。 +- `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`:成功;`/zh-TW/governance` First Load JS `381 kB`。 + +**Gitea / CD**: +- Code commit:`43606288 feat(governance): 顯示異地 escrow 準備度`。 +- Code-review run:`2589`,成功。 +- CD run:`2588`;`tests` 成功、`build-and-deploy` 成功並追加 deploy marker;`post-deploy-checks` 顯示 cancelled,因此本段以 production API 與 Browser readback 補齊正式站驗證。 +- Deploy marker:`b9251a32 chore(cd): deploy 4360628 [skip ci]`。 + +**正式站 API readback**: +- `https://awoooi.wooo.work/api/v1/health`:`200`。 +- `https://awoooi.wooo.work/api/v1/agents/offsite-escrow-readiness-status`:`schema_version=offsite_escrow_readiness_status_v1`、`current_task_id=P1-106`、`next_task_id=P1-305`、`total_cards=3`、verified `1`、action_required `1`、blocked `1`、execution_blocked `3`。 +- `approval_boundaries.restore_execution_allowed=false`、`offsite_sync_execution_allowed=false`、`credential_marker_write_allowed=false`;`operation_boundaries.credential_read_allowed=false`、`secret_plaintext_allowed=false`。 +- `must_not_interpret_as` 包含 `復原批准`、`異地同步批准`、`credential marker 寫入批准`、`secret 讀取批准`、`完整 DR 綠燈`、`生產路由批准`。 +- Production automation backlog:total `21`、P1 `19`、done `14`、read_only_allowed `18`、Hermes owner `11`,`AUTO-P1-106` 可見。 + +**正式站 Browser smoke**: +- Desktop `https://awoooi.wooo.work/zh-TW/governance?tab=automation-inventory&_v=b9251a32-p1-106-prod-desktop`,viewport `1440x1000`: + - `異地 / Escrow 準備度`、`異地已驗證`、`ESCROW 阻擋`、`執行阻擋` 可見。 + - `Credential escrow evidence markers`、`Velero K8s resource snapshots`、`Google Drive / rclone offsite mirror` 三張 card 可見。 + - `復原批准`、`完整 DR 綠燈`、`生產路由批准` 等不可誤讀合約可見。 + - console error `0`;`horizontalOverflow=0`。 + - 截圖:`/tmp/awoooi-p1-106-offsite-escrow-prod-desktop-b9251a32.png`。 +- Mobile `https://awoooi.wooo.work/zh-TW/governance?tab=automation-inventory&_v=b9251a32-p1-106-prod-mobile`,viewport `390x844`: + - P1-106 區塊、三張 readiness card、不可誤讀合約可見。 + - console error `0`;`horizontalOverflow=0`;overflowing element `0`。 + - 截圖:`/tmp/awoooi-p1-106-offsite-escrow-prod-mobile-b9251a32.png`。 + +**目前邊界**: +- P1-106 只完成異地 / escrow readiness 的只讀 evidence surface,不代表任何 restore drill、offsite sync、credential escrow marker 更新、secret 讀取或 production routing 已批准。 +- `credential_escrow_markers` 維持 blocked;`velero_k8s_resources` 維持 action_required;`offsite_rclone_full_sync` 即使已驗證,也不得被 Agent 解讀成可自行觸發異地同步。 +- 成功狀態可進每日摘要;不得即時 Telegram / AwoooP 洗版。失敗、blocked、metric binding gap 或 restore approval attempt 才進 action-required。 + ## 2026-06-05|IwoooS P2-D2 Code Review 候選分類上線 **背景**:接續 IwoooS P2-D2 AIOps 範例資料模式,本段處理 `/zh-TW/code-review` 的可見文案與 Code Review 修正候選分類。目標是讓候選清楚分為「前端體驗、測試補洞、文件同步、低風險重構」,並明確標示人工批准前不自動改 code、不自動 merge、不自動部署。這不是 owner response、runtime gate、Kali 維護、GitHub primary、自動修復或正式執行授權。