feat: add post-deploy verification checklist and script
This commit is contained in:
278
docs/checklists/DEPLOY_VERIFICATION_CHECKLIST_v1.md
Normal file
278
docs/checklists/DEPLOY_VERIFICATION_CHECKLIST_v1.md
Normal 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 показує всі 7–8 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. Чи стан системи стабільний через 5–10 хвилин після деплою?
|
||||
|
||||
### 64. Чи немає самоперезапусків контейнерів?
|
||||
|
||||
### 65. Чи Node Guardian не шле тривоги?
|
||||
|
||||
Reference in New Issue
Block a user