feat: add post-deploy verification checklist and script

This commit is contained in:
Apple
2025-11-30 14:47:27 -08:00
parent 25defcdb36
commit 6d4f9ec7c5
3 changed files with 867 additions and 0 deletions

View File

@@ -0,0 +1,278 @@
# DEPLOY_VERIFICATION_CHECKLIST_v1
Цей список питань потрібно ставити перед кожним деплоєм, щоб гарантувати, що жодна з останніх ~30+ розробок не зламається і що весь ланцюг *Нода → Агенти → DAGI → microdao → UI* залишається консистентним.
---
## I. **Node Registry / Node Cabinet**
### 1. Чи всі ноди зареєстровані в `node_registry`?
### 2. Чи працює `POST /internal/nodes/register-or-update`?
### 3. Чи показує `/api/v1/nodes` правильну кількість нод?
### 4. Чи зникли ноди з UI після оновлення? Чи це помилка API чи реальний стан?
### 5. Чи у всіх нод є свіжий `last_heartbeat`?
---
## II. **Node Metrics (GPU/CPU/RAM/Disk)**
### 6. Чи повертає `/internal/node/{id}/metrics/current`:
* GPU модель
* GPU memory total/free
* CPU load
* RAM usage
* Disk usage
### 7. Чи метрики не “обнулилися” після деплою?
### 8. Чи не зникли агенти в Node Cabinet через порожній `node_cache`?
---
## III. **Node Core Agents (8 агентів DAOS)**
Для кожної ноди:
### 9. Чи існують:
* Node Guardian
* Node Steward
* DAGI Router Agent
* Swapper Agent
* Multimodal Agent
* Tools & Planner Agent
* Security/Sentinel Agent
* Archivist Agent (якщо увімкнено)
### 10. Чи всі вони мають `node_id`?
### 11. Чи всі мають `public_slug` → UI кабінет відкривається?
### 12. Чи всі мають System Prompts (`core` обов’язково, де треба — `safety`)?
### 13. Чи видно їх у `/nodes/{nodeId}` у відповідних секціях?
---
## IV. **DAGI Router / DAGI Audit**
### 14. Чи працює `/internal/node/{id}/dagi-router/agents`?
### 15. Чи є `router_total >= 1` і `system_total >= 1`?
### 16. Чи працює DAGI-agent autosync?
### 17. Чи phantom/stale ≤ 20 (або інший поріг)?
### 18. Чи запускається `POST /dagi-audit/run` без помилок?
### 19. Чи DAGI Router Agent бачить сервіс у `/healthz`?
---
## V. **Swapper Service / Models**
### 20. Чи Swapper відповідає на `/healthz`?
### 21. Чи моделі завантажені (`/api/models`)?
### 22. Чи мінімальний набір моделей присутній?
### 23. Чи VRAM usage коректний після restart?
### 24. Чи Swapper Agent може робити pull/unload моделей?
---
## VI. **Multimodal Stack (повний)**
Для кожної ноди:
### 25. Чи працюють:
* STT (Speech-to-Text)?
* TTS?
* OCR?
* Image Understanding?
* Document parsing (PDF/DOCX)?
* Embeddings?
* Keyframe Extraction (відео)?
### 26. Чи Multimodal Agent має prompts з повним переліком функцій?
### 27. Чи healthz STT/OCR/VLM сервісів працюють?
---
## VII. **MicroDAO / Districts / Rooms**
### 28. Чи працюють:
* GET `/api/v1/districts`
* GET `/api/v1/districts/{slug}`
* GET `/city/microdao/{slug}/rooms`
* GET `/city/microdao/{slug}/agents`
### 29. Чи District Portal показує lead/core agents?
### 30. Чи MicroDAO Agents Section відображає badges/roles?
### 31. Чи всі rooms відображаються (operations/treasury/events/...)?
---
## VIII. **Agents System Prompts MVP**
### 32. Чи всі core-агенти Міста мають `core` prompts:
* DAARWIZZ
* DARIA
* DARIO
* SOUL
* Spirit
* Logic
* Helion
* GREENFOOD ERP
### 33. Чи працює UI вкладка “System Prompts”?
### 34. Чи `GET/PUT /api/v1/agents/{id}/prompts` працює без помилок?
### 35. Чи DAGI Router правильно підтягує prompts при runtime?
---
## IX. **Node Self-Healing**
### 36. Чи Node Guardian запускає перевірки?
### 37. Чи Self-healing event-и пишуться в NATS?
### 38. Чи DAGI Router Agent може:
* перезапустити router
* запустити audit
* синхронізувати phantom/stale
### 39. Чи Swapper Agent може:
* відновити моделі
* зробити pull
* очистити кеш
### 40. Чи Multimodal Agent може:
* перезапустити STT/OCR
* перейти на fallback модель
---
## X. **API Health / Smoke Tests / Invariants**
### 41. Чи `/healthz` → 200?
### 42. Чи проходить `check-invariants.py` без помилок?
### 43. Чи smoke-тести (`pytest tests/test_infra_smoke.py`) проходять?
### 44. Чи всі міграції застосовані (`SELECT * FROM migrations`)?
### 45. Чи seed-и не перезаписали агентів неправильно?
---
## XI. **Frontend**
### 46. Чи всі сторінки збираються (`npm run build`)?
### 47. Чи `/nodes` не падає і не показує "0" нод помилково?
### 48. Чи DAGI Router Card працює?
### 49. Чи Node Cabinet показує всі 78 core-агентів?
### 50. Чи Agents Page (`/agents/:slug`) працює для всіх DAOS-нодових агентів?
---
## XII. **NATS**
### 51. Чи NATS JetStream працює?
### 52. Чи всі subscriptions DAGI/Swapper/Node Agents активні?
### 53. Чи немає flood / reconnections?
### 54. Чи логи NATS не показують dropped messages?
---
## XIII. **Docker / Services**
### 55. Чи всі контейнери здорові (`docker ps --filter health`)?
### 56. Чи healthcheck-и в docker-compose коректно налаштовані?
### 57. Чи немає old images / dangling images?
### 58. Чи env-файли актуальні й не перезаписані?
---
## XIV. **Critical Security**
### 59. Чи Sentinel Agent запущений?
### 60. Чи ключові токени/API-keys присутні в ENV і валідні?
### 61. Чи немає відкритих небезпечних портів?
### 62. Чи агенти не втратили свої safety prompts?
---
## XV. **Післядеплойні інваріанти**
### 63. Чи стан системи стабільний через 510 хвилин після деплою?
### 64. Чи немає самоперезапусків контейнерів?
### 65. Чи Node Guardian не шле тривоги?