- Update mkdocs dependencies to latest versions - Add permissions for GitHub Pages deployment - Add workflow_dispatch for manual trigger - Fix build command with fallback
1667 lines
51 KiB
HTML
1667 lines
51 KiB
HTML
|
||
<!doctype html>
|
||
<html lang="en" class="no-js">
|
||
<head>
|
||
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
|
||
|
||
|
||
<link rel="canonical" href="https://IvanTytar.github.io/microdao-daarion/checklists/DEPLOY_VERIFICATION_CHECKLIST_v1/">
|
||
|
||
|
||
|
||
|
||
<link rel="icon" href="../../assets/images/favicon.png">
|
||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||
|
||
|
||
|
||
<title>DEPLOY_VERIFICATION_CHECKLIST_v1 - DAARION Documentation</title>
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="../../assets/stylesheets/main.66ac8b77.min.css">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
||
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
||
|
||
|
||
|
||
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</head>
|
||
|
||
|
||
<body dir="ltr">
|
||
|
||
|
||
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
||
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
||
<label class="md-overlay" for="__drawer"></label>
|
||
<div data-md-component="skip">
|
||
|
||
|
||
<a href="#deploy_verification_checklist_v1" class="md-skip">
|
||
Skip to content
|
||
</a>
|
||
|
||
</div>
|
||
<div data-md-component="announce">
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<header class="md-header md-header--shadow" data-md-component="header">
|
||
<nav class="md-header__inner md-grid" aria-label="Header">
|
||
<a href="../.." title="DAARION Documentation" class="md-header__button md-logo" aria-label="DAARION Documentation" data-md-component="logo">
|
||
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
|
||
|
||
</a>
|
||
<label class="md-header__button md-icon" for="__drawer">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
|
||
</label>
|
||
<div class="md-header__title" data-md-component="header-title">
|
||
<div class="md-header__ellipsis">
|
||
<div class="md-header__topic">
|
||
<span class="md-ellipsis">
|
||
DAARION Documentation
|
||
</span>
|
||
</div>
|
||
<div class="md-header__topic" data-md-component="header-topic">
|
||
<span class="md-ellipsis">
|
||
|
||
DEPLOY_VERIFICATION_CHECKLIST_v1
|
||
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
||
|
||
|
||
|
||
<label class="md-header__button md-icon" for="__search">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
||
</label>
|
||
<div class="md-search" data-md-component="search" role="dialog">
|
||
<label class="md-search__overlay" for="__search"></label>
|
||
<div class="md-search__inner" role="search">
|
||
<form class="md-search__form" name="search">
|
||
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
||
<label class="md-search__icon md-icon" for="__search">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
||
</label>
|
||
<nav class="md-search__options" aria-label="Search">
|
||
|
||
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
||
</button>
|
||
</nav>
|
||
|
||
</form>
|
||
<div class="md-search__output">
|
||
<div class="md-search__scrollwrap" data-md-scrollfix>
|
||
<div class="md-search-result" data-md-component="search-result">
|
||
<div class="md-search-result__meta">
|
||
Initializing search
|
||
</div>
|
||
<ol class="md-search-result__list" role="presentation"></ol>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</nav>
|
||
|
||
</header>
|
||
|
||
<div class="md-container" data-md-component="container">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<main class="md-main" data-md-component="main">
|
||
<div class="md-main__inner md-grid">
|
||
|
||
|
||
|
||
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
||
<div class="md-sidebar__scrollwrap">
|
||
<div class="md-sidebar__inner">
|
||
|
||
|
||
|
||
|
||
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
|
||
<label class="md-nav__title" for="__drawer">
|
||
<a href="../.." title="DAARION Documentation" class="md-nav__button md-logo" aria-label="DAARION Documentation" data-md-component="logo">
|
||
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
|
||
|
||
</a>
|
||
DAARION Documentation
|
||
</label>
|
||
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../public/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Home
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../public/getting-started/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Getting Started
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../public/architecture-overview/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Architecture
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../public/daiS_daos_overview/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
DAIS & DAOS
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
|
||
|
||
|
||
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Internal
|
||
</span>
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_5">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
Internal
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--nested">
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" >
|
||
|
||
|
||
<label class="md-nav__link" for="__nav_5_1" id="__nav_5_1_label" tabindex="0">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Infra
|
||
</span>
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_1_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_5_1">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
Infra
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../internal/infra/INFRA_AUTOMATION_PACK_V1/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Infra Automation Pack v1
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../internal/infra/monitoring_overview/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Monitoring Overview
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../internal/infra/nodes_registry_v0/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Nodes Registry v0
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--nested">
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_2" >
|
||
|
||
|
||
<label class="md-nav__link" for="__nav_5_2" id="__nav_5_2_label" tabindex="0">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Specs
|
||
</span>
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_5_2_label" aria-expanded="false">
|
||
<label class="md-nav__title" for="__nav_5_2">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
Specs
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../internal/specs/matrix_presence_aggregator/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Matrix Presence Aggregator
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../internal/specs/city_map_spec/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
City Map Spec
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../internal/specs/node_join_protocol_draft/" class="md-nav__link">
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
Node Join Protocol (Draft)
|
||
</span>
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
||
<div class="md-sidebar__scrollwrap">
|
||
<div class="md-sidebar__inner">
|
||
|
||
|
||
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__title" for="__toc">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
Table of contents
|
||
</label>
|
||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#i-node-registry-node-cabinet" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
I. Node Registry / Node Cabinet
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="I. Node Registry / Node Cabinet">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#1-node_registry" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
1. Чи всі ноди зареєстровані в node_registry?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#2-post-internalnodesregister-or-update" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
2. Чи працює POST /internal/nodes/register-or-update?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#3-apiv1nodes" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
3. Чи показує /api/v1/nodes правильну кількість нод?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#4-ui-api" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
4. Чи зникли ноди з UI після оновлення? Чи це помилка API чи реальний стан?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#5-last_heartbeat" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
5. Чи у всіх нод є свіжий last_heartbeat?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#ii-node-metrics-gpucpuramdisk" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
II. Node Metrics (GPU/CPU/RAM/Disk)
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="II. Node Metrics (GPU/CPU/RAM/Disk)">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#6-internalnodeidmetricscurrent" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
6. Чи повертає /internal/node/{id}/metrics/current:
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#7" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
7. Чи метрики не “обнулилися” після деплою?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#8-node-cabinet-node_cache" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
8. Чи не зникли агенти в Node Cabinet через порожній node_cache?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#iii-node-core-agents-8-daos" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
III. Node Core Agents (8 агентів DAOS)
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="III. Node Core Agents (8 агентів DAOS)">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#9" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
9. Чи існують:
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#10-node_id" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
10. Чи всі вони мають node_id?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#11-public_slug-ui" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
11. Чи всі мають public_slug → UI кабінет відкривається?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#12-system-prompts-core-safety" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
12. Чи всі мають System Prompts (core обов’язково, де треба — safety)?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#13-nodesnodeid" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
13. Чи видно їх у /nodes/{nodeId} у відповідних секціях?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#iv-dagi-router-dagi-audit" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
IV. DAGI Router / DAGI Audit
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="IV. DAGI Router / DAGI Audit">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#14-internalnodeiddagi-routeragents" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
14. Чи працює /internal/node/{id}/dagi-router/agents?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#15-router_total-1-system_total-1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
15. Чи є router_total >= 1 і system_total >= 1?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#16-dagi-agent-autosync" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
16. Чи працює DAGI-agent autosync?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#17-phantomstale-20" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
17. Чи phantom/stale ≤ 20 (або інший поріг)?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#18-post-dagi-auditrun" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
18. Чи запускається POST /dagi-audit/run без помилок?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#19-dagi-router-agent-healthz" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
19. Чи DAGI Router Agent бачить сервіс у /healthz?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#v-swapper-service-models" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
V. Swapper Service / Models
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="V. Swapper Service / Models">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#20-swapper-healthz" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
20. Чи Swapper відповідає на /healthz?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#21-apimodels" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
21. Чи моделі завантажені (/api/models)?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#22" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
22. Чи мінімальний набір моделей присутній?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#23-vram-usage-restart" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
23. Чи VRAM usage коректний після restart?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#24-swapper-agent-pullunload" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
24. Чи Swapper Agent може робити pull/unload моделей?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#vi-multimodal-stack" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
VI. Multimodal Stack (повний)
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="VI. Multimodal Stack (повний)">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#25" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
25. Чи працюють:
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#26-multimodal-agent-prompts" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
26. Чи Multimodal Agent має prompts з повним переліком функцій?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#27-healthz-sttocrvlm" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
27. Чи healthz STT/OCR/VLM сервісів працюють?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#vii-microdao-districts-rooms" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
VII. MicroDAO / Districts / Rooms
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="VII. MicroDAO / Districts / Rooms">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#28" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
28. Чи працюють:
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#29-district-portal-leadcore-agents" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
29. Чи District Portal показує lead/core agents?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#30-microdao-agents-section-badgesroles" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
30. Чи MicroDAO Agents Section відображає badges/roles?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#31-rooms-operationstreasuryevents" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
31. Чи всі rooms відображаються (operations/treasury/events/...)?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#viii-agents-system-prompts-mvp" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
VIII. Agents System Prompts MVP
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="VIII. Agents System Prompts MVP">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#32-core-core-prompts" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
32. Чи всі core-агенти Міста мають core prompts:
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#33-ui-system-prompts" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
33. Чи працює UI вкладка “System Prompts”?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#34-getput-apiv1agentsidprompts" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
34. Чи GET/PUT /api/v1/agents/{id}/prompts працює без помилок?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#35-dagi-router-prompts-runtime" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
35. Чи DAGI Router правильно підтягує prompts при runtime?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#ix-node-self-healing" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
IX. Node Self-Healing
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="IX. Node Self-Healing">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#36-node-guardian" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
36. Чи Node Guardian запускає перевірки?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#37-self-healing-event-nats" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
37. Чи Self-healing event-и пишуться в NATS?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#38-dagi-router-agent" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
38. Чи DAGI Router Agent може:
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#39-swapper-agent" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
39. Чи Swapper Agent може:
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#40-multimodal-agent" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
40. Чи Multimodal Agent може:
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#x-api-health-smoke-tests-invariants" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
X. API Health / Smoke Tests / Invariants
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="X. API Health / Smoke Tests / Invariants">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#41-healthz-200" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
41. Чи /healthz → 200?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#42-check-invariantspy" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
42. Чи проходить check-invariants.py без помилок?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#43-smoke-pytest-teststest_infra_smokepy" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
43. Чи smoke-тести (pytest tests/test_infra_smoke.py) проходять?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#44-select-from-migrations" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
44. Чи всі міграції застосовані (SELECT * FROM migrations)?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#45-seed-" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
45. Чи seed-и не перезаписали агентів неправильно?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#xi-frontend" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
XI. Frontend
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="XI. Frontend">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#46-npm-run-build" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
46. Чи всі сторінки збираються (npm run build)?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#47-nodes-0" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
47. Чи /nodes не падає і не показує "0" нод помилково?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#48-dagi-router-card" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
48. Чи DAGI Router Card працює?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#49-node-cabinet-78-core-" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
49. Чи Node Cabinet показує всі 7–8 core-агентів?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#50-agents-page-agentsslug-daos-" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
50. Чи Agents Page (/agents/:slug) працює для всіх DAOS-нодових агентів?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#xii-nats" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
XII. NATS
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="XII. NATS">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#51-nats-jetstream" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
51. Чи NATS JetStream працює?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#52-subscriptions-dagiswappernode-agents" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
52. Чи всі subscriptions DAGI/Swapper/Node Agents активні?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#53-flood-reconnections" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
53. Чи немає flood / reconnections?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#54-nats-dropped-messages" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
54. Чи логи NATS не показують dropped messages?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#xiii-docker-services" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
XIII. Docker / Services
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="XIII. Docker / Services">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#55-docker-ps-filter-health" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
55. Чи всі контейнери здорові (docker ps --filter health)?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#56-healthcheck-docker-compose" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
56. Чи healthcheck-и в docker-compose коректно налаштовані?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#57-old-images-dangling-images" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
57. Чи немає old images / dangling images?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#58-env-" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
58. Чи env-файли актуальні й не перезаписані?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#xiv-critical-security" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
XIV. Critical Security
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="XIV. Critical Security">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#59-sentinel-agent" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
59. Чи Sentinel Agent запущений?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#60-api-keys-env" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
60. Чи ключові токени/API-keys присутні в ENV і валідні?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#61" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
61. Чи немає відкритих небезпечних портів?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#62-safety-prompts" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
62. Чи агенти не втратили свої safety prompts?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#xv" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
XV. Післядеплойні інваріанти
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="XV. Післядеплойні інваріанти">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#63-510" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
63. Чи стан системи стабільний через 5–10 хвилин після деплою?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#64" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
64. Чи немає самоперезапусків контейнерів?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#65-node-guardian" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
65. Чи Node Guardian не шле тривоги?
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="md-content" data-md-component="content">
|
||
<article class="md-content__inner md-typeset">
|
||
|
||
|
||
|
||
|
||
<h1 id="deploy_verification_checklist_v1">DEPLOY_VERIFICATION_CHECKLIST_v1<a class="headerlink" href="#deploy_verification_checklist_v1" title="Permanent link">¶</a></h1>
|
||
<p>Цей список питань потрібно ставити перед кожним деплоєм, щоб гарантувати, що жодна з останніх ~30+ розробок не зламається і що весь ланцюг <em>Нода → Агенти → DAGI → microdao → UI</em> залишається консистентним.</p>
|
||
<hr />
|
||
<h2 id="i-node-registry-node-cabinet">I. <strong>Node Registry / Node Cabinet</strong><a class="headerlink" href="#i-node-registry-node-cabinet" title="Permanent link">¶</a></h2>
|
||
<h3 id="1-node_registry">1. Чи всі ноди зареєстровані в <code>node_registry</code>?<a class="headerlink" href="#1-node_registry" title="Permanent link">¶</a></h3>
|
||
<h3 id="2-post-internalnodesregister-or-update">2. Чи працює <code>POST /internal/nodes/register-or-update</code>?<a class="headerlink" href="#2-post-internalnodesregister-or-update" title="Permanent link">¶</a></h3>
|
||
<h3 id="3-apiv1nodes">3. Чи показує <code>/api/v1/nodes</code> правильну кількість нод?<a class="headerlink" href="#3-apiv1nodes" title="Permanent link">¶</a></h3>
|
||
<h3 id="4-ui-api">4. Чи зникли ноди з UI після оновлення? Чи це помилка API чи реальний стан?<a class="headerlink" href="#4-ui-api" title="Permanent link">¶</a></h3>
|
||
<h3 id="5-last_heartbeat">5. Чи у всіх нод є свіжий <code>last_heartbeat</code>?<a class="headerlink" href="#5-last_heartbeat" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="ii-node-metrics-gpucpuramdisk">II. <strong>Node Metrics (GPU/CPU/RAM/Disk)</strong><a class="headerlink" href="#ii-node-metrics-gpucpuramdisk" title="Permanent link">¶</a></h2>
|
||
<h3 id="6-internalnodeidmetricscurrent">6. Чи повертає <code>/internal/node/{id}/metrics/current</code>:<a class="headerlink" href="#6-internalnodeidmetricscurrent" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li>
|
||
<p>GPU модель</p>
|
||
</li>
|
||
<li>
|
||
<p>GPU memory total/free</p>
|
||
</li>
|
||
<li>
|
||
<p>CPU load</p>
|
||
</li>
|
||
<li>
|
||
<p>RAM usage</p>
|
||
</li>
|
||
<li>
|
||
<p>Disk usage</p>
|
||
</li>
|
||
</ul>
|
||
<h3 id="7">7. Чи метрики не “обнулилися” після деплою?<a class="headerlink" href="#7" title="Permanent link">¶</a></h3>
|
||
<h3 id="8-node-cabinet-node_cache">8. Чи не зникли агенти в Node Cabinet через порожній <code>node_cache</code>?<a class="headerlink" href="#8-node-cabinet-node_cache" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="iii-node-core-agents-8-daos">III. <strong>Node Core Agents (8 агентів DAOS)</strong><a class="headerlink" href="#iii-node-core-agents-8-daos" title="Permanent link">¶</a></h2>
|
||
<p>Для кожної ноди:</p>
|
||
<h3 id="9">9. Чи існують:<a class="headerlink" href="#9" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li>
|
||
<p>Node Guardian</p>
|
||
</li>
|
||
<li>
|
||
<p>Node Steward</p>
|
||
</li>
|
||
<li>
|
||
<p>DAGI Router Agent</p>
|
||
</li>
|
||
<li>
|
||
<p>Swapper Agent</p>
|
||
</li>
|
||
<li>
|
||
<p>Multimodal Agent</p>
|
||
</li>
|
||
<li>
|
||
<p>Tools & Planner Agent</p>
|
||
</li>
|
||
<li>
|
||
<p>Security/Sentinel Agent</p>
|
||
</li>
|
||
<li>
|
||
<p>Archivist Agent (якщо увімкнено)</p>
|
||
</li>
|
||
</ul>
|
||
<h3 id="10-node_id">10. Чи всі вони мають <code>node_id</code>?<a class="headerlink" href="#10-node_id" title="Permanent link">¶</a></h3>
|
||
<h3 id="11-public_slug-ui">11. Чи всі мають <code>public_slug</code> → UI кабінет відкривається?<a class="headerlink" href="#11-public_slug-ui" title="Permanent link">¶</a></h3>
|
||
<h3 id="12-system-prompts-core-safety">12. Чи всі мають System Prompts (<code>core</code> обов’язково, де треба — <code>safety</code>)?<a class="headerlink" href="#12-system-prompts-core-safety" title="Permanent link">¶</a></h3>
|
||
<h3 id="13-nodesnodeid">13. Чи видно їх у <code>/nodes/{nodeId}</code> у відповідних секціях?<a class="headerlink" href="#13-nodesnodeid" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="iv-dagi-router-dagi-audit">IV. <strong>DAGI Router / DAGI Audit</strong><a class="headerlink" href="#iv-dagi-router-dagi-audit" title="Permanent link">¶</a></h2>
|
||
<h3 id="14-internalnodeiddagi-routeragents">14. Чи працює <code>/internal/node/{id}/dagi-router/agents</code>?<a class="headerlink" href="#14-internalnodeiddagi-routeragents" title="Permanent link">¶</a></h3>
|
||
<h3 id="15-router_total-1-system_total-1">15. Чи є <code>router_total >= 1</code> і <code>system_total >= 1</code>?<a class="headerlink" href="#15-router_total-1-system_total-1" title="Permanent link">¶</a></h3>
|
||
<h3 id="16-dagi-agent-autosync">16. Чи працює DAGI-agent autosync?<a class="headerlink" href="#16-dagi-agent-autosync" title="Permanent link">¶</a></h3>
|
||
<h3 id="17-phantomstale-20">17. Чи phantom/stale ≤ 20 (або інший поріг)?<a class="headerlink" href="#17-phantomstale-20" title="Permanent link">¶</a></h3>
|
||
<h3 id="18-post-dagi-auditrun">18. Чи запускається <code>POST /dagi-audit/run</code> без помилок?<a class="headerlink" href="#18-post-dagi-auditrun" title="Permanent link">¶</a></h3>
|
||
<h3 id="19-dagi-router-agent-healthz">19. Чи DAGI Router Agent бачить сервіс у <code>/healthz</code>?<a class="headerlink" href="#19-dagi-router-agent-healthz" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="v-swapper-service-models">V. <strong>Swapper Service / Models</strong><a class="headerlink" href="#v-swapper-service-models" title="Permanent link">¶</a></h2>
|
||
<h3 id="20-swapper-healthz">20. Чи Swapper відповідає на <code>/healthz</code>?<a class="headerlink" href="#20-swapper-healthz" title="Permanent link">¶</a></h3>
|
||
<h3 id="21-apimodels">21. Чи моделі завантажені (<code>/api/models</code>)?<a class="headerlink" href="#21-apimodels" title="Permanent link">¶</a></h3>
|
||
<h3 id="22">22. Чи мінімальний набір моделей присутній?<a class="headerlink" href="#22" title="Permanent link">¶</a></h3>
|
||
<h3 id="23-vram-usage-restart">23. Чи VRAM usage коректний після restart?<a class="headerlink" href="#23-vram-usage-restart" title="Permanent link">¶</a></h3>
|
||
<h3 id="24-swapper-agent-pullunload">24. Чи Swapper Agent може робити pull/unload моделей?<a class="headerlink" href="#24-swapper-agent-pullunload" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="vi-multimodal-stack">VI. <strong>Multimodal Stack (повний)</strong><a class="headerlink" href="#vi-multimodal-stack" title="Permanent link">¶</a></h2>
|
||
<p>Для кожної ноди:</p>
|
||
<h3 id="25">25. Чи працюють:<a class="headerlink" href="#25" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li>
|
||
<p>STT (Speech-to-Text)?</p>
|
||
</li>
|
||
<li>
|
||
<p>TTS?</p>
|
||
</li>
|
||
<li>
|
||
<p>OCR?</p>
|
||
</li>
|
||
<li>
|
||
<p>Image Understanding?</p>
|
||
</li>
|
||
<li>
|
||
<p>Document parsing (PDF/DOCX)?</p>
|
||
</li>
|
||
<li>
|
||
<p>Embeddings?</p>
|
||
</li>
|
||
<li>
|
||
<p>Keyframe Extraction (відео)?</p>
|
||
</li>
|
||
</ul>
|
||
<h3 id="26-multimodal-agent-prompts">26. Чи Multimodal Agent має prompts з повним переліком функцій?<a class="headerlink" href="#26-multimodal-agent-prompts" title="Permanent link">¶</a></h3>
|
||
<h3 id="27-healthz-sttocrvlm">27. Чи healthz STT/OCR/VLM сервісів працюють?<a class="headerlink" href="#27-healthz-sttocrvlm" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="vii-microdao-districts-rooms">VII. <strong>MicroDAO / Districts / Rooms</strong><a class="headerlink" href="#vii-microdao-districts-rooms" title="Permanent link">¶</a></h2>
|
||
<h3 id="28">28. Чи працюють:<a class="headerlink" href="#28" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li>
|
||
<p>GET <code>/api/v1/districts</code></p>
|
||
</li>
|
||
<li>
|
||
<p>GET <code>/api/v1/districts/{slug}</code></p>
|
||
</li>
|
||
<li>
|
||
<p>GET <code>/city/microdao/{slug}/rooms</code></p>
|
||
</li>
|
||
<li>
|
||
<p>GET <code>/city/microdao/{slug}/agents</code></p>
|
||
</li>
|
||
</ul>
|
||
<h3 id="29-district-portal-leadcore-agents">29. Чи District Portal показує lead/core agents?<a class="headerlink" href="#29-district-portal-leadcore-agents" title="Permanent link">¶</a></h3>
|
||
<h3 id="30-microdao-agents-section-badgesroles">30. Чи MicroDAO Agents Section відображає badges/roles?<a class="headerlink" href="#30-microdao-agents-section-badgesroles" title="Permanent link">¶</a></h3>
|
||
<h3 id="31-rooms-operationstreasuryevents">31. Чи всі rooms відображаються (operations/treasury/events/...)?<a class="headerlink" href="#31-rooms-operationstreasuryevents" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="viii-agents-system-prompts-mvp">VIII. <strong>Agents System Prompts MVP</strong><a class="headerlink" href="#viii-agents-system-prompts-mvp" title="Permanent link">¶</a></h2>
|
||
<h3 id="32-core-core-prompts">32. Чи всі core-агенти Міста мають <code>core</code> prompts:<a class="headerlink" href="#32-core-core-prompts" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li>
|
||
<p>DAARWIZZ</p>
|
||
</li>
|
||
<li>
|
||
<p>DARIA</p>
|
||
</li>
|
||
<li>
|
||
<p>DARIO</p>
|
||
</li>
|
||
<li>
|
||
<p>SOUL</p>
|
||
</li>
|
||
<li>
|
||
<p>Spirit</p>
|
||
</li>
|
||
<li>
|
||
<p>Logic</p>
|
||
</li>
|
||
<li>
|
||
<p>Helion</p>
|
||
</li>
|
||
<li>
|
||
<p>GREENFOOD ERP</p>
|
||
</li>
|
||
</ul>
|
||
<h3 id="33-ui-system-prompts">33. Чи працює UI вкладка “System Prompts”?<a class="headerlink" href="#33-ui-system-prompts" title="Permanent link">¶</a></h3>
|
||
<h3 id="34-getput-apiv1agentsidprompts">34. Чи <code>GET/PUT /api/v1/agents/{id}/prompts</code> працює без помилок?<a class="headerlink" href="#34-getput-apiv1agentsidprompts" title="Permanent link">¶</a></h3>
|
||
<h3 id="35-dagi-router-prompts-runtime">35. Чи DAGI Router правильно підтягує prompts при runtime?<a class="headerlink" href="#35-dagi-router-prompts-runtime" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="ix-node-self-healing">IX. <strong>Node Self-Healing</strong><a class="headerlink" href="#ix-node-self-healing" title="Permanent link">¶</a></h2>
|
||
<h3 id="36-node-guardian">36. Чи Node Guardian запускає перевірки?<a class="headerlink" href="#36-node-guardian" title="Permanent link">¶</a></h3>
|
||
<h3 id="37-self-healing-event-nats">37. Чи Self-healing event-и пишуться в NATS?<a class="headerlink" href="#37-self-healing-event-nats" title="Permanent link">¶</a></h3>
|
||
<h3 id="38-dagi-router-agent">38. Чи DAGI Router Agent може:<a class="headerlink" href="#38-dagi-router-agent" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li>
|
||
<p>перезапустити router</p>
|
||
</li>
|
||
<li>
|
||
<p>запустити audit</p>
|
||
</li>
|
||
<li>
|
||
<p>синхронізувати phantom/stale</p>
|
||
</li>
|
||
</ul>
|
||
<h3 id="39-swapper-agent">39. Чи Swapper Agent може:<a class="headerlink" href="#39-swapper-agent" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li>
|
||
<p>відновити моделі</p>
|
||
</li>
|
||
<li>
|
||
<p>зробити pull</p>
|
||
</li>
|
||
<li>
|
||
<p>очистити кеш</p>
|
||
</li>
|
||
</ul>
|
||
<h3 id="40-multimodal-agent">40. Чи Multimodal Agent може:<a class="headerlink" href="#40-multimodal-agent" title="Permanent link">¶</a></h3>
|
||
<ul>
|
||
<li>
|
||
<p>перезапустити STT/OCR</p>
|
||
</li>
|
||
<li>
|
||
<p>перейти на fallback модель</p>
|
||
</li>
|
||
</ul>
|
||
<hr />
|
||
<h2 id="x-api-health-smoke-tests-invariants">X. <strong>API Health / Smoke Tests / Invariants</strong><a class="headerlink" href="#x-api-health-smoke-tests-invariants" title="Permanent link">¶</a></h2>
|
||
<h3 id="41-healthz-200">41. Чи <code>/healthz</code> → 200?<a class="headerlink" href="#41-healthz-200" title="Permanent link">¶</a></h3>
|
||
<h3 id="42-check-invariantspy">42. Чи проходить <code>check-invariants.py</code> без помилок?<a class="headerlink" href="#42-check-invariantspy" title="Permanent link">¶</a></h3>
|
||
<h3 id="43-smoke-pytest-teststest_infra_smokepy">43. Чи smoke-тести (<code>pytest tests/test_infra_smoke.py</code>) проходять?<a class="headerlink" href="#43-smoke-pytest-teststest_infra_smokepy" title="Permanent link">¶</a></h3>
|
||
<h3 id="44-select-from-migrations">44. Чи всі міграції застосовані (<code>SELECT * FROM migrations</code>)?<a class="headerlink" href="#44-select-from-migrations" title="Permanent link">¶</a></h3>
|
||
<h3 id="45-seed-">45. Чи seed-и не перезаписали агентів неправильно?<a class="headerlink" href="#45-seed-" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="xi-frontend">XI. <strong>Frontend</strong><a class="headerlink" href="#xi-frontend" title="Permanent link">¶</a></h2>
|
||
<h3 id="46-npm-run-build">46. Чи всі сторінки збираються (<code>npm run build</code>)?<a class="headerlink" href="#46-npm-run-build" title="Permanent link">¶</a></h3>
|
||
<h3 id="47-nodes-0">47. Чи <code>/nodes</code> не падає і не показує "0" нод помилково?<a class="headerlink" href="#47-nodes-0" title="Permanent link">¶</a></h3>
|
||
<h3 id="48-dagi-router-card">48. Чи DAGI Router Card працює?<a class="headerlink" href="#48-dagi-router-card" title="Permanent link">¶</a></h3>
|
||
<h3 id="49-node-cabinet-78-core-">49. Чи Node Cabinet показує всі 7–8 core-агентів?<a class="headerlink" href="#49-node-cabinet-78-core-" title="Permanent link">¶</a></h3>
|
||
<h3 id="50-agents-page-agentsslug-daos-">50. Чи Agents Page (<code>/agents/:slug</code>) працює для всіх DAOS-нодових агентів?<a class="headerlink" href="#50-agents-page-agentsslug-daos-" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="xii-nats">XII. <strong>NATS</strong><a class="headerlink" href="#xii-nats" title="Permanent link">¶</a></h2>
|
||
<h3 id="51-nats-jetstream">51. Чи NATS JetStream працює?<a class="headerlink" href="#51-nats-jetstream" title="Permanent link">¶</a></h3>
|
||
<h3 id="52-subscriptions-dagiswappernode-agents">52. Чи всі subscriptions DAGI/Swapper/Node Agents активні?<a class="headerlink" href="#52-subscriptions-dagiswappernode-agents" title="Permanent link">¶</a></h3>
|
||
<h3 id="53-flood-reconnections">53. Чи немає flood / reconnections?<a class="headerlink" href="#53-flood-reconnections" title="Permanent link">¶</a></h3>
|
||
<h3 id="54-nats-dropped-messages">54. Чи логи NATS не показують dropped messages?<a class="headerlink" href="#54-nats-dropped-messages" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="xiii-docker-services">XIII. <strong>Docker / Services</strong><a class="headerlink" href="#xiii-docker-services" title="Permanent link">¶</a></h2>
|
||
<h3 id="55-docker-ps-filter-health">55. Чи всі контейнери здорові (<code>docker ps --filter health</code>)?<a class="headerlink" href="#55-docker-ps-filter-health" title="Permanent link">¶</a></h3>
|
||
<h3 id="56-healthcheck-docker-compose">56. Чи healthcheck-и в docker-compose коректно налаштовані?<a class="headerlink" href="#56-healthcheck-docker-compose" title="Permanent link">¶</a></h3>
|
||
<h3 id="57-old-images-dangling-images">57. Чи немає old images / dangling images?<a class="headerlink" href="#57-old-images-dangling-images" title="Permanent link">¶</a></h3>
|
||
<h3 id="58-env-">58. Чи env-файли актуальні й не перезаписані?<a class="headerlink" href="#58-env-" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="xiv-critical-security">XIV. <strong>Critical Security</strong><a class="headerlink" href="#xiv-critical-security" title="Permanent link">¶</a></h2>
|
||
<h3 id="59-sentinel-agent">59. Чи Sentinel Agent запущений?<a class="headerlink" href="#59-sentinel-agent" title="Permanent link">¶</a></h3>
|
||
<h3 id="60-api-keys-env">60. Чи ключові токени/API-keys присутні в ENV і валідні?<a class="headerlink" href="#60-api-keys-env" title="Permanent link">¶</a></h3>
|
||
<h3 id="61">61. Чи немає відкритих небезпечних портів?<a class="headerlink" href="#61" title="Permanent link">¶</a></h3>
|
||
<h3 id="62-safety-prompts">62. Чи агенти не втратили свої safety prompts?<a class="headerlink" href="#62-safety-prompts" title="Permanent link">¶</a></h3>
|
||
<hr />
|
||
<h2 id="xv">XV. <strong>Післядеплойні інваріанти</strong><a class="headerlink" href="#xv" title="Permanent link">¶</a></h2>
|
||
<h3 id="63-510">63. Чи стан системи стабільний через 5–10 хвилин після деплою?<a class="headerlink" href="#63-510" title="Permanent link">¶</a></h3>
|
||
<h3 id="64">64. Чи немає самоперезапусків контейнерів?<a class="headerlink" href="#64" title="Permanent link">¶</a></h3>
|
||
<h3 id="65-node-guardian">65. Чи Node Guardian не шле тривоги?<a class="headerlink" href="#65-node-guardian" title="Permanent link">¶</a></h3>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</article>
|
||
</div>
|
||
|
||
|
||
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
||
</div>
|
||
|
||
</main>
|
||
|
||
<footer class="md-footer">
|
||
|
||
<div class="md-footer-meta md-typeset">
|
||
<div class="md-footer-meta__inner md-grid">
|
||
<div class="md-copyright">
|
||
|
||
|
||
Made with
|
||
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
||
Material for MkDocs
|
||
</a>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
</div>
|
||
<div class="md-dialog" data-md-component="dialog">
|
||
<div class="md-dialog__inner md-typeset"></div>
|
||
</div>
|
||
|
||
|
||
<script id="__config" type="application/json">{"base": "../..", "features": ["navigation.sections", "navigation.instant", "content.code.copy"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
||
|
||
|
||
<script src="../../assets/javascripts/bundle.3220b9d7.min.js"></script>
|
||
|
||
|
||
</body>
|
||
</html> |