docs: record adr100 playbook ticket remediation [skip ci]

This commit is contained in:
Your Name
2026-06-01 20:29:50 +08:00
parent e8f4d16b17
commit 640e92a735

View File

@@ -1,3 +1,63 @@
## 2026-06-01ADR-100 observe-only PlayBook 補救工作項落地
**背景**
- Docker 診斷型 PlayBook 守門已阻止 read-only / diagnose-only PlayBook 再被算成自動修復,但 production SLO read-model 仍有 6 筆 `observe_only_playbook`
- 若這些項目只停在 `needs_playbook_ticket` 分類operator 仍看不到「下一步由誰做、會不會真的改 Incident / auto-repair、是否只產生草稿」。
**本次調整**
- `apps/api/src/services/adr100_remediation_service.py`
- 新增 `ticket` remediation mode。
- `needs_playbook_ticket` / `promote_diagnostic_to_repair_playbook` 自動選擇 `ticket`,產生 PlayBook 改造草稿。
- ticket mode 只允許 `record_only`:可寫 `alert_operation_log` / timeline history不改 incident state、不改 auto-repair result、不建立外部 ticket。
- ticket 草稿要求把 diagnostic-only PlayBook 補成 gated mutating repair step例如 Docker restart、Ansible check-mode/apply 或已批准 executor action且後驗證必須綁同一 target。
- `apps/web/src/app/[locale]/awooop/work-items/page.tsx`
- 新增 ADR-100 補救工作佇列面板,直接顯示 remediation queue 的 top items。
- 顯示 `needs_playbook_ticket``observe_only_playbook``promote_diagnostic_to_repair_playbook`、owner、PlayBook 與 `預覽` / `預檢 / 草稿` 操作。
- `apps/web/messages/zh-TW.json` / `en.json`
- 新增 Work Items 面板文案;英文語系維持繁中文案鏡像。
- `apps/api/tests/test_adr100_remediation_service.py`
- 補 ticket preview / dry-run history 測試,鎖定不寫 incident、不寫 auto-repair、不建立外部 ticket。
**驗證**
- Local validation
- `python3 -m py_compile apps/api/src/services/adr100_remediation_service.py apps/api/tests/test_adr100_remediation_service.py`
- `DATABASE_URL=postgresql://test:test@localhost:5432/test PYTHONPATH=apps/api /Users/ogt/.pyenv/shims/pytest apps/api/tests/test_adr100_remediation_service.py apps/api/tests/test_adr100_slo_status_service.py -q``16 passed`
- `python3 -m json.tool apps/web/messages/zh-TW.json`
- `python3 -m json.tool apps/web/messages/en.json`
- `pnpm --dir apps/web exec tsc --noEmit --tsBuildInfoFile /tmp/awoooi-work-items-adr100-remediation.tsbuildinfo`
- `NEXT_PUBLIC_API_URL=https://awoooi.wooo.work NEXT_PRIVATE_BUILD_WORKER_COUNT=1 pnpm --dir apps/web run build`
- `git diff --check`
- `python3 scripts/security/security-mirror-progress-guard.py --root .``SECURITY_MIRROR_PROGRESS_GUARD_OK`
- Gitea / deployment
- `a7b807db feat(adr100): surface playbook ticket remediation` 已推 `gitea main`GitHub 未推。
- 首次 push CD`3547` code-review success`3546` build-and-deploy failure原因為 Gitea 在 deploy marker push 期間重啟production 未切換。
- 補跑 `cd.yaml` workflow_dispatch`3548` success部署 `a7b807db`
- 後續另一段前端工作推進到 `fa29f856 fix(web): surface IwoooS S4.9 draft radar`,其包含本次 ADR-100 commit最終 `3549` CD success、`3550` code-review successdeploy marker `e8f4d16b chore(cd): deploy fa29f85 [skip ci]`
- 最終 production image
- `awoooi-api=192.168.0.110:5000/awoooi/api:fa29f856b073ff13c30d9e0ec659178e04fef15a`Ready `2/2`
- `awoooi-worker=192.168.0.110:5000/awoooi/api:fa29f856b073ff13c30d9e0ec659178e04fef15a`Ready `1/1`
- `awoooi-web=192.168.0.110:5000/awoooi/web:fa29f856b073ff13c30d9e0ec659178e04fef15a`Ready `2/2`
- Production smoke`ALERT_CHAIN_API_HEALTH_RETRY_DELAY=1 python3 scripts/alert_chain_smoke_test.py --api-url https://awoooi.wooo.work --json``PASSED — 8/8 checks passed in 0.8s`
- Production ADR-100 API
- selected work item`verification:INC-20260601-DDB0AC:9407ec90-1efb-4be8-82a0-aac7759a172d`
- `remediation_status=needs_playbook_ticket``remediation_action=promote_diagnostic_to_repair_playbook`
- preview`mode=ticket``allowed=true``agent_id=openclaw_playbook_planner``required_scope=record_only`、writes=`alert_operation_log,timeline`
- dry-run history`verification_result_preview=ticket_proposal``writes_incident_state=false``writes_auto_repair_result=false`
- Production browser readback
- `/zh-TW/awooop/work-items?project_id=awoooi&_v=fa29f856-adr100-ticket#adr100-remediation`
- `ADR-100 補救工作佇列=true``補救 8 筆=true``needs_playbook_ticket=true``observe_only_playbook=true``promote_diagnostic_to_repair_playbook=true``預檢 / 草稿=true`
- i18n fallback key`false`horizontal overflow`0`
**目前整體進度(本階段完成後)**
- ADR-100 非成功驗證補救工作項:約 `90%`;已能把 observe-only 歷史項轉成 record-only PlayBook 改造草稿與 Work Items 操作面。
- Docker 診斷型 PlayBook 守門:約 `95%`;仍需下一次真實 Docker 告警證明不再新增假陽性 execution。
- 真正 verified auto-repair 成功樣本:仍約 `3-4%`;本階段補的是「可追蹤與改造入口」,不是把歷史項改寫為成功。
- 完整 AI 自動化飛輪總進度:維持 `61%`;除非 production 出現可追溯 `verified_success` 與 24h 穩定資料,不能上調。
## 2026-06-01IwoooS S4.9 補件題目雷達落地
**背景**