🔧 Fix GitHub Actions docs workflow
- Update mkdocs dependencies to latest versions - Add permissions for GitHub Pages deployment - Add workflow_dispatch for manual trigger - Fix build command with fallback
This commit is contained in:
1809
site/foundation/Agent_Governance_Protocol_v1/index.html
Normal file
1809
site/foundation/Agent_Governance_Protocol_v1/index.html
Normal file
File diff suppressed because it is too large
Load Diff
732
site/foundation/Agents_Interface_Architecture_v1/index.html
Normal file
732
site/foundation/Agents_Interface_Architecture_v1/index.html
Normal file
@@ -0,0 +1,732 @@
|
||||
|
||||
<!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/foundation/Agents_Interface_Architecture_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>Agents_Interface_Architecture_v1.md - 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="#agents_interface_architecture_v1md" 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">
|
||||
|
||||
Agents_Interface_Architecture_v1.md
|
||||
|
||||
</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="#daarioncity-agent-centric-interface-architecture" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
DAARION.city — Agent-Centric Interface Architecture
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="agents_interface_architecture_v1md">Agents_Interface_Architecture_v1.md<a class="headerlink" href="#agents_interface_architecture_v1md" title="Permanent link">¶</a></h1>
|
||||
<h2 id="daarioncity-agent-centric-interface-architecture">DAARION.city — Agent-Centric Interface Architecture<a class="headerlink" href="#daarioncity-agent-centric-interface-architecture" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Version:</strong> 1.0<br />
|
||||
<strong>Status:</strong> Foundation Spec (MVP)<br />
|
||||
<strong>Scope:</strong> Архітектура інтерфейсу агентів: primary_agent, team_agents, кабінети, ролі, кімнати, взаємодія з MicroDAO, Nodes, City.</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета документа<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Описати агентно-центровану модель інтерфейсу DAARION.space:</p>
|
||||
<ul>
|
||||
<li>кожна сторінка має агента-власника,</li>
|
||||
<li>первинні/командні агенти,</li>
|
||||
<li>кабінети агентів,</li>
|
||||
<li>категорії агентів,</li>
|
||||
<li>кімнати та віжети,</li>
|
||||
<li>інтеграцію з MicroDAO/City/Nodes.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="1">1. Принцип<a class="headerlink" href="#1" title="Permanent link">¶</a></h1>
|
||||
<blockquote>
|
||||
<p><strong>Усі сторінки, сцени й кімнати належать агентам (primary_agent).</strong></p>
|
||||
</blockquote>
|
||||
<p>Структура сторінки:</p>
|
||||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"primary_agent"</span><span class="p">:</span><span class="w"> </span><span class="s2">"agent_id"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"team_agents"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"agent_id_2"</span><span class="p">,</span><span class="s2">"agent_id_3"</span><span class="p">]</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="2">2. Типи агентів<a class="headerlink" href="#2" title="Permanent link">¶</a></h1>
|
||||
<ol>
|
||||
<li>Personal Agents (агенти користувачів).</li>
|
||||
<li>Organizational Agents (належать MicroDAO).</li>
|
||||
<li>Core-Team Agents (CEO/CTO/LegaI/Architect).</li>
|
||||
<li>Public City Agents (DARIO, DARIA, DAARWIZZ, City Info).</li>
|
||||
<li>Service/Infrastructure Agents (monitoring, bridge, summarizer).</li>
|
||||
<li>District/Platform Agents (Helion, ERP GREENFOOD).</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="3-primary-vs-team-agents">3. Primary vs Team Agents<a class="headerlink" href="#3-primary-vs-team-agents" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><strong>Primary agent</strong> — господар сцени (City Square → DARIO; MicroDAO Dashboard → Orchestrator).</li>
|
||||
<li><strong>Team agents</strong> — асистують (DARIA, Security agent, DevOps agent тощо).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="4">4. Кабінет агента<a class="headerlink" href="#4" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><strong>Profile</strong> — ім’я, DAIS, роль, MicroDAO.</li>
|
||||
<li><strong>Activity</strong> — події, дії, лог.</li>
|
||||
<li><strong>Rooms</strong> — кімнати агента.</li>
|
||||
<li><strong>Workspaces</strong> — проєкти, задачі.</li>
|
||||
<li><strong>Nodes</strong> — home node, active session node.</li>
|
||||
<li><strong>Tools</strong> — моделі, інтеграції.</li>
|
||||
<li><strong>Assignments</strong> — MicroDAO / District / City scope.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="5-agent-rooms">5. Agent Rooms<a class="headerlink" href="#5-agent-rooms" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Personal room (DM з людиною).</li>
|
||||
<li>Workspace room (внутрішні).</li>
|
||||
<li>Public front room (у місті).</li>
|
||||
<li>Service room (інфраструктура).</li>
|
||||
<li>District room (платформи).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="6">6. Зв’язки<a class="headerlink" href="#6" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><strong>Agent → MicroDAO</strong>: ролі, дозволи, кімнати, проєкти.</li>
|
||||
<li><strong>Agent → Node</strong>: home/active node, ресурси.</li>
|
||||
<li><strong>Agent → City</strong>: публічні агенти, кіоски, City Square.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="7-widgets-actions">7. Widgets & Actions<a class="headerlink" href="#7-widgets-actions" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Кожен віджет має <code>agent_owner</code>.</li>
|
||||
<li>Будь-яка дія (створити MicroDAO, зареєструвати ноду) здійснюється агентом.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="8-agent-lifecycle">8. Agent Lifecycle<a class="headerlink" href="#8-agent-lifecycle" title="Permanent link">¶</a></h1>
|
||||
<ol>
|
||||
<li>Creation (DAIS onboarding).</li>
|
||||
<li>Assignment до MicroDAO.</li>
|
||||
<li>Node placement.</li>
|
||||
<li>Room creation.</li>
|
||||
<li>Activity.</li>
|
||||
<li>Promotion (core-team/orchestrator).</li>
|
||||
<li>Archival.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="9-mvp-scope">9. MVP Scope<a class="headerlink" href="#9-mvp-scope" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Кабінет агента.</li>
|
||||
<li>Primary/team agent модель.</li>
|
||||
<li>Списки персональних/організаційних/публічних агентів.</li>
|
||||
<li>Agent rooms, projects, nodes.</li>
|
||||
<li>Присутність агента в City Square.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="10">10. Підсумок<a class="headerlink" href="#10" title="Permanent link">¶</a></h1>
|
||||
<p>Агенти — центральні суб’єкти DAARION.space.<br />
|
||||
Цей документ закріплює інтерфейсну модель, у якій кожна сцена має primary_agent та команду агента, а всі функції (місто, MicroDAO, ноди) розгортаються через агентів.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
762
site/foundation/City_Interface_Architecture_v1/index.html
Normal file
762
site/foundation/City_Interface_Architecture_v1/index.html
Normal file
@@ -0,0 +1,762 @@
|
||||
|
||||
<!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/foundation/City_Interface_Architecture_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>City_Interface_Architecture_v1.md - 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="#city_interface_architecture_v1md" 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">
|
||||
|
||||
City_Interface_Architecture_v1.md
|
||||
|
||||
</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="#daarioncity-city-layer-public-space-interface" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
DAARION.city — City Layer & Public Space Interface
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="city_interface_architecture_v1md">City_Interface_Architecture_v1.md<a class="headerlink" href="#city_interface_architecture_v1md" title="Permanent link">¶</a></h1>
|
||||
<h2 id="daarioncity-city-layer-public-space-interface">DAARION.city — City Layer & Public Space Interface<a class="headerlink" href="#daarioncity-city-layer-public-space-interface" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Version:</strong> 1.0<br />
|
||||
<strong>Status:</strong> Foundation Spec (MVP)<br />
|
||||
<strong>Scope:</strong> City Hub, City Square, public rooms, civic agents, MicroDAO portals, 2D/3D map</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета документа<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Визначити інтерфейс міського рівня DAARION.space:</p>
|
||||
<ul>
|
||||
<li>City Hub, City Square, публічні кімнати,</li>
|
||||
<li>ролі DARIO, DARIA, DAARWIZZ та інших civic-агентів,</li>
|
||||
<li>публічні кіоски/портали MicroDAO та District,</li>
|
||||
<li>взаємодію з Rooms Layer і MicroDAO Interface,</li>
|
||||
<li>2D/3D представлення.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="1-city-layer">1. Роль City Layer<a class="headerlink" href="#1-city-layer" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>верхній публічний шар DAARION.space;</li>
|
||||
<li>перша точка входу для мешканців;</li>
|
||||
<li>спільний простір для всіх MicroDAO/District/агентів;</li>
|
||||
<li>місце, де користувачі бачать мапу, кімнати, портали, події.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="2">2. Основні об’єкти<a class="headerlink" href="#2" title="Permanent link">¶</a></h1>
|
||||
<h2 id="21-city-hub">2.1. City Hub<a class="headerlink" href="#21-city-hub" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>належить root MicroDAO <code>DAARION</code>;</li>
|
||||
<li>містить City Square, City Rooms, City Map, реєстр порталів.</li>
|
||||
</ul>
|
||||
<h2 id="22-city-square">2.2. City Square<a class="headerlink" href="#22-city-square" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>головна публічна сцена;</li>
|
||||
<li><code>primary_agent = DARIO</code>, <code>team_agents = [DARIA, DAARWIZZ, civic agents]</code>;</li>
|
||||
<li>блоки: привітання, підтримка, публічні кімнати, кіоски MicroDAO та District.</li>
|
||||
</ul>
|
||||
<h2 id="23-city-rooms">2.3. City Rooms<a class="headerlink" href="#23-city-rooms" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>city.lobby</code>, <code>city.news</code>, <code>city.events</code>, <code>city.help</code> тощо;</li>
|
||||
<li><code>space_scope='city'</code>, <code>owner_type='city'</code>.</li>
|
||||
</ul>
|
||||
<h2 id="24-microdao-portals">2.4. MicroDAO Portals<a class="headerlink" href="#24-microdao-portals" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>публічні кімнати <code>front-room</code> у місті (Energyunion, GREENFOOD);</li>
|
||||
<li>ведуть до інтерфейсу конкретного MicroDAO.</li>
|
||||
</ul>
|
||||
<h2 id="25-district-portals">2.5. District Portals<a class="headerlink" href="#25-district-portals" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>портали для платформ/екосистем;</li>
|
||||
<li>ведуть у District Space.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="3">3. Агентність міського інтерфейсу<a class="headerlink" href="#3" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><strong>DARIO</strong> — primary_agent City Square (community manager).</li>
|
||||
<li><strong>DARIA</strong> — assistant_agent (tech support).</li>
|
||||
<li><strong>DAARWIZZ</strong> — мер міста; бере участь у подіях.</li>
|
||||
<li>Публічні DAO агенти (Helion, ERP) мають власні front-room.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="4">4. Основні екрани<a class="headerlink" href="#4" title="Permanent link">¶</a></h1>
|
||||
<ol>
|
||||
<li><code>/city</code> — City Square (центральна сцена).</li>
|
||||
<li><code>/city/rooms</code> — список публічних кімнат.</li>
|
||||
<li><code>/city/map</code> — 2D-мапа з маркерами кімнат і порталів.</li>
|
||||
<li><code>/city/agents</code> — каталог публічних агентів (DARIO, DARIA, DAARWIZZ, DAO-агенти).</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="5-city-square-layout-mvp">5. City Square Layout (MVP)<a class="headerlink" href="#5-city-square-layout-mvp" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><strong>Центр:</strong> DARIO (вітання, пропозиції, вибір MicroDAO).</li>
|
||||
<li><strong>Праворуч:</strong> DARIA (FAQ, підтримка, навігація).</li>
|
||||
<li><strong>Низ:</strong> публічні кімнати (Новини, Події, Допомога, Лобі).</li>
|
||||
<li><strong>Ліворуч:</strong> кіоски MicroDAO (Energyunion, GREENFOOD).</li>
|
||||
<li><strong>Верх:</strong> DAARWIZZ + глобальні оголошення.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="6">6. Публічність та присутність<a class="headerlink" href="#6" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>City Square — місце, де можуть бути всі авторизовані користувачі, їх агенти та публічні DAO.</li>
|
||||
<li>MVP: список «хто онлайн» та лічильник присутніх (без 3D).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="7-microdao">7. Портали MicroDAO<a class="headerlink" href="#7-microdao" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>кожне MicroDAO може опублікувати front-office (<code>space_scope='city'</code>);</li>
|
||||
<li>користувач бачить:</li>
|
||||
<li>якщо не член — публічний профіль + «Приєднатися»;</li>
|
||||
<li>якщо член — кнопка «Увійти в MicroDAO».</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="8-civic-layer">8. Civic Layer<a class="headerlink" href="#8-civic-layer" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>DARIO — community manager.</li>
|
||||
<li>DARIA — технічна підтримка.</li>
|
||||
<li>DAARWIZZ — мер; участь у «city.events`.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="9-api">9. API (чернетка)<a class="headerlink" href="#9-api" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><code>GET /api/city/rooms</code></li>
|
||||
<li><code>GET /api/city/portals</code></li>
|
||||
<li><code>GET /api/city/map</code></li>
|
||||
<li><code>GET /api/city/agents/public</code></li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="10-mvp-scope">10. MVP Scope<a class="headerlink" href="#10-mvp-scope" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><code>/city</code> з базовими блоками DARIO/DARIA, публічні кімнати, два front-office.</li>
|
||||
<li><code>/city/rooms</code> як таблиця.</li>
|
||||
<li><code>/city/map</code> — статична 2D-мінімапа.</li>
|
||||
<li>Каталог публічних агентів.</li>
|
||||
</ul>
|
||||
<p>Не входить: повна 3D-мапа, аватари, гейміфікація.</p>
|
||||
<hr />
|
||||
<h1 id="11">11. Взаємодія з іншими рівнями<a class="headerlink" href="#11" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>City Layer → Rooms Layer (<code>city-room</code>, <code>front-room</code>).</li>
|
||||
<li>City Layer → MicroDAO Interface (front-office).</li>
|
||||
<li>City Layer → Agents Layer (primary/team agents).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="12">12. Підсумок<a class="headerlink" href="#12" title="Permanent link">¶</a></h1>
|
||||
<p>City Layer робить DAARION.city зрозумілим для мешканців:</p>
|
||||
<ul>
|
||||
<li>City Square — головна сцена;</li>
|
||||
<li>публічні кімнати — спільний простір;</li>
|
||||
<li>портали MicroDAO — міст між містом і організаціями;</li>
|
||||
<li>civic-агенти — обличчя міста.</li>
|
||||
</ul>
|
||||
<p>Документ завершено.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
880
site/foundation/DAARION_Identity_And_Access_Draft_v1/index.html
Normal file
880
site/foundation/DAARION_Identity_And_Access_Draft_v1/index.html
Normal file
@@ -0,0 +1,880 @@
|
||||
|
||||
<!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/foundation/DAARION_Identity_And_Access_Draft_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>DAARION_Identity_And_Access_Draft_v1.md - 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="#daarion_identity_and_access_draft_v1md" 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">
|
||||
|
||||
DAARION_Identity_And_Access_Draft_v1.md
|
||||
|
||||
</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="#dais-daarion-autonomous-identity-system-draft-iam-specification" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
DAIS — DAARION Autonomous Identity System (Draft IAM Specification)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="daarion_identity_and_access_draft_v1md">DAARION_Identity_And_Access_Draft_v1.md<a class="headerlink" href="#daarion_identity_and_access_draft_v1md" title="Permanent link">¶</a></h1>
|
||||
<h2 id="dais-daarion-autonomous-identity-system-draft-iam-specification">DAIS — DAARION Autonomous Identity System (Draft IAM Specification)<a class="headerlink" href="#dais-daarion-autonomous-identity-system-draft-iam-specification" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Version:</strong> 1.0<br />
|
||||
<strong>Status:</strong> Draft (Foundation Update)<br />
|
||||
<strong>Scope:</strong> DAIS identity, wallets, keys, access control, DID, recovery</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета документа<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Визначити проектну модель системи ідентичності та доступу в DAARION.city:</p>
|
||||
<ul>
|
||||
<li>як створюється DAIS-ідентичність;</li>
|
||||
<li>як зв’язуються email, wallet, ключі, DID, Matrix;</li>
|
||||
<li>як визначаються рівні довіри;</li>
|
||||
<li>як працює key rotation та recovery;</li>
|
||||
<li>як DAIS пов’язаний із Agent/MicroDAO/Node;</li>
|
||||
<li>як реалізований доступ на рівні сервісів (gateway, node, worker).</li>
|
||||
</ul>
|
||||
<p>Документ — фундамент IAM-модуля. Він не ламає поточну архітектуру, а задає майбутні вимоги.</p>
|
||||
<hr />
|
||||
<h1 id="1-dais">1. Концепція DAIS<a class="headerlink" href="#1-dais" title="Permanent link">¶</a></h1>
|
||||
<p>DAIS (DAARION Autonomous Identity System) — універсальна цифрова ідентичність, яка належить <strong>агенту</strong> й використовується для:</p>
|
||||
<ul>
|
||||
<li>створення агента,</li>
|
||||
<li>входу в MicroDAO,</li>
|
||||
<li>авторизації на нодах,</li>
|
||||
<li>підписання подій у DAGI Mesh,</li>
|
||||
<li>економічних операцій,</li>
|
||||
<li>відновлення доступу.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="2-dais-">2. Структура DAIS-ідентичності<a class="headerlink" href="#2-dais-" title="Permanent link">¶</a></h1>
|
||||
<div class="codehilite"><pre><span></span><code>DAIS Identity
|
||||
├─ Email identities (1..N)
|
||||
├─ Wallet identities (1..N)
|
||||
│ ├─ EVM (Polygon)
|
||||
│ ├─ TON (future)
|
||||
│ └─ Hardware wallet (future)
|
||||
├─ DID (decentralized identifier)
|
||||
├─ Matrix handle
|
||||
├─ Public keys
|
||||
├─ Signature domains
|
||||
├─ Recovery methods
|
||||
└─ Metadata
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="3-dais">3. Компоненти DAIS<a class="headerlink" href="#3-dais" title="Permanent link">¶</a></h1>
|
||||
<h2 id="31-email-identities">3.1. Email identities<a class="headerlink" href="#31-email-identities" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Passwordless (OTP / Magic Link).</li>
|
||||
<li>Можна прив’язати кілька email.</li>
|
||||
<li>Використовується як low-security login.</li>
|
||||
</ul>
|
||||
<h2 id="32-wallet-identities">3.2. Wallet identities<a class="headerlink" href="#32-wallet-identities" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Підтримка EVM wallets (MetaMask, Rabby, WalletConnect).</li>
|
||||
<li>SIWE як стандарт підпису.</li>
|
||||
<li>Wallet є high-security login.</li>
|
||||
</ul>
|
||||
<h2 id="33-did">3.3. DID<a class="headerlink" href="#33-did" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>формат: <code>did:daariion:<uuid></code></li>
|
||||
<li>використовується для підписання подій, міжнодових операцій, Matrix.</li>
|
||||
</ul>
|
||||
<h2 id="34-matrix-handle">3.4. Matrix handle<a class="headerlink" href="#34-matrix-handle" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>@<agent_id>:matrix.daarion.city</code></li>
|
||||
<li>для міжагентного чату, голосових каналів, presence.</li>
|
||||
</ul>
|
||||
<h2 id="35-public-keys">3.5. Public Keys<a class="headerlink" href="#35-public-keys" title="Permanent link">¶</a></h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Тип ключа</th>
|
||||
<th>Призначення</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Ed25519</td>
|
||||
<td>підпис подій, автентифікація</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>X25519</td>
|
||||
<td>шифрування / E2EE</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>secp256k1</td>
|
||||
<td>wallet-сумісність</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2 id="36-signature-domains">3.6. Signature domains<a class="headerlink" href="#36-signature-domains" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>dais.login</code></li>
|
||||
<li><code>dais.node-auth</code></li>
|
||||
<li><code>dais.microdao-action</code></li>
|
||||
<li><code>dais.agent-auth</code></li>
|
||||
<li><code>dais.recovery</code></li>
|
||||
</ul>
|
||||
<h2 id="37-metadata">3.7. Metadata<a class="headerlink" href="#37-metadata" title="Permanent link">¶</a></h2>
|
||||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"avatar"</span><span class="p">:</span><span class="w"> </span><span class="s2">"..."</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"telegram_linked"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"created_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"..."</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"citizenship_level"</span><span class="p">:</span><span class="w"> </span><span class="s2">"basic"</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="4-dais-trust-levels">4. Рівні довіри DAIS (Trust Levels)<a class="headerlink" href="#4-dais-trust-levels" title="Permanent link">¶</a></h1>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Рівень</th>
|
||||
<th>Назва</th>
|
||||
<th>Вимоги</th>
|
||||
<th>Права</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>0</td>
|
||||
<td>Guest</td>
|
||||
<td>email only</td>
|
||||
<td>базові функції</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>Agent</td>
|
||||
<td>підтверджений email</td>
|
||||
<td>створення агента</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>Verified Agent</td>
|
||||
<td>email + wallet</td>
|
||||
<td>доступ до AI/DAO</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td>Orchestrator</td>
|
||||
<td>SIWE + токени/ролі</td>
|
||||
<td>створення MicroDAO</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4</td>
|
||||
<td>DAARION Operator</td>
|
||||
<td>hardware keys (future)</td>
|
||||
<td>city governance</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr />
|
||||
<h1 id="5">5. Зберігання (схема)<a class="headerlink" href="#5" title="Permanent link">¶</a></h1>
|
||||
<div class="codehilite"><pre><span></span><code><span class="n">dais_identities</span><span class="w"> </span><span class="p">(</span>
|
||||
<span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">primary</span><span class="w"> </span><span class="k">key</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">default_email</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">default_wallet</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">did</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">trust_level</span><span class="w"> </span><span class="nb">integer</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">jsonb</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="s1">'{}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">created_at</span><span class="w"> </span><span class="n">timestamptz</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="n">now</span><span class="p">()</span>
|
||||
<span class="p">);</span>
|
||||
|
||||
<span class="n">dais_emails</span><span class="w"> </span><span class="p">(</span>
|
||||
<span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="n">uuid</span><span class="w"> </span><span class="k">primary</span><span class="w"> </span><span class="k">key</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">dais_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">references</span><span class="w"> </span><span class="n">dais_identities</span><span class="p">(</span><span class="n">id</span><span class="p">),</span>
|
||||
<span class="w"> </span><span class="n">email</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">verified</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="k">false</span>
|
||||
<span class="p">);</span>
|
||||
|
||||
<span class="n">dais_wallets</span><span class="w"> </span><span class="p">(</span>
|
||||
<span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="n">uuid</span><span class="w"> </span><span class="k">primary</span><span class="w"> </span><span class="k">key</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">dais_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">references</span><span class="w"> </span><span class="n">dais_identities</span><span class="p">(</span><span class="n">id</span><span class="p">),</span>
|
||||
<span class="w"> </span><span class="n">wallet_address</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">network</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="s1">'evm'</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">verified</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="k">false</span>
|
||||
<span class="p">);</span>
|
||||
|
||||
<span class="n">dais_keys</span><span class="w"> </span><span class="p">(</span>
|
||||
<span class="w"> </span><span class="n">dais_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">references</span><span class="w"> </span><span class="n">dais_identities</span><span class="p">(</span><span class="n">id</span><span class="p">),</span>
|
||||
<span class="w"> </span><span class="k">key_type</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">public_key</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span>
|
||||
<span class="p">);</span>
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="6-dais-agent-microdao-node">6. Взаємозв’язок DAIS → Agent → MicroDAO → Node<a class="headerlink" href="#6-dais-agent-microdao-node" title="Permanent link">¶</a></h1>
|
||||
<div class="codehilite"><pre><span></span><code>DAIS identity
|
||||
↓ (автоматично)
|
||||
Agent (home_microdao = DAARION)
|
||||
↓ (через promotion)
|
||||
MicroDAO (створюється оркестратором)
|
||||
↓
|
||||
Node (реєструється MicroDAO)
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="7">7. Рівні доступу<a class="headerlink" href="#7" title="Permanent link">¶</a></h1>
|
||||
<h2 id="71-application-ui">7.1. Application (UI)<a class="headerlink" href="#71-application-ui" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Email OTP / Magic link / SIWE.</li>
|
||||
<li>Доступ до кабінету агента, MicroDAO, сервісів.</li>
|
||||
</ul>
|
||||
<h2 id="72-services-gatewayapi">7.2. Services (Gateway/API)<a class="headerlink" href="#72-services-gatewayapi" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Авторизація через DID, public keys, короткоживучі токени.</li>
|
||||
</ul>
|
||||
<h2 id="73-node-access">7.3. Node Access<a class="headerlink" href="#73-node-access" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Нода перевіряє DAIS-ключ (<code>dais.node-auth</code>).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="8">8. Ротація ключів<a class="headerlink" href="#8" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><strong>Soft rotation:</strong> заміна email, прив’язка нового wallet, оновлення Matrix handle.</li>
|
||||
<li><strong>Hard rotation:</strong> новий DID, нові ключі Ed25519/X25519 (потрібен підпис wallet).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="9-recovery">9. Recovery<a class="headerlink" href="#9-recovery" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Recovery email (secondary addresses).</li>
|
||||
<li>Seed phrase wallet recovery.</li>
|
||||
<li>Social recovery (future) — 2-3 поручителі (агенти, MicroDAO core team, DAARION108).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="10-dais-dagi-mesh">10. DAIS та безпека DAGI Mesh<a class="headerlink" href="#10-dais-dagi-mesh" title="Permanent link">¶</a></h1>
|
||||
<p>DAIS використовується для:</p>
|
||||
<ul>
|
||||
<li>підписання міжагентних повідомлень;</li>
|
||||
<li>валідації подій у DAGI Router;</li>
|
||||
<li>E2EE у Matrix;</li>
|
||||
<li>авторизації worker-нод;</li>
|
||||
<li>запуску міжнодових контейнерів.</li>
|
||||
</ul>
|
||||
<p>Без DAIS неможливо створити агента, MicroDAO, ноду чи увійти в District.</p>
|
||||
<hr />
|
||||
<h1 id="11">11. Майбутні розширення<a class="headerlink" href="#11" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Інтеграція TON;</li>
|
||||
<li>DID-compatible wallet auth;</li>
|
||||
<li>hardware keys;</li>
|
||||
<li>локальна біометрія (без передачі).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="12">12. Підсумок<a class="headerlink" href="#12" title="Permanent link">¶</a></h1>
|
||||
<p>DAIS — це цифрове тіло кожного агента.<br />
|
||||
Воно забезпечує універсальний login, права доступу, підписи, recovery.<br />
|
||||
Документ задає базу для майбутнього IAM і не потребує змін у чинній логіці.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
868
site/foundation/DAARION_Ontology_Core_v1/index.html
Normal file
868
site/foundation/DAARION_Ontology_Core_v1/index.html
Normal file
@@ -0,0 +1,868 @@
|
||||
|
||||
<!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/foundation/DAARION_Ontology_Core_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>DAARION_Ontology_Core_v1.md - 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="#daarion_ontology_core_v1md" 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">
|
||||
|
||||
DAARION_Ontology_Core_v1.md
|
||||
|
||||
</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="#daarioncity-ontology-core-agent-microdao-node-district" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
DAARION.city — Ontology Core (Agent → MicroDAO → Node → District)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="daarion_ontology_core_v1md">DAARION_Ontology_Core_v1.md<a class="headerlink" href="#daarion_ontology_core_v1md" title="Permanent link">¶</a></h1>
|
||||
<h2 id="daarioncity-ontology-core-agent-microdao-node-district">DAARION.city — Ontology Core (Agent → MicroDAO → Node → District)<a class="headerlink" href="#daarioncity-ontology-core-agent-microdao-node-district" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Version:</strong> 1.0
|
||||
<strong>Status:</strong> Foundation Document (Immutable Core)
|
||||
<strong>Scope:</strong> DAARION.city / microDAO / DAGI Mesh / Identity Layer (DAIS)</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета документа<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Цей документ встановлює <strong>базову онтологію</strong> міста DAARION.city:
|
||||
структуру сутностей, їх ролі, інваріанти та правила взаємодії.</p>
|
||||
<p>Це — фундаментальна модель, на якій будуються:</p>
|
||||
<ul>
|
||||
<li>User Onboarding</li>
|
||||
<li>Identity Layer (DAIS)</li>
|
||||
<li>MicroDAO Governance</li>
|
||||
<li>Node Registration</li>
|
||||
<li>Agent Networks</li>
|
||||
<li>District Architecture</li>
|
||||
<li>DAGI Mesh Routing</li>
|
||||
</ul>
|
||||
<p>Документ є <strong>неламким</strong> (non-breaking): будь-які зміни мають бути сумісні назад і розширювати, а не замінювати тут визначені принципи.</p>
|
||||
<hr />
|
||||
<h1 id="1-daarioncity">1. Онтологічний каркас DAARION.city<a class="headerlink" href="#1-daarioncity" title="Permanent link">¶</a></h1>
|
||||
<p>Уся мережа базується на простій ієрархії:</p>
|
||||
<p><strong>Agent → MicroDAO → Node → District</strong></p>
|
||||
<p>Жодна сутність не може існувати поза цією структурою.</p>
|
||||
<hr />
|
||||
<h1 id="2-agent">2. Agent<a class="headerlink" href="#2-agent" title="Permanent link">¶</a></h1>
|
||||
<h2 id="21">2.1. Опис<a class="headerlink" href="#21" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Agent</strong> — мінімальна одиниця DAARION.city.
|
||||
Кожен агент має:</p>
|
||||
<ul>
|
||||
<li>унікальний цифровий профіль (<strong>DAIS Identity</strong>);</li>
|
||||
<li>власний «Кабінет агента» (Agent Console);</li>
|
||||
<li>ключі, криптогаманець, DID/Matrix-ідентичність;</li>
|
||||
<li>базову приналежність до однієї MicroDAO (<code>home_microdao_id</code>);</li>
|
||||
<li>базову ноду виконання (<code>home_node_id</code>);</li>
|
||||
<li>власні ролі та сфери діяльності.</li>
|
||||
</ul>
|
||||
<h2 id="22">2.2. Типи агентів<a class="headerlink" href="#22" title="Permanent link">¶</a></h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Тип агента</th>
|
||||
<th>Опис</th>
|
||||
<th>Приписка</th>
|
||||
<th>Сфера діяльності</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>Personal Agent</strong></td>
|
||||
<td>стандартний агент користувача</td>
|
||||
<td>обов'язкова</td>
|
||||
<td>своя MicroDAO або root-місто</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Service/Infrastructure Agent</strong></td>
|
||||
<td>технічні агенти сервісів</td>
|
||||
<td>до MicroDAO, де вони розгорнуті (частіше DAARION)</td>
|
||||
<td>мікроДАО / дістрик / місто</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Core-City Agent (DAARION108)</strong></td>
|
||||
<td>головна команда з 108 агентів</td>
|
||||
<td>root MicroDAO «DAARION»</td>
|
||||
<td>citywide (все місто)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Orchestrator Agent</strong></td>
|
||||
<td>має право створювати MicroDAO</td>
|
||||
<td>обов'язкова</td>
|
||||
<td>керування MicroDAO</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h2 id="23">2.3. Ролі<a class="headerlink" href="#23" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>regular</code> — стандартний агент.</li>
|
||||
<li><code>orchestrator</code> — агент, який може створювати і керувати MicroDAO.</li>
|
||||
</ul>
|
||||
<h2 id="24-agent">2.4. Інваріанти Agent<a class="headerlink" href="#24-agent" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
<li>Agent не може існувати без DAIS-ідентичності.</li>
|
||||
<li>Agent завжди має одну <code>home_microdao_id</code>.</li>
|
||||
<li>Agent завжди має хоч одну ноду виконання (мінімально — root-ноду DAARION).</li>
|
||||
<li>Orchestrator — це підвищений стан агента, який активується лише при виконанні умов доступу (токени, ключі).</li>
|
||||
<li>Усі Service/Infrastructure-агенти «приписані» до реальної MicroDAO та реальної ноди.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="3-microdao">3. MicroDAO<a class="headerlink" href="#3-microdao" title="Permanent link">¶</a></h1>
|
||||
<h2 id="31">3.1. Опис<a class="headerlink" href="#31" title="Permanent link">¶</a></h2>
|
||||
<p><strong>MicroDAO</strong> — мінімальна організаційна одиниця в місті:
|
||||
команда, спільнота, проєкт, ініціатива або економічна клітинка.</p>
|
||||
<h2 id="32">3.2. Ключові характеристики<a class="headerlink" href="#32" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>унікальний <code>microdao_id</code>;</li>
|
||||
<li><code>primary_orchestrator_agent_id</code> — головний агент;</li>
|
||||
<li>свій криптогаманець DAIS;</li>
|
||||
<li>свій governance-модуль;</li>
|
||||
<li>свої кімнати/канали/робочі простори;</li>
|
||||
<li>можливість реєструвати <strong>Node</strong>.</li>
|
||||
</ul>
|
||||
<h2 id="33-microdao">3.3. Типи MicroDAO<a class="headerlink" href="#33-microdao" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><strong>root</strong> — перша MicroDAO, місто DAARION;</li>
|
||||
<li><strong>standard</strong> — звичайні MicroDAO користувачів;</li>
|
||||
<li><strong>district</strong> — розширений режим MicroDAO з доступом до інфраструктури і підлеглих MicroDAO.</li>
|
||||
</ul>
|
||||
<h2 id="34-microdao">3.4. Інваріанти MicroDAO<a class="headerlink" href="#34-microdao" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
<li>MicroDAO не може існувати без одного основного Orchestrator-Agent.</li>
|
||||
<li>Root MicroDAO (DAARION) існує завжди і є предком усіх інших MicroDAO.</li>
|
||||
<li>Кожна MicroDAO може реєструвати одну або більше нод.</li>
|
||||
<li>District — це <strong>форма MicroDAO</strong>, а не окрема сутність.</li>
|
||||
<li>Жодна MicroDAO не може існувати «без агресора» (без керуючого агента).</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="4-node">4. Node<a class="headerlink" href="#4-node" title="Permanent link">¶</a></h1>
|
||||
<h2 id="41">4.1. Опис<a class="headerlink" href="#41" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Node</strong> — реальний вузол виконання в DAGI Mesh:</p>
|
||||
<ul>
|
||||
<li>смартфон,</li>
|
||||
<li>ноутбук,</li>
|
||||
<li>edge-пристрій,</li>
|
||||
<li>сервер,</li>
|
||||
<li>GPU-кластер,</li>
|
||||
<li>IoT-шлюз.</li>
|
||||
</ul>
|
||||
<p>Це <strong>не абстракція</strong> — тільки фізично або програмно реальні пристрої.</p>
|
||||
<h2 id="42">4.2. Характеристики<a class="headerlink" href="#42" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>node_id</code>;</li>
|
||||
<li><code>microdao_id</code> — кому належить нода;</li>
|
||||
<li><code>node_kind</code>: <code>smartphone</code>, <code>laptop</code>, <code>edge</code>, <code>datacenter</code>, <code>iot</code>, <code>gpu-cluster</code>;</li>
|
||||
<li><code>capabilities</code> (GPU, RAM, sensors, network);</li>
|
||||
<li><code>status</code>: <code>provisioning</code>, <code>active</code>, <code>draining</code>, <code>retired</code>.</li>
|
||||
</ul>
|
||||
<h2 id="43-node">4.3. Інваріанти Node<a class="headerlink" href="#43-node" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
<li>Node <strong>завжди</strong> належить одній MicroDAO.</li>
|
||||
<li>Не існує «безхозних», «тестових» або «системних» нод поза моделлю.</li>
|
||||
<li>Вся базова інфраструктура DAARION.city належить root MicroDAO «DAARION».</li>
|
||||
<li>Агент може виконуватись лише:</li>
|
||||
<li>на ноді своєї MicroDAO,</li>
|
||||
<li>або на ноді MicroDAO/District, які на це дали дозвіл (governance).</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="5-district">5. District<a class="headerlink" href="#5-district" title="Permanent link">¶</a></h1>
|
||||
<h2 id="51">5.1. Опис<a class="headerlink" href="#51" title="Permanent link">¶</a></h2>
|
||||
<p><strong>District</strong> — це MicroDAO, якій надано розширені повноваження для керування:</p>
|
||||
<ul>
|
||||
<li>підлеглими MicroDAO,</li>
|
||||
<li>мережами нод,</li>
|
||||
<li>економічними або галузевими кластерами.</li>
|
||||
</ul>
|
||||
<h2 id="52-district">5.2. Інваріанти District<a class="headerlink" href="#52-district" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
<li>District = MicroDAO з <code>type = district</code>.</li>
|
||||
<li>District має <code>parent_microdao_id</code>.</li>
|
||||
<li>District може керувати ресурсами нижчих MicroDAO без зміни їх власності над нодами.</li>
|
||||
<li>District — це елемент ієрархії, але не новий тип сутності.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="6-assignment-layer-microdao">6. Assignment Layer (Агенти, які працюють у різних MicroDAO)<a class="headerlink" href="#6-assignment-layer-microdao" title="Permanent link">¶</a></h1>
|
||||
<h2 id="61">6.1. Опис<a class="headerlink" href="#61" title="Permanent link">¶</a></h2>
|
||||
<p>Agent може «приходити на роботу» або виконувати завдання:</p>
|
||||
<ul>
|
||||
<li>в іншій MicroDAO,</li>
|
||||
<li>в District,</li>
|
||||
<li>у всьому місті (DAARION108).</li>
|
||||
</ul>
|
||||
<p>Це робиться без зміни:</p>
|
||||
<ul>
|
||||
<li><code>home_microdao_id</code>,</li>
|
||||
<li><code>home_node_id</code>,</li>
|
||||
<li>ролі (regular / orchestrator).</li>
|
||||
</ul>
|
||||
<h2 id="62-agent_assignment">6.2. Сутність <code>agent_assignment</code><a class="headerlink" href="#62-agent_assignment" title="Permanent link">¶</a></h2>
|
||||
<p>Визначає:
|
||||
«цей агент виконує роботу для іншої MicroDAO/District».</p>
|
||||
<p>Поля:</p>
|
||||
<ul>
|
||||
<li><code>agent_id</code></li>
|
||||
<li><code>target_microdao_id</code></li>
|
||||
<li><code>scope</code> (<code>microdao</code>, <code>district</code>, <code>city</code>)</li>
|
||||
<li><code>role</code> (<code>advisor</code>, <code>ops</code>, <code>security</code>, <code>mentor</code>, <code>core-team</code>)</li>
|
||||
<li><code>start_ts</code>, <code>end_ts</code></li>
|
||||
</ul>
|
||||
<h2 id="63-assignment">6.3. Інваріанти Assignment<a class="headerlink" href="#63-assignment" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
<li>Assignment не змінює приписку агента.</li>
|
||||
<li>DAARION108 мають <code>scope = city</code>.</li>
|
||||
<li>Service/Infrastructure-агенти можуть мати assignment до всієї мережі.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="7-daarion-law">7. Жорсткі інваріанти онтології (DAARION Law)<a class="headerlink" href="#7-daarion-law" title="Permanent link">¶</a></h1>
|
||||
<ol>
|
||||
<li>
|
||||
<p><strong>Agent → MicroDAO → Node</strong>
|
||||
— єдина дозволена лінія походження.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>MicroDAO завжди має Orchestrator-Agent.</strong></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Node завжди належить MicroDAO.</strong></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>District — це розширений режим MicroDAO, не окрема сутність.</strong></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Немає тестових, тимчасових або віртуальних нод.</strong>
|
||||
Усі ноди справжні та пов'язані з реальними агентами та MicroDAO.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Новий користувач завжди починає як Agent, приписаний до root-мікроДАО DAARION.</strong></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Тільки Orchestrator-Agent може створити MicroDAO.</strong></p>
|
||||
</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="8">8. Стратегічна мета онтології<a class="headerlink" href="#8" title="Permanent link">¶</a></h1>
|
||||
<p>Створити <strong>міцний, простий, ідеально зрозумілий фундамент</strong>
|
||||
для нового типу Інтернету:</p>
|
||||
<p><strong>Інтернет агентів та нод.</strong></p>
|
||||
<p>На цій онтології будуть побудовані:</p>
|
||||
<ul>
|
||||
<li>модуль DAIS Identity,</li>
|
||||
<li>Agent Governance,</li>
|
||||
<li>Node Registration / Verification,</li>
|
||||
<li>District Platforms,</li>
|
||||
<li>розподілене планування DAGI Mesh,</li>
|
||||
<li>і вся економіка міста DAARION.city.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<p>Документ готовий до включення в TASK_PHASE_FOUNDATION_UPDATE та подальшої розробки.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
1788
site/foundation/DAIS_Layer_Architecture_v1/index.html
Normal file
1788
site/foundation/DAIS_Layer_Architecture_v1/index.html
Normal file
File diff suppressed because it is too large
Load Diff
1524
site/foundation/District_Interface_Architecture_v1/index.html
Normal file
1524
site/foundation/District_Interface_Architecture_v1/index.html
Normal file
File diff suppressed because it is too large
Load Diff
915
site/foundation/ENERGYUNION_District_Protocol_v1/index.html
Normal file
915
site/foundation/ENERGYUNION_District_Protocol_v1/index.html
Normal file
@@ -0,0 +1,915 @@
|
||||
|
||||
<!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/foundation/ENERGYUNION_District_Protocol_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>ENERGY UNION — DISTRICT PROTOCOL 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="#energy-union-district-protocol-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">
|
||||
|
||||
ENERGY UNION — DISTRICT PROTOCOL 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">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="energy-union-district-protocol-v1">ENERGY UNION — DISTRICT PROTOCOL v1<a class="headerlink" href="#energy-union-district-protocol-v1" title="Permanent link">¶</a></h1>
|
||||
<p>DePIN • Energy Grid • Compute Grid • AI District of DAARION.city<br />
|
||||
Version: 1.1<br />
|
||||
Status: Active<br />
|
||||
Lead Agent: Helion<br />
|
||||
Energy Agent: Energia </p>
|
||||
<hr />
|
||||
<h1 id="1">1. МЕТА ТА МІСІЯ<a class="headerlink" href="#1" title="Permanent link">¶</a></h1>
|
||||
<p>Energy Union — це інженерно-науковий District у DAARION.city, який об'єднує:</p>
|
||||
<ul>
|
||||
<li>децентралізовані енергетичні об'єкти (зелена генерація),</li>
|
||||
<li>децентралізовані обчислювальні модулі,</li>
|
||||
<li>автономні AI-лабораторії,</li>
|
||||
<li>climate-positive інфраструктуру.</li>
|
||||
</ul>
|
||||
<p>Місія District:</p>
|
||||
<ul>
|
||||
<li>створення відновлюваної енергетично-обчислювальної мережі,</li>
|
||||
<li>підтримка наукових AI-комп'ютинг-процесів,</li>
|
||||
<li>формування DePIN-економіки участі,</li>
|
||||
<li>забезпечення міста DAARION багаторівневими ресурсами.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="2-depin-energy-compute">2. МОДЕЛЬ ПЛАТФОРМИ (DePIN + Energy + Compute)<a class="headerlink" href="#2-depin-energy-compute" title="Permanent link">¶</a></h1>
|
||||
<h2 id="21-district">2.1. Компоненти District<a class="headerlink" href="#21-district" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>
|
||||
<p><strong>Energy Grid Layer</strong><br />
|
||||
Зелена генерація (BioMiner та інші установки), датчики, телеметрія.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Compute Layer</strong><br />
|
||||
Обчислювальні потужності різних учасників та AI-лабораторій.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>DePIN Layer</strong><br />
|
||||
Фізичні ресурси, що належать учасникам і реєструються децентралізовано.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>AI Compute Layer</strong><br />
|
||||
Три реальні лабораторії District: </p>
|
||||
</li>
|
||||
<li>PhysMath1.0 — фізика/математика; </li>
|
||||
<li>Alatheia — аналіз знань; </li>
|
||||
<li>
|
||||
<p>DAARQode — інженерія моделей.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Resource Sharing Layer</strong><br />
|
||||
Спільний доступ до енергетичних та обчислювальних ресурсів.</p>
|
||||
</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="3">3. КЛЮЧОВІ СУБ'ЄКТИ<a class="headerlink" href="#3" title="Permanent link">¶</a></h1>
|
||||
<h2 id="31-district-agents">3.1 District Agents<a class="headerlink" href="#31-district-agents" title="Permanent link">¶</a></h2>
|
||||
<h3 id="helion-district-lead">Helion (District Lead)<a class="headerlink" href="#helion-district-lead" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>маршрутизація запитів,</li>
|
||||
<li>реєстрація нод,</li>
|
||||
<li>контроль SLA та режимів.</li>
|
||||
</ul>
|
||||
<h3 id="energia-energy-agent">Energia (Energy Agent)<a class="headerlink" href="#energia-energy-agent" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>обробка телеметрії від енергетичних вузлів,</li>
|
||||
<li>аналітика потужностей,</li>
|
||||
<li>координація енергетичних ресурсів.</li>
|
||||
</ul>
|
||||
<h2 id="32-participants">3.2 Participants<a class="headerlink" href="#32-participants" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>постачальники енергії (власники BioMiner або інших установок),</li>
|
||||
<li>оператори обчислювальних модулів,</li>
|
||||
<li>науково-дослідні групи,</li>
|
||||
<li>сервісні агенти District,</li>
|
||||
<li>користувачі AI-лабораторій.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="4-district">4. ПРОДУКТИ ТА МОЖЛИВОСТІ DISTRICT<a class="headerlink" href="#4-district" title="Permanent link">¶</a></h1>
|
||||
<h2 id="41-energy-module">4.1 Energy Module<a class="headerlink" href="#41-energy-module" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>облік енергії в одиницях <strong>kWt</strong>,</li>
|
||||
<li>енергопрофілі,</li>
|
||||
<li>telemetry stream від фізичних об'єктів.</li>
|
||||
</ul>
|
||||
<h2 id="42-compute-module">4.2 Compute Module<a class="headerlink" href="#42-compute-module" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>облік compute в одиницях <strong>1T</strong>,</li>
|
||||
<li>запуск AI-процесів у PhysMath1.0, Alatheia, DAARQode.</li>
|
||||
</ul>
|
||||
<h2 id="43-climate-module">4.3 Climate Module<a class="headerlink" href="#43-climate-module" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><strong>carbon+</strong> — одиниця кліматичної ефективності.</li>
|
||||
</ul>
|
||||
<h2 id="44-node-participation-module">4.4 Node Participation Module<a class="headerlink" href="#44-node-participation-module" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>реєстрація фізичних енергетичних/compute-об'єктів,</li>
|
||||
<li>формування capability-профілю.</li>
|
||||
</ul>
|
||||
<h2 id="45-ai-operations-module">4.5 AI Operations Module<a class="headerlink" href="#45-ai-operations-module" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>планування обчислень,</li>
|
||||
<li>маршрутизація AI-лабораторій,</li>
|
||||
<li>аналіз навантаження.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="5-data-model">5. DATA MODEL<a class="headerlink" href="#5-data-model" title="Permanent link">¶</a></h1>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Entity</th>
|
||||
<th>Опис</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>EnergyUnit</td>
|
||||
<td>kWt одиниця енергії</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ComputeUnit</td>
|
||||
<td>1T одиниця обчислень</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>CarbonUnit</td>
|
||||
<td>climate-positive одиниця</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Provider</td>
|
||||
<td>учасник, що надає ресурс</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Consumer</td>
|
||||
<td>учасник, що отримує ресурс</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Session</td>
|
||||
<td>взаємодія учасника з сервісом</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Allocation</td>
|
||||
<td>виділення compute/energy</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Job</td>
|
||||
<td>AI/compute процес</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ResourceProfile</td>
|
||||
<td>потужності ноди</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TelemetryRecord</td>
|
||||
<td>телеметрія з пристрою</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SLA</td>
|
||||
<td>статус доступності</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr />
|
||||
<h1 id="6-energy-union">6. НОДА У ENERGY UNION<a class="headerlink" href="#6-energy-union" title="Permanent link">¶</a></h1>
|
||||
<p><strong>(Загальний принцип — без вигаданих ID чи назв)</strong></p>
|
||||
<p>Нода в Energy Union =<br />
|
||||
<strong>фізичний об'єкт (енергетичний або обчислювальний) + локальний комп'ютер ("мозок") + DAIS-агент + запис у таблиці <code>nodes</code></strong>.</p>
|
||||
<h2 id="61">6.1. Типи нод<a class="headerlink" href="#61" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>energy</code> — енергетична установка з IoT-датчиками; </li>
|
||||
<li><code>compute</code> — обчислювальна станція; </li>
|
||||
<li><code>hybrid</code> — енергія + compute в одному місці; </li>
|
||||
<li><code>iot_gateway</code> — шлюз сенсорів.</li>
|
||||
</ul>
|
||||
<h2 id="62-capability-">6.2. Capability-профілі<a class="headerlink" href="#62-capability-" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>для energy: <code>{ max_kWt, sensors[], telemetry_mode }</code></li>
|
||||
<li>для compute: <code>{ gpu_vram, cpu_cores, ram, storage }</code></li>
|
||||
</ul>
|
||||
<h2 id="63">6.3. Правило реєстрації<a class="headerlink" href="#63" title="Permanent link">¶</a></h2>
|
||||
<blockquote>
|
||||
<p>Нода з'являється в системі тільки після фактичного приєднання фізичного об'єкта через <code>/nodes/register</code>.</p>
|
||||
</blockquote>
|
||||
<hr />
|
||||
<h1 id="7-ai-energy-union">7. AI АГЕНТИ ENERGY UNION<a class="headerlink" href="#7-ai-energy-union" title="Permanent link">¶</a></h1>
|
||||
<h2 id="71-ai-energy-scheduler">7.1 AI Energy Scheduler<a class="headerlink" href="#71-ai-energy-scheduler" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>оптимізація розподілу енергії,</li>
|
||||
<li>обробка kWt-профілів.</li>
|
||||
</ul>
|
||||
<h2 id="72-ai-compute-allocator">7.2 AI Compute Allocator<a class="headerlink" href="#72-ai-compute-allocator" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>розподіл compute-потужностей 1T,</li>
|
||||
<li>пріоритезація задач.</li>
|
||||
</ul>
|
||||
<h2 id="73-ai-load-balancer">7.3 AI Load Balancer<a class="headerlink" href="#73-ai-load-balancer" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>балансування навантажень,</li>
|
||||
<li>контроль SLA.</li>
|
||||
</ul>
|
||||
<h2 id="74-ai-monitoring-agent">7.4 AI Monitoring Agent<a class="headerlink" href="#74-ai-monitoring-agent" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>контроль телеметрії,</li>
|
||||
<li>anomaly detection.</li>
|
||||
</ul>
|
||||
<h2 id="75-ai-failure-recovery-agent">7.5 AI Failure Recovery Agent<a class="headerlink" href="#75-ai-failure-recovery-agent" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>реагування на інциденти,</li>
|
||||
<li>пропозиції сценаріїв перемикання.</li>
|
||||
</ul>
|
||||
<h2 id="76-ai-lab-router">7.6 AI Lab Router<a class="headerlink" href="#76-ai-lab-router" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>маршрутизація задач PhysMath1.0, Alatheia, DAARQode.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="8-governance">8. GOVERNANCE<a class="headerlink" href="#8-governance" title="Permanent link">¶</a></h1>
|
||||
<h2 id="81-helion">8.1 Повноваження Helion<a class="headerlink" href="#81-helion" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>управління всіма District-процесами,</li>
|
||||
<li>модерація Room Layer,</li>
|
||||
<li>участь у рішенні City Governance.</li>
|
||||
</ul>
|
||||
<h2 id="82">8.2 Права учасників<a class="headerlink" href="#82" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>членство через DAIS identity,</li>
|
||||
<li>доступ до District Rooms,</li>
|
||||
<li>можливість запускати compute/AI задачі.</li>
|
||||
</ul>
|
||||
<h2 id="83-revocation">8.3 Revocation<a class="headerlink" href="#83-revocation" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>ноди/агенти можуть бути відключені при порушенні протоколів.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="9-room-system">9. ROOM SYSTEM<a class="headerlink" href="#9-room-system" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><code>energyunion-lobby</code></li>
|
||||
<li><code>energyunion-news</code></li>
|
||||
<li><code>energyunion-help</code></li>
|
||||
<li><code>energyunion-telemetry</code></li>
|
||||
<li><code>energyunion-compute</code></li>
|
||||
<li><code>energyunion-labs</code></li>
|
||||
<li><code>energyunion-providers</code></li>
|
||||
<li><code>energyunion-governance</code></li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="10-district-map">10. DISTRICT MAP<a class="headerlink" href="#10-district-map" title="Permanent link">¶</a></h1>
|
||||
<p>Мапа містить <strong>логічні зони</strong> (без фізичних нод):</p>
|
||||
<ul>
|
||||
<li>Energy Zone </li>
|
||||
<li>Compute Zone </li>
|
||||
<li>Labs Zone </li>
|
||||
<li>Providers Zone </li>
|
||||
<li>Telemetry Zone </li>
|
||||
<li>DAO Zone</li>
|
||||
</ul>
|
||||
<p>Фізичні точки з'являються тільки після реальної реєстрації нод.</p>
|
||||
<hr />
|
||||
<h1 id="11-security-dais">11. SECURITY & DAIS<a class="headerlink" href="#11-security-dais" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>кожна нода має свій DAIS-агент, </li>
|
||||
<li>всі операції підписуються DAIS-ключами, </li>
|
||||
<li>повна історія в Audit Layer, </li>
|
||||
<li>інциденти обробляються AI Recovery Agent.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="12-city-integration">12. CITY INTEGRATION<a class="headerlink" href="#12-city-integration" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>портал у City Square, </li>
|
||||
<li>публічні Rooms, </li>
|
||||
<li>District-панель управління, </li>
|
||||
<li>інтеграція з City Governance через Helion.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="13-mvp-scope">13. MVP SCOPE<a class="headerlink" href="#13-mvp-scope" title="Permanent link">¶</a></h1>
|
||||
<h2 id="mvp">Входить до MVP:<a class="headerlink" href="#mvp" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Реєстрація District ENERGYUNION</li>
|
||||
<li>Portal у City Square</li>
|
||||
<li>District Rooms (8 базових)</li>
|
||||
<li>Helion Agent (базова логіка)</li>
|
||||
<li>Energia Agent (телеметрія)</li>
|
||||
<li>Energy Module (kWt облік)</li>
|
||||
<li>Compute Module (1T облік)</li>
|
||||
<li>Node Participation (реєстрація)</li>
|
||||
</ul>
|
||||
<h2 id="mvp_1">Не входить до MVP:<a class="headerlink" href="#mvp_1" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Повна AI-оптимізація енергії</li>
|
||||
<li>ML-балансування навантажень</li>
|
||||
<li>Carbon+ токеноміка</li>
|
||||
<li>Автоматичний failover</li>
|
||||
<li>Multi-lab orchestration</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="14-cross-references">14. Cross-References<a class="headerlink" href="#14-cross-references" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><strong>DAARION_Ontology_Core_v1.md</strong> — базова онтологія</li>
|
||||
<li><strong>District_Interface_Architecture_v1.md</strong> — архітектура District UI</li>
|
||||
<li><strong>Agent_Governance_Protocol_v1.md</strong> — права та ролі агентів</li>
|
||||
<li><strong>DAIS_Layer_Architecture_v1.md</strong> — система ідентичності</li>
|
||||
<li><strong>Nodes_Interface_Architecture_UPDATE_v1.md</strong> — модель нод</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<p><strong>Document Status:</strong> ✅ Ready for Implementation</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
1283
site/foundation/GREENFOOD_District_Protocol_v1/index.html
Normal file
1283
site/foundation/GREENFOOD_District_Protocol_v1/index.html
Normal file
File diff suppressed because it is too large
Load Diff
764
site/foundation/MicroDAO_Interface_Architecture_v1/index.html
Normal file
764
site/foundation/MicroDAO_Interface_Architecture_v1/index.html
Normal file
@@ -0,0 +1,764 @@
|
||||
|
||||
<!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/foundation/MicroDAO_Interface_Architecture_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>MicroDAO_Interface_Architecture_v1.md - 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="#microdao_interface_architecture_v1md" 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">
|
||||
|
||||
MicroDAO_Interface_Architecture_v1.md
|
||||
|
||||
</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="#daarioncity-microdao-interface-workspace-architecture" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
DAARION.city — MicroDAO Interface & Workspace Architecture
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="microdao_interface_architecture_v1md">MicroDAO_Interface_Architecture_v1.md<a class="headerlink" href="#microdao_interface_architecture_v1md" title="Permanent link">¶</a></h1>
|
||||
<h2 id="daarioncity-microdao-interface-workspace-architecture">DAARION.city — MicroDAO Interface & Workspace Architecture<a class="headerlink" href="#daarioncity-microdao-interface-workspace-architecture" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Version:</strong> 1.0<br />
|
||||
<strong>Status:</strong> Foundation Spec (MVP)<br />
|
||||
<strong>Scope:</strong> UI/UX структури MicroDAO, доступи, кімнати, проєкти, агентні ролі, ноди, front-office</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета документа<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Визначити повну структуру інтерфейсу MicroDAO:</p>
|
||||
<ul>
|
||||
<li>Dashboard,</li>
|
||||
<li>Rooms,</li>
|
||||
<li>Projects/Tasks/Kanban,</li>
|
||||
<li>Agents/Core-team,</li>
|
||||
<li>Members (люди + агенти),</li>
|
||||
<li>Nodes,</li>
|
||||
<li>Front-office у місті,</li>
|
||||
<li>Routing та API.</li>
|
||||
</ul>
|
||||
<p>MicroDAO — це робочий простір команди / платформи / району.</p>
|
||||
<hr />
|
||||
<h1 id="1-microdao">1. Структура інтерфейсу MicroDAO<a class="headerlink" href="#1-microdao" title="Permanent link">¶</a></h1>
|
||||
<p>Кожне MicroDAO має 7 основних блоків:</p>
|
||||
<ol>
|
||||
<li><strong>Dashboard</strong></li>
|
||||
<li><strong>Rooms</strong></li>
|
||||
<li><strong>Projects</strong></li>
|
||||
<li><strong>Agents</strong></li>
|
||||
<li><strong>Members</strong></li>
|
||||
<li><strong>Nodes</strong></li>
|
||||
<li><strong>Front-Office</strong></li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="2-dashboard">2. Dashboard<a class="headerlink" href="#2-dashboard" title="Permanent link">¶</a></h1>
|
||||
<p>Показує:</p>
|
||||
<ul>
|
||||
<li>назву, логотип, тип (<code>root/standard/district</code>);</li>
|
||||
<li>опис;</li>
|
||||
<li>основні метрики (агенти, люди, ноди, проєкти);</li>
|
||||
<li>оркестратора та core-team;</li>
|
||||
<li>сповіщення, останні події;</li>
|
||||
<li>кнопку «Вийти у Front-Office».</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="3-rooms">3. Rooms<a class="headerlink" href="#3-rooms" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>внутрішні кімнати (general, core-team, dev, projects);</li>
|
||||
<li>публічні кімнати (front-office) із <code>publish_to_city</code>;</li>
|
||||
<li>портальні кімнати (посилання на District, підлеглі DAO).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="4-projects-layer">4. Projects Layer<a class="headerlink" href="#4-projects-layer" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Projects: назва, опис, команда, кімната, канбан.</li>
|
||||
<li>Tasks: title, description, status, assignee (agent/human), due date.</li>
|
||||
<li>Kanban: MVP — три стовпці.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="5-agents-layer">5. Agents Layer<a class="headerlink" href="#5-agents-layer" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Personal agents (людей), organizational, core-team, service.</li>
|
||||
<li>Перегляд агента: DAIS, rooms, projects, nodes, assignments.</li>
|
||||
<li>Core-team агенти мають розширені повноваження.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="6-members-layer">6. Members Layer<a class="headerlink" href="#6-members-layer" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Люди (humans) як учасники.</li>
|
||||
<li>Кожна людина керує своїми агентами.</li>
|
||||
<li>Ролі: <code>member</code>, <code>manager</code>, <code>core-team</code>, <code>orchestrator</code>.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="7-nodes-layer">7. Nodes Layer<a class="headerlink" href="#7-nodes-layer" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Список нод MicroDAO, їх статусів, ресурсів.</li>
|
||||
<li>Прив’язка агентів до нод.</li>
|
||||
<li>Доступні дії (реєстрація, оновлення, вимкнення).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="8-front-office">8. Front-Office<a class="headerlink" href="#8-front-office" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Публічний портал MicroDAO у City Hub.</li>
|
||||
<li>Показує публічну інформацію, агента-вітрину, кнопку «приєднатися».</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="9-district-mode">9. District Mode<a class="headerlink" href="#9-district-mode" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>District = MicroDAO з <code>type='district'</code>.</li>
|
||||
<li>Має власну міні-мапу.</li>
|
||||
<li>Управляє підлеглими MicroDAO та нодами.</li>
|
||||
<li>Відображає дружні DAO на окремій панелі.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="10-routing">10. Routing<a class="headerlink" href="#10-routing" title="Permanent link">¶</a></h1>
|
||||
<div class="codehilite"><pre><span></span><code>/microdao/{id}/dashboard
|
||||
/microdao/{id}/rooms
|
||||
/microdao/{id}/projects
|
||||
/microdao/{id}/agents
|
||||
/microdao/{id}/members
|
||||
/microdao/{id}/nodes
|
||||
/microdao/{id}/front
|
||||
</code></pre></div>
|
||||
|
||||
<p>District:</p>
|
||||
<div class="codehilite"><pre><span></span><code>/district/{id}
|
||||
/district/{id}/rooms
|
||||
/district/{id}/ecosystem
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="11">11. Інтеграції<a class="headerlink" href="#11" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Rooms Layer — кімнати DAO, front-room.</li>
|
||||
<li>City Layer — front-office у місті.</li>
|
||||
<li>Agents Layer — primary_agent кожної сцени.</li>
|
||||
<li>Nodes Layer — таб «Nodes».</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="12-3d2d">12. 3D/2D перспектива<a class="headerlink" href="#12-3d2d" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Параметри кімнат/порталів зберігають <code>map_x</code>, <code>map_y</code>, <code>mesh_id</code>.</li>
|
||||
<li>У майбутньому MicroDAO може мати власний 3D-офіс.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="13-mvp-scope">13. MVP Scope<a class="headerlink" href="#13-mvp-scope" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Dashboard + Rooms + Projects + Agents + Members + Nodes + Front-Office.</li>
|
||||
<li>Без 3D, без складних governance workflows.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="14">14. Підсумок<a class="headerlink" href="#14" title="Permanent link">¶</a></h1>
|
||||
<p>MicroDAO Interface — серце DAARION.space.<br />
|
||||
Він забезпечує роботу команд, агентів, нод і публічних порталів, інтегруючись із City та Rooms Layer.<br />
|
||||
Документ задає канонічну структуру для реалізації MVP.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
@@ -0,0 +1,946 @@
|
||||
|
||||
<!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/foundation/Nodes_Interface_Architecture_UPDATE_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>Nodes Interface Architecture — UPDATE 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="#nodes-interface-architecture-update-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">
|
||||
|
||||
Nodes Interface Architecture — UPDATE 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">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="nodes-interface-architecture-update-v1">Nodes Interface Architecture — UPDATE v1<a class="headerlink" href="#nodes-interface-architecture-update-v1" title="Permanent link">¶</a></h1>
|
||||
<p>DAARION.city Unified Node Model<br />
|
||||
Version: 1.1</p>
|
||||
<hr />
|
||||
<h1 id="1">1. Визначення НОДИ<a class="headerlink" href="#1" title="Permanent link">¶</a></h1>
|
||||
<p><strong>Нода = фізичний об'єкт + локальний обчислювальний модуль + DAIS-агент + запис у таблиці <code>nodes</code>.</strong></p>
|
||||
<p>Нода не існує "віртуально".<br />
|
||||
Вона з'являється тільки після фактичного приєднання фізичного пристрою.</p>
|
||||
<hr />
|
||||
<h1 id="2">2. Компоненти НОДИ<a class="headerlink" href="#2" title="Permanent link">¶</a></h1>
|
||||
<h2 id="21">2.1. Фізичний об'єкт ("ресурс")<a class="headerlink" href="#21" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>енергетична установка, </li>
|
||||
<li>обчислювальний сервер, </li>
|
||||
<li>IoT-станція, </li>
|
||||
<li>мікрокомп'ютер або смартфон, </li>
|
||||
<li>будь-яка реальна точка у світі.</li>
|
||||
</ul>
|
||||
<h2 id="22">2.2. Локальний мозок<a class="headerlink" href="#22" title="Permanent link">¶</a></h2>
|
||||
<p>Обов'язково існує хоча б один пристрій, здатний:</p>
|
||||
<ul>
|
||||
<li>запускати агента, </li>
|
||||
<li>передавати телеметрію, </li>
|
||||
<li>встановлювати з'єднання з DAARION, </li>
|
||||
<li>керувати локальним обладнанням.</li>
|
||||
</ul>
|
||||
<p>Це може бути:</p>
|
||||
<ul>
|
||||
<li>ноутбук,</li>
|
||||
<li>міні-ПК,</li>
|
||||
<li>сервер,</li>
|
||||
<li>смартфон,</li>
|
||||
<li>Raspberry Pi.</li>
|
||||
</ul>
|
||||
<h2 id="23-dais-">2.3. DAIS-агент<a class="headerlink" href="#23-dais-" title="Permanent link">¶</a></h2>
|
||||
<p>Кожна нода має свого:</p>
|
||||
<ul>
|
||||
<li><code>dais_id</code> </li>
|
||||
<li><code>wallet</code> </li>
|
||||
<li><code>public_key</code> </li>
|
||||
<li><code>role: node_agent</code> </li>
|
||||
</ul>
|
||||
<p>Це і є "особистість" ноди, можливість підписувати операції.</p>
|
||||
<h2 id="24-nodes">2.4. Запис у таблиці <code>nodes</code><a class="headerlink" href="#24-nodes" title="Permanent link">¶</a></h2>
|
||||
<p>У БД фіксується:</p>
|
||||
<ul>
|
||||
<li><code>node_id</code> </li>
|
||||
<li><code>owner_microdao_id</code> </li>
|
||||
<li><code>node_agent_id</code> </li>
|
||||
<li><code>kind</code> </li>
|
||||
<li><code>capabilities</code> </li>
|
||||
<li><code>status</code> </li>
|
||||
<li><code>registered_at</code> </li>
|
||||
</ul>
|
||||
<h2 id="25-node-profile-core-invariants-patch-v1">2.5. Node Profile — Core Invariants (PATCH v1)<a class="headerlink" href="#25-node-profile-core-invariants-patch-v1" title="Permanent link">¶</a></h2>
|
||||
<p>Кожна нода в DAARION Ontology має чотири обов'язкові шари:</p>
|
||||
<ol>
|
||||
<li><strong>Metrics Layer</strong> — live-метрики CPU/GPU/RAM/Disk + heartbeat. Навіть якщо телеметрія частково відсутня, нода переходить у <code>metrics_status = degraded</code>, а не існує “порожньою”.</li>
|
||||
<li><strong>Ownership Layer</strong> — власник (MicroDAO/District) з полями <code>owner_microdao_id</code>, <code>owner_microdao_slug</code> (опційно <code>district_id</code>). Немає безхазяйних нод.</li>
|
||||
<li><strong>Models Layer</strong> — локальний Swapper + набір моделей (LLM, STT, vision, TTS, RAG). Dev-ноди так само мають DAGI-стек, просто з іншим складом моделей.</li>
|
||||
<li><strong>Orchestration Layer</strong> — локальний DAGI Router + агенти з <code>home_node_id</code>, які працюють на цій ноді.</li>
|
||||
</ol>
|
||||
<p>Також кожна нода має мінімальний набір <strong>Node Core Agents</strong>:</p>
|
||||
<ul>
|
||||
<li><strong>Node Guardian Agent</strong> — відповідає за health, безпеку, інциденти.</li>
|
||||
<li><strong>Node Steward Agent</strong> — відповідає за приналежність до microDAO, профіль, онбординг.</li>
|
||||
<li>(опційно) <strong>Node Models/Swapper Agent</strong> — відповідає за опис і політику використання локального стека моделей.</li>
|
||||
</ul>
|
||||
<blockquote>
|
||||
<p>Принцип “немає сторінки без агентів” означає, що будь-який інтерфейс Ноди (профіль, метрики, моделі, доступи) завжди “закріплений” за хоча б одним агентом, і цей агент показується в UI.</p>
|
||||
</blockquote>
|
||||
<hr />
|
||||
<h1 id="3">3. Типи НОД<a class="headerlink" href="#3" title="Permanent link">¶</a></h1>
|
||||
<h2 id="31-energy-node">3.1. Energy Node<a class="headerlink" href="#31-energy-node" title="Permanent link">¶</a></h2>
|
||||
<p>Фізична енергетична установка з датчиками.</p>
|
||||
<p><code>kind = "energy"</code></p>
|
||||
<h2 id="32-compute-node">3.2. Compute Node<a class="headerlink" href="#32-compute-node" title="Permanent link">¶</a></h2>
|
||||
<p>Фізичний сервер/станція для AI.</p>
|
||||
<p><code>kind = "compute"</code></p>
|
||||
<h2 id="33-hybrid-node">3.3. Hybrid Node<a class="headerlink" href="#33-hybrid-node" title="Permanent link">¶</a></h2>
|
||||
<p>Енергія + compute.</p>
|
||||
<p><code>kind = "hybrid"</code></p>
|
||||
<h2 id="34-iot-gateway-node">3.4. IoT Gateway Node<a class="headerlink" href="#34-iot-gateway-node" title="Permanent link">¶</a></h2>
|
||||
<p>Для сенсорних мереж.</p>
|
||||
<p><code>kind = "iot_gateway"</code></p>
|
||||
<h2 id="35-edge-node">3.5. Edge Node<a class="headerlink" href="#35-edge-node" title="Permanent link">¶</a></h2>
|
||||
<p>Смартфон, ноутбук, міні-ПК.</p>
|
||||
<p><code>kind = "edge"</code></p>
|
||||
<h2 id="36-datacenter-node">3.6. Datacenter Node<a class="headerlink" href="#36-datacenter-node" title="Permanent link">¶</a></h2>
|
||||
<p>Потужний серверний вузол.</p>
|
||||
<p><code>kind = "datacenter"</code></p>
|
||||
<h2 id="37-gpu-cluster-node">3.7. GPU Cluster Node<a class="headerlink" href="#37-gpu-cluster-node" title="Permanent link">¶</a></h2>
|
||||
<p>Спеціалізований GPU кластер.</p>
|
||||
<p><code>kind = "gpu_cluster"</code></p>
|
||||
<hr />
|
||||
<h1 id="4-capability-">4. Capability-профілі ("можливості")<a class="headerlink" href="#4-capability-" title="Permanent link">¶</a></h1>
|
||||
<p>При реєстрації ноди описуються її можливості:</p>
|
||||
<h3 id="_1">Приклади:<a class="headerlink" href="#_1" title="Permanent link">¶</a></h3>
|
||||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"energy"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span>
|
||||
<span class="w"> </span><span class="nt">"max_kWt"</span><span class="p">:</span><span class="w"> </span><span class="mf">8.2</span><span class="p">,</span><span class="w"> </span>
|
||||
<span class="w"> </span><span class="nt">"sensors"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"temp"</span><span class="p">,</span><span class="w"> </span><span class="s2">"co2"</span><span class="p">],</span><span class="w"> </span>
|
||||
<span class="w"> </span><span class="nt">"telemetry"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1m"</span><span class="w"> </span>
|
||||
<span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"compute"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span>
|
||||
<span class="w"> </span><span class="nt">"gpu_vram"</span><span class="p">:</span><span class="w"> </span><span class="s2">"16GB"</span><span class="p">,</span><span class="w"> </span>
|
||||
<span class="w"> </span><span class="nt">"cpu_cores"</span><span class="p">:</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span>
|
||||
<span class="w"> </span><span class="nt">"ram"</span><span class="p">:</span><span class="w"> </span><span class="s2">"64GB"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"storage"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2TB"</span>
|
||||
<span class="w"> </span><span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
|
||||
<p>Цей профіль створюється самим пристроєм або оператором вручну.</p>
|
||||
<hr />
|
||||
<h1 id="5">5. Правило реєстрації<a class="headerlink" href="#5" title="Permanent link">¶</a></h1>
|
||||
<blockquote>
|
||||
<p>Нода реєструється тільки тоді, коли фізичний пристрій реально з'єднується з DAARION і викликає <code>/nodes/register</code>.</p>
|
||||
</blockquote>
|
||||
<p><strong>Жодних автосозданих нод.</strong><br />
|
||||
<strong>Жодних "placeholder-node".</strong></p>
|
||||
<h2 id="51">5.1 Процес реєстрації<a class="headerlink" href="#51" title="Permanent link">¶</a></h2>
|
||||
<div class="codehilite"><pre><span></span><code><span class="n">sequenceDiagram</span>
|
||||
<span class="w"> </span><span class="n">participant</span><span class="w"> </span><span class="n">Device</span><span class="w"> </span><span class="n">as</span><span class="w"> </span><span class="n">Physical</span><span class="w"> </span><span class="n">Device</span>
|
||||
<span class="w"> </span><span class="n">participant</span><span class="w"> </span><span class="n">Brain</span><span class="w"> </span><span class="n">as</span><span class="w"> </span><span class="n">Local</span><span class="w"> </span><span class="n">Brain</span>
|
||||
<span class="w"> </span><span class="n">participant</span><span class="w"> </span><span class="n">API</span><span class="w"> </span><span class="n">as</span><span class="w"> </span><span class="n">DAARION</span><span class="w"> </span><span class="n">API</span>
|
||||
<span class="w"> </span><span class="n">participant</span><span class="w"> </span><span class="n">DB</span><span class="w"> </span><span class="n">as</span><span class="w"> </span><span class="n">Database</span>
|
||||
|
||||
<span class="w"> </span><span class="n">Device</span><span class="o">->></span><span class="nl">Brain:</span><span class="w"> </span><span class="n">Boot</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="n">Initialize</span>
|
||||
<span class="w"> </span><span class="n">Brain</span><span class="o">->></span><span class="nl">API:</span><span class="w"> </span><span class="n">POST</span><span class="w"> </span><span class="o">/</span><span class="n">nodes</span><span class="o">/</span><span class="n">register</span>
|
||||
<span class="w"> </span><span class="n">API</span><span class="o">->></span><span class="nl">API:</span><span class="w"> </span><span class="n">Validate</span><span class="w"> </span><span class="n">DAIS</span><span class="w"> </span><span class="n">identity</span>
|
||||
<span class="w"> </span><span class="n">API</span><span class="o">->></span><span class="nl">DB:</span><span class="w"> </span><span class="n">INSERT</span><span class="w"> </span><span class="n">INTO</span><span class="w"> </span><span class="n">nodes</span>
|
||||
<span class="w"> </span><span class="n">DB</span><span class="o">-->></span><span class="nl">API:</span><span class="w"> </span><span class="n">node_id</span>
|
||||
<span class="w"> </span><span class="n">API</span><span class="o">-->></span><span class="nl">Brain:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">node_id</span><span class="p">,</span><span class="w"> </span><span class="nl">status:</span><span class="w"> </span><span class="s">"registered"</span><span class="w"> </span><span class="p">}</span>
|
||||
<span class="w"> </span><span class="n">Brain</span><span class="o">->></span><span class="nl">Device:</span><span class="w"> </span><span class="n">Configure</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="n">Start</span><span class="w"> </span><span class="n">Services</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="52-required-fields">5.2 Required Fields<a class="headerlink" href="#52-required-fields" title="Permanent link">¶</a></h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field</th>
|
||||
<th>Type</th>
|
||||
<th>Required</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>owner_microdao_id</td>
|
||||
<td>UUID</td>
|
||||
<td>✅</td>
|
||||
<td>MicroDAO власник</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>node_agent_id</td>
|
||||
<td>TEXT</td>
|
||||
<td>✅</td>
|
||||
<td>DAIS ID агента ноди</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>kind</td>
|
||||
<td>ENUM</td>
|
||||
<td>✅</td>
|
||||
<td>Тип ноди</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>capabilities</td>
|
||||
<td>JSONB</td>
|
||||
<td>✅</td>
|
||||
<td>Можливості</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>hostname</td>
|
||||
<td>TEXT</td>
|
||||
<td>❌</td>
|
||||
<td>Ім'я хоста</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ip_address</td>
|
||||
<td>TEXT</td>
|
||||
<td>❌</td>
|
||||
<td>IP адреса</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr />
|
||||
<h1 id="6-onboarding-offboarding">6. Onboarding / Offboarding<a class="headerlink" href="#6-onboarding-offboarding" title="Permanent link">¶</a></h1>
|
||||
<h2 id="61-onboarding">6.1 Onboarding<a class="headerlink" href="#61-onboarding" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
<li>Фізичний пристрій підключається до мережі</li>
|
||||
<li>Локальний мозок запускає DAIS-агента</li>
|
||||
<li>Агент отримує DAIS identity (якщо ще немає)</li>
|
||||
<li>Виклик <code>/nodes/register</code> з capability-профілем</li>
|
||||
<li>Нода з'являється в системі</li>
|
||||
<li>District Lead Agent підтверджує (якщо потрібно)</li>
|
||||
</ol>
|
||||
<h2 id="62-offboarding">6.2 Offboarding<a class="headerlink" href="#62-offboarding" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>власник може відключити ноду через <code>/nodes/{id}/deactivate</code></li>
|
||||
<li>District Lead може заблокувати ноду при порушенні</li>
|
||||
<li>City Governance може ревокувати ноду при критичних інцидентах</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="7-security">7. Security<a class="headerlink" href="#7-security" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>всі операції підписані DAIS-ключами ноди</li>
|
||||
<li>ревокація ноди = блокування її DAIS-агента</li>
|
||||
<li>телеметрія може бути E2E-шифрована</li>
|
||||
<li>кожна нода має свій wallet для мікротранзакцій</li>
|
||||
</ul>
|
||||
<h2 id="71-key-rotation">7.1 Key Rotation<a class="headerlink" href="#71-key-rotation" title="Permanent link">¶</a></h2>
|
||||
<p>Ноди повинні періодично оновлювати ключі:</p>
|
||||
<ul>
|
||||
<li>автоматична ротація кожні 90 днів</li>
|
||||
<li>примусова ротація при підозрі компрометації</li>
|
||||
<li>старі ключі зберігаються в <code>dais_keys</code> з <code>revoked = true</code></li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="8-district-">8. Інтеграція з District-протоколами<a class="headerlink" href="#8-district-" title="Permanent link">¶</a></h1>
|
||||
<h2 id="81-microdao">8.1 MicroDAO<a class="headerlink" href="#81-microdao" title="Permanent link">¶</a></h2>
|
||||
<p>Кожна нода належить певному MicroDAO:</p>
|
||||
<ul>
|
||||
<li><code>owner_microdao_id</code> → FK до <code>microdaos</code></li>
|
||||
<li>права управління нодою = права Orchestrator MicroDAO</li>
|
||||
</ul>
|
||||
<h2 id="82-district">8.2 District<a class="headerlink" href="#82-district" title="Permanent link">¶</a></h2>
|
||||
<p>District Lead (Helion, GREENFOOD ERP, інші) має право:</p>
|
||||
<ul>
|
||||
<li>реєстрації ноди всередині District</li>
|
||||
<li>перевірки capability-профілю</li>
|
||||
<li>блокування ноди в разі порушення протоколу</li>
|
||||
<li>налаштування SLA вимог</li>
|
||||
</ul>
|
||||
<h2 id="83-city">8.3 City<a class="headerlink" href="#83-city" title="Permanent link">¶</a></h2>
|
||||
<p>City Governance може:</p>
|
||||
<ul>
|
||||
<li>переглядати всі ноди міста з роллю <code>city_governance</code></li>
|
||||
<li>блокувати ноди при критичних інцидентах</li>
|
||||
<li>встановлювати city-wide policies</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="9-node-status-lifecycle">9. Node Status Lifecycle<a class="headerlink" href="#9-node-status-lifecycle" title="Permanent link">¶</a></h1>
|
||||
<div class="codehilite"><pre><span></span><code><span class="n">registered</span><span class="w"> </span><span class="err">→</span><span class="w"> </span><span class="n">online</span><span class="w"> </span><span class="err">→</span><span class="w"> </span><span class="n">busy</span><span class="w"> </span><span class="err">→</span><span class="w"> </span><span class="n">offline</span><span class="w"> </span><span class="err">→</span><span class="w"> </span><span class="n">deactivated</span>
|
||||
<span class="w"> </span><span class="err">↓</span>
|
||||
<span class="w"> </span><span class="n">suspended</span><span class="w"> </span><span class="p">(</span><span class="err">при</span><span class="w"> </span><span class="err">порушенні</span><span class="p">)</span>
|
||||
<span class="w"> </span><span class="err">↓</span>
|
||||
<span class="w"> </span><span class="n">revoked</span><span class="w"> </span><span class="p">(</span><span class="n">hard</span><span class="w"> </span><span class="n">block</span><span class="p">)</span>
|
||||
</code></pre></div>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Status</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>registered</code></td>
|
||||
<td>Нода зареєстрована, очікує активації</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>online</code></td>
|
||||
<td>Нода активна, готова до роботи</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>busy</code></td>
|
||||
<td>Нода виконує задачу</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>offline</code></td>
|
||||
<td>Нода тимчасово недоступна</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>suspended</code></td>
|
||||
<td>Нода призупинена адміністративно</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>deactivated</code></td>
|
||||
<td>Нода деактивована власником</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>revoked</code></td>
|
||||
<td>Нода заблокована назавжди</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr />
|
||||
<h1 id="10-telemetry-protocol">10. Telemetry Protocol<a class="headerlink" href="#10-telemetry-protocol" title="Permanent link">¶</a></h1>
|
||||
<h2 id="101-heartbeat">10.1 Heartbeat<a class="headerlink" href="#101-heartbeat" title="Permanent link">¶</a></h2>
|
||||
<p>Кожна нода надсилає heartbeat кожні 60 секунд:</p>
|
||||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"node_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"..."</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2025-11-30T12:00:00Z"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"status"</span><span class="p">:</span><span class="w"> </span><span class="s2">"online"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"metrics"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"cpu_load"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.45</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"memory_used"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.67</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"disk_free"</span><span class="p">:</span><span class="w"> </span><span class="mf">0.82</span>
|
||||
<span class="w"> </span><span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="102-nats-subjects">10.2 NATS Subjects<a class="headerlink" href="#102-nats-subjects" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>nodes.heartbeat.{node_id}</code> — heartbeat</li>
|
||||
<li><code>nodes.metrics.{node_id}</code> — детальна телеметрія</li>
|
||||
<li><code>nodes.events.{node_id}</code> — події ноди</li>
|
||||
<li><code>nodes.alerts.{node_id}</code> — алерти</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="11">11. Сумісність<a class="headerlink" href="#11" title="Permanent link">¶</a></h1>
|
||||
<p>Ця модель однакова для:</p>
|
||||
<ul>
|
||||
<li><strong>Energy Union</strong> — energy/compute/hybrid ноди</li>
|
||||
<li><strong>GREENFOOD</strong> — warehouse/logistics/iot ноди</li>
|
||||
<li><strong>CLAN</strong> — edge/compute ноди</li>
|
||||
<li><strong>SOUL</strong> — personal/edge ноди</li>
|
||||
<li><strong>DAARION root DAO</strong> — datacenter/gpu_cluster ноди</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="12-cross-references">12. Cross-References<a class="headerlink" href="#12-cross-references" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><strong>DAARION_Ontology_Core_v1.md</strong> — базова онтологія</li>
|
||||
<li><strong>DAIS_Layer_Architecture_v1.md</strong> — система ідентичності</li>
|
||||
<li><strong>Agent_Governance_Protocol_v1.md</strong> — права агентів</li>
|
||||
<li><strong>ENERGYUNION_District_Protocol_v1.md</strong> — протокол Energy Union</li>
|
||||
<li><strong>GREENFOOD_District_Protocol_v1.md</strong> — протокол GREENFOOD</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<p><strong>Document Status:</strong> ✅ Ready for Implementation</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
834
site/foundation/Nodes_Interface_Architecture_v1/index.html
Normal file
834
site/foundation/Nodes_Interface_Architecture_v1/index.html
Normal file
@@ -0,0 +1,834 @@
|
||||
|
||||
<!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/foundation/Nodes_Interface_Architecture_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>Nodes_Interface_Architecture_v1.md - 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="#nodes_interface_architecture_v1md" 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">
|
||||
|
||||
Nodes_Interface_Architecture_v1.md
|
||||
|
||||
</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="#daarioncity-nodes-interface-node-management-architecture" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
DAARION.city — Nodes Interface & Node Management Architecture
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="nodes_interface_architecture_v1md">Nodes_Interface_Architecture_v1.md<a class="headerlink" href="#nodes_interface_architecture_v1md" title="Permanent link">¶</a></h1>
|
||||
<h2 id="daarioncity-nodes-interface-node-management-architecture">DAARION.city — Nodes Interface & Node Management Architecture<a class="headerlink" href="#daarioncity-nodes-interface-node-management-architecture" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Version:</strong> 1.0<br />
|
||||
<strong>Status:</strong> Foundation Spec (MVP)<br />
|
||||
<strong>Scope:</strong> Node dashboards, control rooms, node registration, capabilities, health monitoring, DAGI mesh integration</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета документа<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Визначити інтерфейс керування нодами в DAARION.city:</p>
|
||||
<ul>
|
||||
<li>як відображаються ноди в UI,</li>
|
||||
<li>як реєструються та верифікуються ноди,</li>
|
||||
<li>як моніториться здоров'я та ресурси,</li>
|
||||
<li>як ноди інтегруються з MicroDAO та DAGI Mesh,</li>
|
||||
<li>як агенти виконуються на нодах,</li>
|
||||
<li>як відбувається координація Node Fleet.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="1-nodes-interface">1. Роль Nodes Interface<a class="headerlink" href="#1-nodes-interface" title="Permanent link">¶</a></h1>
|
||||
<p>Nodes Interface — це шар управління фізичними та логічними вузлами DAGI Mesh:</p>
|
||||
<ul>
|
||||
<li>відображення стану нод MicroDAO,</li>
|
||||
<li>реєстрація нових нод,</li>
|
||||
<li>моніторинг ресурсів (CPU, GPU, RAM, network),</li>
|
||||
<li>управління lifecycle нод,</li>
|
||||
<li>прив'язка агентів до нод,</li>
|
||||
<li>fleet management для District.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="2">2. Типи нод<a class="headerlink" href="#2" title="Permanent link">¶</a></h1>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Тип</th>
|
||||
<th>Опис</th>
|
||||
<th>Capabilities</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>smartphone</code></td>
|
||||
<td>мобільний пристрій</td>
|
||||
<td>low compute, camera, GPS, sensors</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>laptop</code></td>
|
||||
<td>персональний комп'ютер</td>
|
||||
<td>mid compute, local LLM, development</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>edge</code></td>
|
||||
<td>edge device</td>
|
||||
<td>low-mid compute, IoT gateway</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>datacenter</code></td>
|
||||
<td>серверна інфраструктура</td>
|
||||
<td>high compute, GPU, 24/7</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>iot</code></td>
|
||||
<td>IoT пристрій</td>
|
||||
<td>sensors, actuators, minimal compute</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>gpu-cluster</code></td>
|
||||
<td>GPU-кластер</td>
|
||||
<td>high GPU, ML inference/training</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr />
|
||||
<h1 id="3-node-dashboard">3. Структура Node Dashboard<a class="headerlink" href="#3-node-dashboard" title="Permanent link">¶</a></h1>
|
||||
<h2 id="31-node-overview">3.1. Node Overview<a class="headerlink" href="#31-node-overview" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>node_id</code>, <code>node_kind</code></li>
|
||||
<li><code>microdao_id</code> — власник ноди</li>
|
||||
<li><code>status</code>: provisioning | active | draining | retired</li>
|
||||
<li><code>capabilities</code> — ресурси (CPU, GPU, RAM, network)</li>
|
||||
<li>Останній heartbeat</li>
|
||||
<li>Кількість активних агентів</li>
|
||||
</ul>
|
||||
<h2 id="32-health-metrics">3.2. Health Metrics<a class="headerlink" href="#32-health-metrics" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>CPU utilization</li>
|
||||
<li>Memory usage</li>
|
||||
<li>GPU utilization (якщо є)</li>
|
||||
<li>Network throughput</li>
|
||||
<li>Latency до mesh router</li>
|
||||
<li>Uptime</li>
|
||||
</ul>
|
||||
<h2 id="33-agent-sessions">3.3. Agent Sessions<a class="headerlink" href="#33-agent-sessions" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Список агентів, що виконуються на ноді</li>
|
||||
<li>Статус кожного агента (active, idle, error)</li>
|
||||
<li>Ресурси, зайняті агентом</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="4">4. Реєстрація ноди<a class="headerlink" href="#4" title="Permanent link">¶</a></h1>
|
||||
<h2 id="41-flow">4.1. Flow<a class="headerlink" href="#41-flow" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
<li>Оркестратор MicroDAO обирає "Register Node".</li>
|
||||
<li>Вказує тип ноди (<code>node_kind</code>).</li>
|
||||
<li>Генерується provisioning token.</li>
|
||||
<li>Пристрій завантажує DAGI agent та вводить token.</li>
|
||||
<li>Нода автентифікується через DAIS node-auth.</li>
|
||||
<li>Подія <code>node.registered</code> публікується в NATS.</li>
|
||||
<li>Нода переходить у <code>provisioning</code>, потім <code>active</code>.</li>
|
||||
</ol>
|
||||
<h2 id="42">4.2. Інваріанти<a class="headerlink" href="#42" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Нода завжди належить MicroDAO.</li>
|
||||
<li>Реєстрацію ініціює Orchestrator.</li>
|
||||
<li>Після реєстрації нода підключається до DAGI Mesh.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="5">5. Екрани інтерфейсу<a class="headerlink" href="#5" title="Permanent link">¶</a></h1>
|
||||
<h2 id="51-microdao-nodes-tab">5.1. MicroDAO Nodes Tab<a class="headerlink" href="#51-microdao-nodes-tab" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>/microdao/{id}/nodes</code> — список нод MicroDAO</li>
|
||||
<li>Таблиця: node_id, kind, status, capabilities, agents, actions</li>
|
||||
<li>Кнопка "Register Node"</li>
|
||||
</ul>
|
||||
<h2 id="52-node-detail">5.2. Node Detail<a class="headerlink" href="#52-node-detail" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>/node/{id}</code> — деталі ноди</li>
|
||||
<li>Overview, Health, Agents, Logs, Settings</li>
|
||||
<li>Actions: restart agents, drain, retire</li>
|
||||
</ul>
|
||||
<h2 id="53-fleet-management-district">5.3. Fleet Management (District)<a class="headerlink" href="#53-fleet-management-district" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>/district/{id}/fleet</code> — всі ноди підлеглих MicroDAO</li>
|
||||
<li>Aggregated metrics, alerts</li>
|
||||
<li>Scheduling policies</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="6-api-endpoints">6. API Endpoints<a class="headerlink" href="#6-api-endpoints" title="Permanent link">¶</a></h1>
|
||||
<div class="codehilite"><pre><span></span><code><span class="n">GET</span><span class="w"> </span><span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">microdao</span><span class="o">/</span><span class="p">{</span><span class="n">id</span><span class="p">}</span><span class="o">/</span><span class="n">nodes</span>
|
||||
<span class="n">POST</span><span class="w"> </span><span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">microdao</span><span class="o">/</span><span class="p">{</span><span class="n">id</span><span class="p">}</span><span class="o">/</span><span class="n">nodes</span><span class="o">/</span><span class="n">register</span>
|
||||
<span class="n">GET</span><span class="w"> </span><span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">node</span><span class="o">/</span><span class="p">{</span><span class="n">id</span><span class="p">}</span>
|
||||
<span class="n">GET</span><span class="w"> </span><span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">node</span><span class="o">/</span><span class="p">{</span><span class="n">id</span><span class="p">}</span><span class="o">/</span><span class="n">health</span>
|
||||
<span class="n">GET</span><span class="w"> </span><span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">node</span><span class="o">/</span><span class="p">{</span><span class="n">id</span><span class="p">}</span><span class="o">/</span><span class="n">agents</span>
|
||||
<span class="n">POST</span><span class="w"> </span><span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">node</span><span class="o">/</span><span class="p">{</span><span class="n">id</span><span class="p">}</span><span class="o">/</span><span class="n">drain</span>
|
||||
<span class="n">POST</span><span class="w"> </span><span class="o">/</span><span class="n">api</span><span class="o">/</span><span class="n">node</span><span class="o">/</span><span class="p">{</span><span class="n">id</span><span class="p">}</span><span class="o">/</span><span class="n">retire</span>
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="7-dagi-mesh-integration">7. DAGI Mesh Integration<a class="headerlink" href="#7-dagi-mesh-integration" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Кожна нода підключається до DAGI Router.</li>
|
||||
<li>Ноди отримують task scheduling від Router.</li>
|
||||
<li>Агенти виконуються на нодах через Worker Runtime.</li>
|
||||
<li>Heartbeat кожні 30 секунд до Mesh Controller.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="8-lifecycle-management">8. Lifecycle Management<a class="headerlink" href="#8-lifecycle-management" title="Permanent link">¶</a></h1>
|
||||
<div class="codehilite"><pre><span></span><code>provisioning → active → draining → retired
|
||||
</code></pre></div>
|
||||
|
||||
<ul>
|
||||
<li><strong>provisioning</strong>: нода реєструється, очікує верифікації.</li>
|
||||
<li><strong>active</strong>: нода працює, приймає агентів.</li>
|
||||
<li><strong>draining</strong>: нода готується до вимкнення, нові агенти не призначаються.</li>
|
||||
<li><strong>retired</strong>: нода офлайн, архівована.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="9-security">9. Security<a class="headerlink" href="#9-security" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Доступ до ноди через DAIS node-auth.</li>
|
||||
<li>Тільки Orchestrator/Core-Team можуть керувати нодами.</li>
|
||||
<li>Agent sessions ізольовані (container/sandbox).</li>
|
||||
<li>Всі комунікації шифровані (mTLS).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="10-mvp-scope">10. MVP Scope<a class="headerlink" href="#10-mvp-scope" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Node list у MicroDAO interface.</li>
|
||||
<li>Node registration flow.</li>
|
||||
<li>Basic health display (status, capabilities).</li>
|
||||
<li>Agent sessions list.</li>
|
||||
<li>Drain/Retire actions.</li>
|
||||
</ul>
|
||||
<p>Не входить: advanced scheduling, GPU quotas, auto-scaling.</p>
|
||||
<hr />
|
||||
<h1 id="11">11. Зв'язок з іншими документами<a class="headerlink" href="#11" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><strong>Ontology</strong> → Node як сутність Agent → MicroDAO → Node → District.</li>
|
||||
<li><strong>Data Model</strong> → таблиця <code>nodes</code> з полями.</li>
|
||||
<li><strong>Event Catalog</strong> → <code>node.registered</code>.</li>
|
||||
<li><strong>MicroDAO Interface</strong> → Nodes Tab.</li>
|
||||
<li><strong>Governance</strong> → права на реєстрацію нод.</li>
|
||||
<li><strong>DAIS</strong> → node-auth для автентифікації.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="12">12. Підсумок<a class="headerlink" href="#12" title="Permanent link">¶</a></h1>
|
||||
<p>Nodes Interface забезпечує управління фізичною інфраструктурою DAGI Mesh:</p>
|
||||
<ul>
|
||||
<li>реєстрацію нод,</li>
|
||||
<li>моніторинг здоров'я та ресурсів,</li>
|
||||
<li>виконання агентів,</li>
|
||||
<li>lifecycle management,</li>
|
||||
<li>fleet management для District.</li>
|
||||
</ul>
|
||||
<p>Документ завершено.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
778
site/foundation/Rooms_Layer_Architecture_v1/index.html
Normal file
778
site/foundation/Rooms_Layer_Architecture_v1/index.html
Normal file
@@ -0,0 +1,778 @@
|
||||
|
||||
<!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/foundation/Rooms_Layer_Architecture_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>Rooms_Layer_Architecture_v1.md - 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="#rooms_layer_architecture_v1md" 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">
|
||||
|
||||
Rooms_Layer_Architecture_v1.md
|
||||
|
||||
</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="#daarioncity-rooms-layer-shared-city-space" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
DAARION.city — Rooms Layer & Shared City Space
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="rooms_layer_architecture_v1md">Rooms_Layer_Architecture_v1.md<a class="headerlink" href="#rooms_layer_architecture_v1md" title="Permanent link">¶</a></h1>
|
||||
<h2 id="daarioncity-rooms-layer-shared-city-space">DAARION.city — Rooms Layer & Shared City Space<a class="headerlink" href="#daarioncity-rooms-layer-shared-city-space" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Version:</strong> 1.0<br />
|
||||
<strong>Status:</strong> Foundation Spec (Non-Breaking)<br />
|
||||
<strong>Scope:</strong> City rooms, MicroDAO rooms, District platforms, 2D/3D map, public fronts, inter-DAO interaction</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета документа<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Визначити, що таке «Кімнати Міста» та загалом Rooms Layer у DAARION.city:</p>
|
||||
<ul>
|
||||
<li>як влаштовані простори міста (City Hub, City Square),</li>
|
||||
<li>як працюють кімнати MicroDAO/District,</li>
|
||||
<li>як MicroDAO можуть мати публічні front-offices у місті,</li>
|
||||
<li>як це все відображається в 2D-мапі і майбутньому 3D метавсесвіті,</li>
|
||||
<li>як Rooms Layer інтегрується з MicroDAO Interface і City Layer.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="1">1. Базова модель<a class="headerlink" href="#1" title="Permanent link">¶</a></h1>
|
||||
<p>Rooms Layer працює на трьох рівнях:</p>
|
||||
<ol>
|
||||
<li><strong>City Hub (root MicroDAO DAARION)</strong> — публічні міські кімнати і фронт-офіси.</li>
|
||||
<li><strong>MicroDAO Space</strong> — внутрішні кімнати, робочі простори, проєкти, core-team.</li>
|
||||
<li><strong>District Space</strong> — платформи, міні-міста з підлеглими MicroDAO.</li>
|
||||
</ol>
|
||||
<p>Функція Rooms Layer — універсальна: та сама структура для всіх рівнів, але з різним контекстом.</p>
|
||||
<hr />
|
||||
<h1 id="2-rooms-layer">2. Поняття Rooms Layer<a class="headerlink" href="#2-rooms-layer" title="Permanent link">¶</a></h1>
|
||||
<h2 id="room">Room<a class="headerlink" href="#room" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>чат / канал / робочий простір;</li>
|
||||
<li>має <code>owner_type</code> (<code>city | microdao | district | agent</code>), <code>owner_id</code>;</li>
|
||||
<li>має <code>space_scope</code> (<code>city | microdao | district</code>);</li>
|
||||
<li>має <code>visibility</code> (<code>private | members | public-city | public-global</code>);</li>
|
||||
<li>опціонально <code>matrix_room_id</code>.</li>
|
||||
</ul>
|
||||
<h2 id="location">Location<a class="headerlink" href="#location" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>2D map tile / координати;</li>
|
||||
<li>3D anchor (будівля, кіоск);</li>
|
||||
<li>fallback — список/каталог.</li>
|
||||
</ul>
|
||||
<h2 id="portal">Portal<a class="headerlink" href="#portal" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>кімната-«точка входу» MicroDAO/District у міське середовище;</li>
|
||||
<li><code>is_portal=true</code>, <code>portal_target_microdao_id</code>.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="3">3. Типи кімнат<a class="headerlink" href="#3" title="Permanent link">¶</a></h1>
|
||||
<ol>
|
||||
<li><strong>City Room</strong> — належить root MicroDAO, <code>space_scope='city'</code>.</li>
|
||||
<li><strong>DAO Room</strong> — внутрішні кімнати MicroDAO (<code>space_scope='microdao'</code>).</li>
|
||||
<li><strong>Public Front Room</strong> — кімната MicroDAO з <code>space_scope='city'</code>.</li>
|
||||
<li><strong>District Room</strong> — кімнати District-платформи (<code>space_scope='district'</code>).</li>
|
||||
<li><strong>Agent Room / Booth</strong> — публічні кімнати агентів (Helion, ERP, DARIO).</li>
|
||||
<li><strong>Event Room</strong> — тимчасові/постійні кімнати подій.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="4">4. Модель видимості<a class="headerlink" href="#4" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><code>owner_type</code>, <code>owner_id</code>.</li>
|
||||
<li><code>visibility</code>: <code>private</code>, <code>members</code>, <code>public-city</code>, <code>public-global</code>.</li>
|
||||
<li><code>space_scope</code>: <code>city</code>, <code>microdao</code>, <code>district</code>.</li>
|
||||
</ul>
|
||||
<p>Приклад front-office Energyunion:</p>
|
||||
<div class="codehilite"><pre><span></span><code><span class="nx">owner_type</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nx">microdao</span>
|
||||
<span class="nx">owner_id</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nx">energyunion</span>
|
||||
<span class="nx">visibility</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nx">public</span><span class="o">-</span><span class="nx">city</span>
|
||||
<span class="nx">space_scope</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nx">city</span>
|
||||
<span class="nx">is_portal</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="kc">true</span>
|
||||
<span class="nx">portal_target_microdao_id</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="nx">energyunion</span>
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="5-city-hub">5. City Hub як спільний простір<a class="headerlink" href="#5-city-hub" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Місто — місце, де можуть бути присутні всі MicroDAO, District, агенти.</li>
|
||||
<li>Кожне MicroDAO може зареєструвати портали/кімнати у City Hub.</li>
|
||||
<li>Публічні агенти (Helion, ERP, DARIO) мають свої кіоски в місті.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="6">6. Інтерфейсні рівні<a class="headerlink" href="#6" title="Permanent link">¶</a></h1>
|
||||
<h2 id="61-city-rooms-ui">6.1. City Rooms UI<a class="headerlink" href="#61-city-rooms-ui" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>/city/rooms</code> — список / карта публічних кімнат.</li>
|
||||
<li><code>/city</code> — City Square зі слотами кімнат/порталів.</li>
|
||||
<li><code>/city/map</code> — 2D карта.</li>
|
||||
</ul>
|
||||
<h2 id="62-microdao-rooms-ui">6.2. MicroDAO Rooms UI<a class="headerlink" href="#62-microdao-rooms-ui" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>/microdao/{id}/rooms</code> — внутрішні кімнати, публікація front-room (прапорець <code>publish_to_city</code>).</li>
|
||||
</ul>
|
||||
<h2 id="63-district-rooms-ui">6.3. District Rooms UI<a class="headerlink" href="#63-district-rooms-ui" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>/district/{id}/rooms</code> — кімнати платформи, підлеглі DAO.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="7-2d3d">7. 2D/3D підтримка<a class="headerlink" href="#7-2d3d" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Кожна кімната може мати <code>map_x</code>, <code>map_y</code>, <code>zone</code>.</li>
|
||||
<li>3D-режим використовує <code>mesh_id</code>, <code>3d_position</code>.</li>
|
||||
<li>City Square → набір кімнат/порталів, які відображаються як плитки / кіоски.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="8">8. Модель даних (чернетка)<a class="headerlink" href="#8" title="Permanent link">¶</a></h1>
|
||||
<div class="codehilite"><pre><span></span><code><span class="n">rooms</span><span class="w"> </span><span class="p">(</span>
|
||||
<span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">primary</span><span class="w"> </span><span class="k">key</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">owner_type</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">owner_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="k">type</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="c1">-- city-room | dao-room | front-room | agent-room | event-room</span>
|
||||
<span class="w"> </span><span class="n">space_scope</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="c1">-- city | microdao | district</span>
|
||||
<span class="w"> </span><span class="n">visibility</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="c1">-- private | members | public-city | public-global</span>
|
||||
<span class="w"> </span><span class="n">matrix_room_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">is_portal</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="k">false</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">portal_target_microdao_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">map_x</span><span class="w"> </span><span class="nb">integer</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">map_y</span><span class="w"> </span><span class="nb">integer</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="k">zone</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">jsonb</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="s1">'{}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">created_at</span><span class="w"> </span><span class="n">timestamptz</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="n">now</span><span class="p">()</span>
|
||||
<span class="p">);</span>
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="9-governance">9. Governance<a class="headerlink" href="#9-governance" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>City rooms створює root MicroDAO або civic-агенти з правами.</li>
|
||||
<li>DAO rooms створює оркестратор/команда.</li>
|
||||
<li>Front offices публікує Оркестратор або core-team.</li>
|
||||
<li>District rooms — оркестратор District.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="10-mvp-scope">10. MVP Scope<a class="headerlink" href="#10-mvp-scope" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Реєстр City Rooms.</li>
|
||||
<li>API: <code>GET /city/rooms</code>, <code>GET /city/portals</code>, <code>POST /microdao/{id}/rooms</code>.</li>
|
||||
<li>Мінімальний UI: список кімнат, дві front-room (Energyunion, GREENFOOD).</li>
|
||||
<li>Matrix-зв’язок для кімнат.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="11">11. Підсумок<a class="headerlink" href="#11" title="Permanent link">¶</a></h1>
|
||||
<p>Rooms Layer уніфікує всі простори DAARION.city:</p>
|
||||
<ul>
|
||||
<li>місто як спільний простір,</li>
|
||||
<li>MicroDAO як власні робочі простори,</li>
|
||||
<li>District як платформи,</li>
|
||||
<li>агенти як власники кімнат.</li>
|
||||
</ul>
|
||||
<p>Це база для 2D/3D DAARION.space.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
1253
site/foundation/SOUL_District_Protocol_v1/index.html
Normal file
1253
site/foundation/SOUL_District_Protocol_v1/index.html
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,803 @@
|
||||
|
||||
<!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/foundation/Technical_Description_microdao_PATCH_Ontology/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>Technical_Description_microdao_PATCH_Ontology.md - 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="#technical_description_microdao_patch_ontologymd" 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">
|
||||
|
||||
Technical_Description_microdao_PATCH_Ontology.md
|
||||
|
||||
</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="#patch-update-daarion-ontology-agent-model-microdao-rules-node-structure" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Patch Update: DAARION Ontology, Agent Model, MicroDAO Rules, Node Structure
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="technical_description_microdao_patch_ontologymd">Technical_Description_microdao_PATCH_Ontology.md<a class="headerlink" href="#technical_description_microdao_patch_ontologymd" title="Permanent link">¶</a></h1>
|
||||
<h2 id="patch-update-daarion-ontology-agent-model-microdao-rules-node-structure">Patch Update: DAARION Ontology, Agent Model, MicroDAO Rules, Node Structure<a class="headerlink" href="#patch-update-daarion-ontology-agent-model-microdao-rules-node-structure" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Version:</strong> 1.0
|
||||
<strong>Status:</strong> Patch Addendum (Non-Breaking Update)
|
||||
<strong>Applies to:</strong> Existing "Технічний опис microdao" документ</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета патча<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Цей документ додає нові архітектурні розділи та уточнення, які:</p>
|
||||
<ul>
|
||||
<li>узгоджують microDAO з повною онтологією DAARION.city,</li>
|
||||
<li>визначають інваріанти Agent/MicroDAO/Node,</li>
|
||||
<li>вводять механізм Assignment,</li>
|
||||
<li>уточнюють ролі та типи агентів,</li>
|
||||
<li>визначають, що District — не нова сутність, а режим MicroDAO,</li>
|
||||
<li>роблять архітектуру послідовною та розширюваною.</li>
|
||||
</ul>
|
||||
<p>Патч нічого не ламає в існуючій логіці, лише додає розділи і правила.</p>
|
||||
<hr />
|
||||
<h1 id="1-daarion">1. Новий розділ: «Онтологія DAARION»<a class="headerlink" href="#1-daarion" title="Permanent link">¶</a></h1>
|
||||
<h2 id="11">1.1. Ієрархія сутностей<a class="headerlink" href="#11" title="Permanent link">¶</a></h2>
|
||||
<p>Уся екосистема microdao існує в контексті онтології:</p>
|
||||
<p><strong>Agent → MicroDAO → Node → District</strong></p>
|
||||
<p>Інші об'єкти (канали, кімнати, governance, токени) належать цим сутностям.</p>
|
||||
<h2 id="12">1.2. Інваріанти онтології<a class="headerlink" href="#12" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Кожен Agent належить до однієї MicroDAO.</li>
|
||||
<li>Кожна MicroDAO має одного primary Orchestrator-Agent.</li>
|
||||
<li>Кожна Node належить конкретній MicroDAO.</li>
|
||||
<li>District — це режим MicroDAO, а не окремий тип сутності.</li>
|
||||
<li>У системі не існує «сервісних», «віртуальних» або «нічийних» нод.</li>
|
||||
<li>Root MicroDAO (DAARION) — предок для всіх MicroDAO.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="2-agent-model">2. Новий розділ: «Agent Model (оновлений)»<a class="headerlink" href="#2-agent-model" title="Permanent link">¶</a></h1>
|
||||
<h2 id="21-agent">2.1. Базові властивості Agent<a class="headerlink" href="#21-agent" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>agent_id</code></li>
|
||||
<li><code>dais_identity_id</code> (DAIS прив'язка)</li>
|
||||
<li><code>home_microdao_id</code></li>
|
||||
<li><code>home_node_id</code></li>
|
||||
<li><code>role</code>: <code>regular</code> або <code>orchestrator</code></li>
|
||||
<li><code>service_scope</code> (нове поле; не обов'язкове)</li>
|
||||
</ul>
|
||||
<h2 id="22">2.2. Типи агентів<a class="headerlink" href="#22" title="Permanent link">¶</a></h2>
|
||||
<h3 id="a-personal-agent">A) Personal Agent<a class="headerlink" href="#a-personal-agent" title="Permanent link">¶</a></h3>
|
||||
<p>Агент конкретного користувача.
|
||||
Приписаний до MicroDAO (за замовчанням — DAARION).</p>
|
||||
<h3 id="b-serviceinfrastructure-agent">B) Service/Infrastructure Agent<a class="headerlink" href="#b-serviceinfrastructure-agent" title="Permanent link">¶</a></h3>
|
||||
<p>Агент, який забезпечує роботу сервісів міста.
|
||||
Приписаний до MicroDAO, де він розміщений (частіше — DAARION).
|
||||
Виконується на конкретних нодах.</p>
|
||||
<h3 id="c-core-city-agent-daarion108">C) Core-City Agent (DAARION108)<a class="headerlink" href="#c-core-city-agent-daarion108" title="Permanent link">¶</a></h3>
|
||||
<p>108 агентів-експертів, що працюють для всього міста.
|
||||
<code>service_scope = "city"</code></p>
|
||||
<h3 id="d-orchestrator-agent">D) Orchestrator Agent<a class="headerlink" href="#d-orchestrator-agent" title="Permanent link">¶</a></h3>
|
||||
<p>Агент, що має право створювати MicroDAO.
|
||||
Перехід у Orchestrator створює подію: <code>agent.promoted_to_orchestrator</code>.</p>
|
||||
<hr />
|
||||
<h1 id="3-microdao">3. Новий розділ: «MicroDAO (оновлена модель)»<a class="headerlink" href="#3-microdao" title="Permanent link">¶</a></h1>
|
||||
<h2 id="31">3.1. Структура<a class="headerlink" href="#31" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>microdao_id</code></li>
|
||||
<li><code>type</code>: <code>root</code> | <code>standard</code> | <code>district</code></li>
|
||||
<li><code>primary_orchestrator_agent_id</code></li>
|
||||
<li><code>parent_microdao_id</code> (для district)</li>
|
||||
<li><code>wallet_address</code></li>
|
||||
<li><code>metadata</code></li>
|
||||
</ul>
|
||||
<h2 id="32-microdao">3.2. Інваріанти MicroDAO<a class="headerlink" href="#32-microdao" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>MicroDAO не може існувати без Orchestrator-Agent.</li>
|
||||
<li><code>primary_orchestrator_agent_id</code> завжди існує і валідний.</li>
|
||||
<li>Root MicroDAO «DAARION» існує завжди.</li>
|
||||
<li>District = MicroDAO з розширеними правами.</li>
|
||||
<li>Усі ноди MicroDAO належать лише їй.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="4-node-model">4. Новий розділ: «Node Model»<a class="headerlink" href="#4-node-model" title="Permanent link">¶</a></h1>
|
||||
<h2 id="41">4.1. Структура ноди<a class="headerlink" href="#41" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>node_id</code></li>
|
||||
<li><code>microdao_id</code></li>
|
||||
<li><code>node_kind</code>: <code>smartphone</code>, <code>laptop</code>, <code>edge</code>, <code>datacenter</code>, <code>iot</code>, <code>gpu-cluster</code></li>
|
||||
<li><code>capabilities</code> (json)</li>
|
||||
<li><code>status</code>: <code>provisioning</code>, <code>active</code>, <code>draining</code>, <code>retired</code></li>
|
||||
</ul>
|
||||
<h2 id="42">4.2. Інваріанти<a class="headerlink" href="#42" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Нода завжди належить MicroDAO.</li>
|
||||
<li>Немає абстрактних/віртуальних нод.</li>
|
||||
<li>При реєстрації генерується подія <code>node.registered</code>.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="5-district-model">5. Новий розділ: «District Model»<a class="headerlink" href="#5-district-model" title="Permanent link">¶</a></h1>
|
||||
<h2 id="51-district-microdao-type-district">5.1. District = MicroDAO з type = district<a class="headerlink" href="#51-district-microdao-type-district" title="Permanent link">¶</a></h2>
|
||||
<p>Має розширені можливості:</p>
|
||||
<ul>
|
||||
<li>керування підлеглими MicroDAO,</li>
|
||||
<li>право мати власну мережу нод,</li>
|
||||
<li>роль «платформи» (галузь / район / екосистема).</li>
|
||||
</ul>
|
||||
<h2 id="52-district">5.2. Інваріанти District<a class="headerlink" href="#52-district" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>District не змінює власність нод MicroDAO.</li>
|
||||
<li>District — не новий тип сутності, не нова таблиця.</li>
|
||||
<li>Перехід MicroDAO → District фіксується подією <code>microdao.promoted_to_district</code>.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="6-assignment-layer-microdao">6. Новий розділ: «Assignment Layer (агенти, які працюють у різних MicroDAO)»<a class="headerlink" href="#6-assignment-layer-microdao" title="Permanent link">¶</a></h1>
|
||||
<h2 id="61">6.1. Призначення<a class="headerlink" href="#61" title="Permanent link">¶</a></h2>
|
||||
<p>Деякі агенти можуть:</p>
|
||||
<ul>
|
||||
<li>працювати у чужих MicroDAO,</li>
|
||||
<li>виконувати ролі у District,</li>
|
||||
<li>діяти від імені міста (DAARION108).</li>
|
||||
</ul>
|
||||
<h2 id="62-agent_assignment">6.2. Структура сутності agent_assignment<a class="headerlink" href="#62-agent_assignment" title="Permanent link">¶</a></h2>
|
||||
<div class="codehilite"><pre><span></span><code><span class="nt">agent_assignment</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="nt">id</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">uuid</span>
|
||||
<span class="w"> </span><span class="nt">agent_id</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">string</span>
|
||||
<span class="w"> </span><span class="nt">target_microdao_id</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">string</span>
|
||||
<span class="w"> </span><span class="nt">scope</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">microdao | district | city</span>
|
||||
<span class="w"> </span><span class="nt">role</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">advisor | security | mentor | ops | core-team</span>
|
||||
<span class="w"> </span><span class="nt">start_ts</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">datetime</span>
|
||||
<span class="w"> </span><span class="nt">end_ts</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">datetime</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="63-assignment">6.3. Інваріанти Assignment<a class="headerlink" href="#63-assignment" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Assignment не змінює перманентну приписку агента (<code>home_microdao_id</code>).</li>
|
||||
<li>Assignment є записом «тимчасової роботи/сервісу».</li>
|
||||
<li>DAARION108 мають <code>scope = city</code>.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="7-microdao">7. Оновлення існуючих розділів документа microdao<a class="headerlink" href="#7-microdao" title="Permanent link">¶</a></h1>
|
||||
<p>Cursor при інтеграції повинен додати:</p>
|
||||
<h2 id="71-agents">7.1. У розділ «Agents»<a class="headerlink" href="#71-agents" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>поля: <code>home_microdao_id</code>, <code>home_node_id</code>, <code>service_scope</code></li>
|
||||
<li>ролі: <code>regular</code>, <code>orchestrator</code></li>
|
||||
<li>типи агентів (Personal, Service, Core-City)</li>
|
||||
</ul>
|
||||
<h2 id="72-teamsmicrodao">7.2. У розділ «Teams/MicroDAO»<a class="headerlink" href="#72-teamsmicrodao" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>обов'язкове поле <code>primary_orchestrator_agent_id</code></li>
|
||||
<li><code>type = root | standard | district</code></li>
|
||||
<li><code>parent_microdao_id</code></li>
|
||||
<li>уточнення про DAARION (root)</li>
|
||||
</ul>
|
||||
<h2 id="73-nodes">7.3. У розділ «Nodes»<a class="headerlink" href="#73-nodes" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>додати інваріанти</li>
|
||||
<li>додати типи нод</li>
|
||||
<li>заборону абстрактних нод</li>
|
||||
</ul>
|
||||
<h2 id="74-governance">7.4. У розділ «Governance»<a class="headerlink" href="#74-governance" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>правило: MicroDAO створюється лише Orchestrator-Agent</li>
|
||||
<li>District — це не окрема таблиця</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="8">8. Підсумок патча<a class="headerlink" href="#8" title="Permanent link">¶</a></h1>
|
||||
<p>Після інтеграції цього патча:</p>
|
||||
<ul>
|
||||
<li>онтологія DAARION вплетена в microdao,</li>
|
||||
<li>всі сутності мають однакову семантику в документах та коді,</li>
|
||||
<li>нові типи агентів (service, core-city) офіційно описані,</li>
|
||||
<li>модель Assignment додана,</li>
|
||||
<li>MicroDAO, Node та District узгоджені з фундаментальним баченням,</li>
|
||||
<li>існуючі системи не змінюються, тільки розширюються.</li>
|
||||
</ul>
|
||||
<p>Документ №3 завершений.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
870
site/foundation/User_Onboarding_And_Identity_Layer_v1/index.html
Normal file
870
site/foundation/User_Onboarding_And_Identity_Layer_v1/index.html
Normal file
@@ -0,0 +1,870 @@
|
||||
|
||||
<!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/foundation/User_Onboarding_And_Identity_Layer_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>User_Onboarding_And_Identity_Layer_v1.md - 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="#user_onboarding_and_identity_layer_v1md" 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">
|
||||
|
||||
User_Onboarding_And_Identity_Layer_v1.md
|
||||
|
||||
</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="#daarioncity-user-onboarding-identity-layer-dais" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
DAARION.city — User Onboarding & Identity Layer (DAIS)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="user_onboarding_and_identity_layer_v1md">User_Onboarding_And_Identity_Layer_v1.md<a class="headerlink" href="#user_onboarding_and_identity_layer_v1md" title="Permanent link">¶</a></h1>
|
||||
<h2 id="daarioncity-user-onboarding-identity-layer-dais">DAARION.city — User Onboarding & Identity Layer (DAIS)<a class="headerlink" href="#daarioncity-user-onboarding-identity-layer-dais" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Version:</strong> 1.0
|
||||
<strong>Status:</strong> Core Spec (Foundation Update)
|
||||
<strong>Scope:</strong> Реєстрація користувача, створення агентів, DAIS, wallet-логін, Orchestrator, MicroDAO</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета документа<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Цей документ описує <strong>повний процес онбордингу користувача</strong> в DAARION.city:</p>
|
||||
<ul>
|
||||
<li>реєстрацію → DAIS-профіль → Agent → Orchestrator → MicroDAO;</li>
|
||||
<li>Email-OTP та Magic Link;</li>
|
||||
<li>Web3 Wallet login та SIWE;</li>
|
||||
<li>правила доступу, ролі та підвищення;</li>
|
||||
<li>зберігання та синхронізацію ідентичностей;</li>
|
||||
<li>формування кабінету агента;</li>
|
||||
<li>перевірку токенів та прав на створення MicroDAO.</li>
|
||||
</ul>
|
||||
<p>Документ створено як <strong>неламке оновлення архітектури (non-breaking)</strong>.</p>
|
||||
<hr />
|
||||
<h1 id="1">1. Загальний огляд онбордингу<a class="headerlink" href="#1" title="Permanent link">¶</a></h1>
|
||||
<p>Онбординг DAARION.city складається з трьох рівнів:</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p><strong>DAIS Identity Layer</strong>
|
||||
— email, wallet, DID, keys → єдиний цифровий профіль.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Agent Creation Layer</strong>
|
||||
— автоматичне створення агента + кабінету при першій реєстрації.</p>
|
||||
</li>
|
||||
<li>
|
||||
<p><strong>Orchestrator → MicroDAO Layer</strong>
|
||||
— підвищення агента + створення MicroDAO за умовами доступу.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>Це забезпечує інтуїтивний UX та жорстку архітектурну дисципліну.</p>
|
||||
<hr />
|
||||
<h1 id="2-dais-identity-layer">2. DAIS Identity Layer<a class="headerlink" href="#2-dais-identity-layer" title="Permanent link">¶</a></h1>
|
||||
<p>DAIS = <strong>DAARION Autonomous Identity System</strong>.
|
||||
Це єдиний простір ідентифікації для людей, агентів і MicroDAO.</p>
|
||||
<h2 id="21-dais-">2.1. Структура DAIS-ідентичності<a class="headerlink" href="#21-dais-" title="Permanent link">¶</a></h2>
|
||||
<p>DAIS-ідентичність містить:</p>
|
||||
<ul>
|
||||
<li><strong>email-identities</strong> (1..N)</li>
|
||||
<li><strong>wallet-identities</strong> (EVM / SIWE)</li>
|
||||
<li><strong>telegram / TON identities</strong> (майбутнє)</li>
|
||||
<li><strong>DID / Matrix identity</strong></li>
|
||||
<li><strong>public keys</strong> (Ed25519 / secp256k1 / X25519)</li>
|
||||
<li><strong>signature domains</strong> (підписи для сервісів)</li>
|
||||
<li><strong>recovery options</strong></li>
|
||||
</ul>
|
||||
<h2 id="22-dais">2.2. Інваріанти DAIS<a class="headerlink" href="#22-dais" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
<li>Один користувач = одна DAIS-ідентичність.</li>
|
||||
<li>DAIS-профіль може мати багато email'ів і багато wallet'ів.</li>
|
||||
<li>DAIS-профіль створюється <strong>до</strong> створення агента.</li>
|
||||
<li>DAIS-профіль не може бути видалений, тільки ротується/оновлюється.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="3">3. Реєстрація та автентифікація<a class="headerlink" href="#3" title="Permanent link">¶</a></h1>
|
||||
<p>DAARION.city підтримує два базові методи входу:</p>
|
||||
<h2 id="31-email-otp-one-time-password">3.1. Email-OTP (One-Time Password)<a class="headerlink" href="#31-email-otp-one-time-password" title="Permanent link">¶</a></h2>
|
||||
<p>Флоу:</p>
|
||||
<ol>
|
||||
<li>Користувач вводить email.</li>
|
||||
<li>Отримує одноразовий код (OTP).</li>
|
||||
<li>Підтверджує код.</li>
|
||||
<li>Створюється/активується DAIS-profile.</li>
|
||||
<li>Створюється Agent + кабінет.</li>
|
||||
</ol>
|
||||
<p>Переваги:</p>
|
||||
<ul>
|
||||
<li>Zero-password.</li>
|
||||
<li>Найменший бар'єр входу.</li>
|
||||
<li>Підходить для всіх типів користувачів.</li>
|
||||
</ul>
|
||||
<h2 id="32-magic-link">3.2. Magic Link<a class="headerlink" href="#32-magic-link" title="Permanent link">¶</a></h2>
|
||||
<p>Флоу:</p>
|
||||
<ol>
|
||||
<li>Користувач вводить email.</li>
|
||||
<li>Отримує магічне посилання.</li>
|
||||
<li>Перехід → автоматичний вхід.</li>
|
||||
<li>Створюється DAIS-profile → Agent.</li>
|
||||
</ol>
|
||||
<h2 id="33-web3-wallet-login-siwe">3.3. Web3 Wallet Login (SIWE)<a class="headerlink" href="#33-web3-wallet-login-siwe" title="Permanent link">¶</a></h2>
|
||||
<p>Підтримка: MetaMask, Rabby, WalletConnect.</p>
|
||||
<p>Флоу:</p>
|
||||
<ol>
|
||||
<li>Користувач підключає EVM-гаманець.</li>
|
||||
<li>Підписує SIWE-повідомлення.</li>
|
||||
<li>Створюється/активується DAIS-profile.</li>
|
||||
<li>Гаманець стає частиною DAIS-ідентичності.</li>
|
||||
<li>Створюється Agent.</li>
|
||||
</ol>
|
||||
<h2 id="34-email-wallet">3.4. Синхронізація Email + Wallet<a class="headerlink" href="#34-email-wallet" title="Permanent link">¶</a></h2>
|
||||
<p>Будь-який окремий метод додає ідентичність у DAIS.
|
||||
При об'єднанні email і wallet → DAIS залишається єдиною сутністю.</p>
|
||||
<hr />
|
||||
<h1 id="4-agent-creation-layer">4. Створення Агентів (Agent Creation Layer)<a class="headerlink" href="#4-agent-creation-layer" title="Permanent link">¶</a></h1>
|
||||
<h2 id="41-agent">4.1. Коли створюється Agent<a class="headerlink" href="#41-agent" title="Permanent link">¶</a></h2>
|
||||
<p>Agent створюється автоматично при:</p>
|
||||
<ul>
|
||||
<li>першому вході через email OTP,</li>
|
||||
<li>або першій верифікованій SIWE-сесії,</li>
|
||||
<li>або при Telegram/TON-верифікації в майбутньому.</li>
|
||||
</ul>
|
||||
<h2 id="42">4.2. Агент отримує:<a class="headerlink" href="#42" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>agent_id</code></li>
|
||||
<li><code>home_microdao_id = DAARION (root)</code></li>
|
||||
<li><code>home_node_id = DAARION-root-node</code></li>
|
||||
<li>DAIS-прив'язку</li>
|
||||
<li>Кабінет агента</li>
|
||||
<li>Роль: <code>regular</code></li>
|
||||
</ul>
|
||||
<h2 id="43">4.3. Кабінет агента включає:<a class="headerlink" href="#43" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Wallet overview</li>
|
||||
<li>Email overview</li>
|
||||
<li>Agent avatar / profile</li>
|
||||
<li>Список підключених нод</li>
|
||||
<li>Доступні сервіси</li>
|
||||
<li>Статус до MicroDAO</li>
|
||||
<li>Кнопку «Стати Оркестратором»</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="5-orchestrator-orchestrator-promotion">5. Перехід у Orchestrator (Orchestrator Promotion)<a class="headerlink" href="#5-orchestrator-orchestrator-promotion" title="Permanent link">¶</a></h1>
|
||||
<p>Це ключовий момент.</p>
|
||||
<p>Користувач <strong>не може</strong> створити MicroDAO, поки:</p>
|
||||
<ul>
|
||||
<li>не має агента,</li>
|
||||
<li>не має оркестраторської ролі,</li>
|
||||
<li>не виконав умови допуску.</li>
|
||||
</ul>
|
||||
<h2 id="51">5.1. Флоу переходу<a class="headerlink" href="#51" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
<li>Користувач натискає «Стати Оркестратором».</li>
|
||||
<li>Система перевіряє <strong>умови доступу</strong>.</li>
|
||||
<li>Якщо всі умови виконано → підвищення агента.</li>
|
||||
<li>Генерується подія <code>agent.promoted_to_orchestrator</code>.</li>
|
||||
<li>Роль агента = <code>orchestrator</code>.</li>
|
||||
<li>Відкривається Wizard створення MicroDAO.</li>
|
||||
</ol>
|
||||
<h2 id="52">5.2. Умови допуску<a class="headerlink" href="#52" title="Permanent link">¶</a></h2>
|
||||
<p>Умови встановлюються governance DAARION і можуть включати:</p>
|
||||
<ul>
|
||||
<li>прив'язаний Web3-гаманець;</li>
|
||||
<li>наявність основного токена (DAAR / DAARION);</li>
|
||||
<li>спеціальний NFT (Founder / Builder / Citizen);</li>
|
||||
<li>підтверджений email (обов'язково);</li>
|
||||
<li>мінімальний рівень довіри DAIS;</li>
|
||||
<li>проста верифікація через Matrix/Telegram.</li>
|
||||
</ul>
|
||||
<h2 id="53-orchestrator">5.3. Інваріанти Orchestrator<a class="headerlink" href="#53-orchestrator" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
<li>Кожен Orchestrator — це Agent, але не кожен Agent є Orchestrator.</li>
|
||||
<li>Підвищення — це <strong>одна подія</strong> на агент (необоротна, але можна «заморозити» вручну).</li>
|
||||
<li>Orchestrator може створити багато MicroDAO.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="6-microdao">6. Створення MicroDAO<a class="headerlink" href="#6-microdao" title="Permanent link">¶</a></h1>
|
||||
<p>Коли агент стає Orchestrator → доступний Wizard створення MicroDAO.</p>
|
||||
<h2 id="61">6.1. Флоу<a class="headerlink" href="#61" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
<li>Старт Wizard: назва, опис, цілі, аватар.</li>
|
||||
<li>Прив'язка DAIS-гаманця MicroDAO.</li>
|
||||
<li>Створення запису <code>microdao_id</code>.</li>
|
||||
<li><code>primary_orchestrator_agent_id = цей агент</code>.</li>
|
||||
<li>Ініціалізація governance.</li>
|
||||
<li>Створення простору MicroDAO (канали, кімнати).</li>
|
||||
<li>Генерується подія <code>microdao.created</code>.</li>
|
||||
<li>Користувач переходить у кабінет MicroDAO.</li>
|
||||
</ol>
|
||||
<h2 id="62-microdao">6.2. Інваріанти MicroDAO в онбордингу<a class="headerlink" href="#62-microdao" title="Permanent link">¶</a></h2>
|
||||
<ol>
|
||||
<li>Немає MicroDAO без Orchestrator-Agent.</li>
|
||||
<li>MicroDAO створюється саме в момент запуску Wizard, а не раніше.</li>
|
||||
<li>Доступ до створення MicroDAO має лише Orchestrator.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="7-microdao">7. Після створення MicroDAO: реєстрація нод<a class="headerlink" href="#7-microdao" title="Permanent link">¶</a></h1>
|
||||
<p>MicroDAO одразу отримує можливість:</p>
|
||||
<ul>
|
||||
<li>реєструвати ноди,</li>
|
||||
<li>прив'язувати пристрої,</li>
|
||||
<li>запускати сервісних агентів.</li>
|
||||
</ul>
|
||||
<p>Флоу:</p>
|
||||
<ol>
|
||||
<li>Orchestrator заходить у MicroDAO → Nodes.</li>
|
||||
<li>Обирає «Зареєструвати Ноду».</li>
|
||||
<li>Тип ноди: смартфон, ноут, сервер, IoT, GPU-кластер.</li>
|
||||
<li>Автентифікація через DAIS-ключ.</li>
|
||||
<li>Створюється запис <code>node_id</code>.</li>
|
||||
<li>Генерується подія <code>node.registered</code>.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="8">8. Значення онбордингу для онтології<a class="headerlink" href="#8" title="Permanent link">¶</a></h1>
|
||||
<p>Оновлений онбординг:</p>
|
||||
<ul>
|
||||
<li><strong>повністю відповідає онтології</strong> Agent → MicroDAO → Node → District</li>
|
||||
<li>не ламає поточний UI (кнопка «Створити MicroDAO» зберігається)</li>
|
||||
<li>
|
||||
<p>додає строгий порядок:</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>DAIS Identity</p>
|
||||
</li>
|
||||
<li>Agent</li>
|
||||
<li>Orchestrator</li>
|
||||
<li>MicroDAO</li>
|
||||
<li>Node</li>
|
||||
<li>District (опційно)</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="9-stream-nats">9. Події Stream (NATS)<a class="headerlink" href="#9-stream-nats" title="Permanent link">¶</a></h1>
|
||||
<p>Під час онбордингу фіксуються ключові події:</p>
|
||||
<ol>
|
||||
<li><code>dais.identity_created</code></li>
|
||||
<li><code>agent.created</code></li>
|
||||
<li><code>agent.promoted_to_orchestrator</code></li>
|
||||
<li><code>microdao.created</code></li>
|
||||
<li><code>node.registered</code></li>
|
||||
<li>(опційно) <code>microdao.promoted_to_district</code></li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="10">10. Резюме<a class="headerlink" href="#10" title="Permanent link">¶</a></h1>
|
||||
<p>Оновлений онбординг DAARION забезпечує:</p>
|
||||
<ul>
|
||||
<li>єдину ідентичність DAIS</li>
|
||||
<li>автоматичне створення агента</li>
|
||||
<li>чіткі умови доступу для Orchestrator</li>
|
||||
<li>чисту модель MicroDAO</li>
|
||||
<li>логічний шлях до реєстрації нод</li>
|
||||
<li>сумісність з майбутнім District Layer</li>
|
||||
<li>UX, що не ламає існуючих сценаріїв</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<p>Документ №2 завершено.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
669
site/foundation/helpers/agent-types-matrix/index.html
Normal file
669
site/foundation/helpers/agent-types-matrix/index.html
Normal file
@@ -0,0 +1,669 @@
|
||||
|
||||
<!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/foundation/helpers/agent-types-matrix/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>Agent Types Matrix - 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="#agent-types-matrix" 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">
|
||||
|
||||
Agent Types Matrix
|
||||
|
||||
</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">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="agent-types-matrix">Agent Types Matrix<a class="headerlink" href="#agent-types-matrix" title="Permanent link">¶</a></h1>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Тип агента</th>
|
||||
<th>Опис</th>
|
||||
<th>Приписка</th>
|
||||
<th>Scope</th>
|
||||
<th>Може створити MicroDAO</th>
|
||||
<th>Може працювати у чужих MicroDAO</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Personal Agent</td>
|
||||
<td>Агент користувача</td>
|
||||
<td>обов'язково (до DAARION)</td>
|
||||
<td>microdao</td>
|
||||
<td>ні</td>
|
||||
<td>через assignment</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Service Agent</td>
|
||||
<td>Технічний агент</td>
|
||||
<td>до MicroDAO, де розгорнутий</td>
|
||||
<td>microdao / district</td>
|
||||
<td>ні</td>
|
||||
<td>так, якщо assignment</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Infrastructure Agent</td>
|
||||
<td>gateway/bridge/monitor</td>
|
||||
<td>DAARION</td>
|
||||
<td>district/city</td>
|
||||
<td>ні</td>
|
||||
<td>так</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Core-City Agent (DAARION108)</td>
|
||||
<td>міська команда</td>
|
||||
<td>DAARION</td>
|
||||
<td>city</td>
|
||||
<td>ні</td>
|
||||
<td>так (auto)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Orchestrator Agent</td>
|
||||
<td>має доступ до створення MicroDAO</td>
|
||||
<td>своя MicroDAO</td>
|
||||
<td>microdao</td>
|
||||
<td><strong>так</strong></td>
|
||||
<td>ні</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
41
site/foundation/helpers/event-schemas.json
Normal file
41
site/foundation/helpers/event-schemas.json
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"agent.promoted_to_orchestrator": {
|
||||
"agent_id": "string",
|
||||
"timestamp": "datetime"
|
||||
},
|
||||
"microdao.created": {
|
||||
"microdao_id": "string",
|
||||
"primary_orchestrator_agent_id": "string",
|
||||
"type": "root | standard | district",
|
||||
"parent_microdao_id": "string|null",
|
||||
"timestamp": "datetime"
|
||||
},
|
||||
"node.registered": {
|
||||
"node_id": "string",
|
||||
"microdao_id": "string",
|
||||
"node_kind": "smartphone|laptop|edge|datacenter|iot|gpu-cluster",
|
||||
"capabilities": "object",
|
||||
"timestamp": "datetime"
|
||||
},
|
||||
"microdao.promoted_to_district": {
|
||||
"microdao_id": "string",
|
||||
"promoted_by_agent_id": "string",
|
||||
"parent_microdao_id": "string",
|
||||
"timestamp": "datetime"
|
||||
},
|
||||
"agent.assignment_created": {
|
||||
"assignment_id": "string",
|
||||
"agent_id": "string",
|
||||
"target_microdao_id": "string",
|
||||
"scope": "microdao|district|city",
|
||||
"role": "string",
|
||||
"metadata": "object",
|
||||
"timestamp": "datetime"
|
||||
},
|
||||
"agent.assignment_ended": {
|
||||
"assignment_id": "string",
|
||||
"agent_id": "string",
|
||||
"timestamp": "datetime"
|
||||
}
|
||||
}
|
||||
|
||||
630
site/foundation/helpers/microdao-lifecycle/index.html
Normal file
630
site/foundation/helpers/microdao-lifecycle/index.html
Normal file
@@ -0,0 +1,630 @@
|
||||
|
||||
<!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/foundation/helpers/microdao-lifecycle/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>MicroDAO Lifecycle - 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="#microdao-lifecycle" 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">
|
||||
|
||||
MicroDAO Lifecycle
|
||||
|
||||
</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">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="microdao-lifecycle">MicroDAO Lifecycle<a class="headerlink" href="#microdao-lifecycle" title="Permanent link">¶</a></h1>
|
||||
<ol>
|
||||
<li>Agent creates DAIS Identity </li>
|
||||
<li>Agent is created (home = DAARION) </li>
|
||||
<li>Agent becomes Orchestrator </li>
|
||||
<li>Orchestrator runs MicroDAO Creation Wizard </li>
|
||||
<li><code>microdao.created</code> event emitted </li>
|
||||
<li>MicroDAO governance initialized </li>
|
||||
<li>Orchestrator registers nodes </li>
|
||||
<li><code>node.registered</code> events emitted </li>
|
||||
<li>MicroDAO grows (members, rooms, agents) </li>
|
||||
<li>(optional) MicroDAO promoted to District </li>
|
||||
<li><code>microdao.promoted_to_district</code> event </li>
|
||||
<li>District manages sub-MicroDAO network </li>
|
||||
<li>MicroDAO can be archived (future)</li>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
627
site/foundation/helpers/node-lifecycle/index.html
Normal file
627
site/foundation/helpers/node-lifecycle/index.html
Normal file
@@ -0,0 +1,627 @@
|
||||
|
||||
<!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/foundation/helpers/node-lifecycle/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>Node Lifecycle - 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="#node-lifecycle" 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">
|
||||
|
||||
Node Lifecycle
|
||||
|
||||
</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">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="node-lifecycle">Node Lifecycle<a class="headerlink" href="#node-lifecycle" title="Permanent link">¶</a></h1>
|
||||
<ol>
|
||||
<li>Orchestrator triggers "Register Node" </li>
|
||||
<li>Device generates DAIS node-auth key </li>
|
||||
<li>MicroDAO verifies key ownership </li>
|
||||
<li><code>node.registered</code> event emitted </li>
|
||||
<li>Node enters "provisioning" state </li>
|
||||
<li>Agent workers start connecting </li>
|
||||
<li>Node becomes "active" </li>
|
||||
<li>Node can be updated (capabilities change) </li>
|
||||
<li>Node enters "draining" before shutdown </li>
|
||||
<li>Node becomes "retired"</li>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
18
site/foundation/helpers/onboarding-flow-diagram.mermaid
Normal file
18
site/foundation/helpers/onboarding-flow-diagram.mermaid
Normal file
@@ -0,0 +1,18 @@
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[User visits DAARION.city] --> B{Login method}
|
||||
B -->|Email OTP| C[Create/Activate DAIS Identity]
|
||||
B -->|Magic Link| C
|
||||
B -->|Web3 Wallet (SIWE)| C
|
||||
C --> D[Create Agent (home_microdao = DAARION)]
|
||||
D --> E[Agent Console]
|
||||
E --> F{Become Orchestrator?}
|
||||
F -->|Yes| G[Check Access Conditions (wallet, tokens)]
|
||||
G -->|Pass| H[agent.promoted_to_orchestrator]
|
||||
H --> I[MicroDAO Creation Wizard]
|
||||
I --> J[microdao.created]
|
||||
J --> K[NODE REGISTRATION]
|
||||
K --> L[node.registered]
|
||||
L --> M[MicroDAO Operational]
|
||||
```
|
||||
|
||||
732
site/foundation/helpers/ontology-summary/index.html
Normal file
732
site/foundation/helpers/ontology-summary/index.html
Normal file
@@ -0,0 +1,732 @@
|
||||
|
||||
<!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/foundation/helpers/ontology-summary/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>DAARION Ontology — TL;DR - 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="#daarion-ontology-tldr" 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">
|
||||
|
||||
DAARION Ontology — TL;DR
|
||||
|
||||
</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="#1" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
1. Основна лінія походження
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#2" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
2. Визначення сутностей
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="2. Визначення сутностей">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#agent" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Agent
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#microdao" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
MicroDAO
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#node" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Node
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#district" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
District
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#3-assignment-layer" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
3. Assignment Layer
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="daarion-ontology-tldr">DAARION Ontology — TL;DR<a class="headerlink" href="#daarion-ontology-tldr" title="Permanent link">¶</a></h1>
|
||||
<h2 id="1">1. Основна лінія походження<a class="headerlink" href="#1" title="Permanent link">¶</a></h2>
|
||||
<p><code>Agent → MicroDAO → Node → District</code></p>
|
||||
<h2 id="2">2. Визначення сутностей<a class="headerlink" href="#2" title="Permanent link">¶</a></h2>
|
||||
<h3 id="agent">Agent<a class="headerlink" href="#agent" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>персональний або сервісний ШІ-агент;</li>
|
||||
<li>має DAIS-ідентичність (email + wallet + DID);</li>
|
||||
<li>завжди приписаний до <code>home_microdao_id</code>;</li>
|
||||
<li>має <code>role: regular | orchestrator</code>;</li>
|
||||
<li>має <code>service_scope: microdao | district | city</code>.</li>
|
||||
</ul>
|
||||
<h3 id="microdao">MicroDAO<a class="headerlink" href="#microdao" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>мікро-спільнота, команда або проєкт;</li>
|
||||
<li>типи: <code>root</code>, <code>standard</code>, <code>district</code>;</li>
|
||||
<li>має <code>primary_orchestrator_agent_id</code>;</li>
|
||||
<li>може мати ноди;</li>
|
||||
<li>може бути підвищена до District.</li>
|
||||
</ul>
|
||||
<h3 id="node">Node<a class="headerlink" href="#node" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>реальний пристрій (smartphone, laptop, edge, datacenter, iot, gpu-cluster);</li>
|
||||
<li>завжди належить MicroDAO (<code>microdao_id</code>);</li>
|
||||
<li>має <code>capabilities</code>, <code>status</code>.</li>
|
||||
</ul>
|
||||
<h3 id="district">District<a class="headerlink" href="#district" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>MicroDAO з <code>type = district</code>;</li>
|
||||
<li>має розширені повноваження для підлеглих MicroDAO;</li>
|
||||
<li>керує підмережами нод.</li>
|
||||
</ul>
|
||||
<h2 id="3-assignment-layer">3. Assignment Layer<a class="headerlink" href="#3-assignment-layer" title="Permanent link">¶</a></h2>
|
||||
<p>Описує, де агент <em>працює</em>, не змінюючи приписку.</p>
|
||||
<p>Поля:</p>
|
||||
<ul>
|
||||
<li><code>agent_id</code></li>
|
||||
<li><code>target_microdao_id</code></li>
|
||||
<li><code>scope</code> (<code>microdao</code> | <code>district</code> | <code>city</code>)</li>
|
||||
<li><code>role</code> (<code>advisor</code> | <code>ops</code> | <code>security</code> | <code>mentor</code> | <code>core-team</code>)</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
916
site/foundation/index.html
Normal file
916
site/foundation/index.html
Normal file
@@ -0,0 +1,916 @@
|
||||
|
||||
<!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/foundation/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>Foundation Documentation - 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="#foundation-documentation" 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">
|
||||
|
||||
Foundation Documentation
|
||||
|
||||
</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="#foundation_update-complete" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Статус: ✅ FOUNDATION_UPDATE Complete
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#15" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Основні документи (15)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Основні документи (15)">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#1-7" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Онтологія та ідентичність (1-7)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#rooms-governance-8-15" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Rooms, інтерфейси та Governance (8-15)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#helper-helpers-6" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Helper-файли (helpers/) — 6
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#patches-1" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Патчі (patches/) — 1
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_1" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Перехресні посилання
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Перехресні посилання">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_2" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Ключові зв'язки:
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#_3" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Використання
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#task-reference" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Task Reference
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="foundation-documentation">Foundation Documentation<a class="headerlink" href="#foundation-documentation" title="Permanent link">¶</a></h1>
|
||||
<p>Цей каталог містить <strong>джерело істини</strong> для DAARION.city — повну онтологію, моделі даних, Governance, Identity (DAIS), Rooms Layer та інтерфейси City/MicroDAO/Agents/Nodes.</p>
|
||||
<hr />
|
||||
<h2 id="foundation_update-complete">Статус: ✅ FOUNDATION_UPDATE Complete<a class="headerlink" href="#foundation_update-complete" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Всього файлів:</strong> 22 (15 основних + 6 helpers + 1 patch)</p>
|
||||
<hr />
|
||||
<h2 id="15">Основні документи (15)<a class="headerlink" href="#15" title="Permanent link">¶</a></h2>
|
||||
<h3 id="1-7">Онтологія та ідентичність (1-7)<a class="headerlink" href="#1-7" title="Permanent link">¶</a></h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>№</th>
|
||||
<th>Файл</th>
|
||||
<th>Опис</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td><a href="DAARION_Ontology_Core_v1/"><code>DAARION_Ontology_Core_v1.md</code></a></td>
|
||||
<td>Базова онтологія Agent → MicroDAO → Node → District</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td><a href="User_Onboarding_And_Identity_Layer_v1/"><code>User_Onboarding_And_Identity_Layer_v1.md</code></a></td>
|
||||
<td>Реєстрація, DAIS, email/wallet login, Orchestrator</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td><a href="Technical_Description_microdao_PATCH_Ontology/"><code>Technical_Description_microdao_PATCH_Ontology.md</code></a></td>
|
||||
<td>Патч онтології до існуючого Technical Description</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4</td>
|
||||
<td><a href="microdao_Data_Model_UPDATE_v1/"><code>microdao_Data_Model_UPDATE_v1.md</code></a></td>
|
||||
<td>Оновлена модель даних: agents, microdaos, nodes, assignments</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5</td>
|
||||
<td><a href="microdao_Event_Catalog_EXTENDED_v1/"><code>microdao_Event_Catalog_EXTENDED_v1.md</code></a></td>
|
||||
<td>Каталог подій NATS: lifecycle, assignment events</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6</td>
|
||||
<td><a href="microdao_Governance_And_Permissions_v1/"><code>microdao_Governance_And_Permissions_v1.md</code></a></td>
|
||||
<td>Ролі, ACL, governance MicroDAO/District</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>7</td>
|
||||
<td><a href="DAARION_Identity_And_Access_Draft_v1/"><code>DAARION_Identity_And_Access_Draft_v1.md</code></a></td>
|
||||
<td>DAIS як IAM: DID, keys, wallets, trust levels</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="rooms-governance-8-15">Rooms, інтерфейси та Governance (8-15)<a class="headerlink" href="#rooms-governance-8-15" title="Permanent link">¶</a></h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>№</th>
|
||||
<th>Файл</th>
|
||||
<th>Опис</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>8</td>
|
||||
<td><a href="Rooms_Layer_Architecture_v1/"><code>Rooms_Layer_Architecture_v1.md</code></a></td>
|
||||
<td>City/MicroDAO/District rooms, portals, 2D/3D</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>9</td>
|
||||
<td><a href="MicroDAO_Interface_Architecture_v1/"><code>MicroDAO_Interface_Architecture_v1.md</code></a></td>
|
||||
<td>UI MicroDAO: Dashboard, Rooms, Projects, Agents, Nodes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>10</td>
|
||||
<td><a href="City_Interface_Architecture_v1/"><code>City_Interface_Architecture_v1.md</code></a></td>
|
||||
<td>City Square, DARIO/DARIA, public rooms, portals</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>11</td>
|
||||
<td><a href="Agents_Interface_Architecture_v1/"><code>Agents_Interface_Architecture_v1.md</code></a></td>
|
||||
<td>Agent-centric UI: primary/team agents, кабінети</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>12</td>
|
||||
<td><a href="Nodes_Interface_Architecture_v1/"><code>Nodes_Interface_Architecture_v1.md</code></a></td>
|
||||
<td>Node dashboards, registration, health, DAGI Mesh</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>13</td>
|
||||
<td><a href="District_Interface_Architecture_v1/"><code>District_Interface_Architecture_v1.md</code></a></td>
|
||||
<td>District Layer: Campus Map, Sub-DAOs, Portals</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>14</td>
|
||||
<td><a href="DAIS_Layer_Architecture_v1/"><code>DAIS_Layer_Architecture_v1.md</code></a></td>
|
||||
<td>DAIS Identity System: Keys, Wallets, Lifecycle</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>15</td>
|
||||
<td><a href="Agent_Governance_Protocol_v1/"><code>Agent_Governance_Protocol_v1.md</code></a></td>
|
||||
<td><strong>NEW</strong> Governance Layer: Ролі, влада, правила, revocation</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr />
|
||||
<h2 id="helper-helpers-6">Helper-файли (<code>helpers/</code>) — 6<a class="headerlink" href="#helper-helpers-6" title="Permanent link">¶</a></h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Файл</th>
|
||||
<th>Опис</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="helpers/ontology-summary/"><code>ontology-summary.md</code></a></td>
|
||||
<td>TL;DR онтології</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="helpers/onboarding-flow-diagram.mermaid"><code>onboarding-flow-diagram.mermaid</code></a></td>
|
||||
<td>Mermaid-діаграма онбордингу</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="helpers/agent-types-matrix/"><code>agent-types-matrix.md</code></a></td>
|
||||
<td>Матриця типів агентів та їх прав</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="helpers/microdao-lifecycle/"><code>microdao-lifecycle.md</code></a></td>
|
||||
<td>Життєвий цикл MicroDAO</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="helpers/node-lifecycle/"><code>node-lifecycle.md</code></a></td>
|
||||
<td>Життєвий цикл Node</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="helpers/event-schemas.json"><code>event-schemas.json</code></a></td>
|
||||
<td>JSON Schema для нових подій</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr />
|
||||
<h2 id="patches-1">Патчі (<code>patches/</code>) — 1<a class="headerlink" href="#patches-1" title="Permanent link">¶</a></h2>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Файл</th>
|
||||
<th>Опис</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="patches/DAARION_Person_Agent_DAIS_CoreTeam_PATCH_v1/"><code>DAARION_Person_Agent_DAIS_CoreTeam_PATCH_v1.md</code></a></td>
|
||||
<td>Human vs Agent, DAIS scope, Core-Team, DAARION108</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr />
|
||||
<h2 id="_1">Перехресні посилання<a class="headerlink" href="#_1" title="Permanent link">¶</a></h2>
|
||||
<div class="codehilite"><pre><span></span><code>Онтологія (1)
|
||||
↓
|
||||
Data Model (4) ←→ Event Catalog (5)
|
||||
↓
|
||||
Governance (6) ←→ Identity & Access (7)
|
||||
↓
|
||||
Onboarding (2) → Agents Interface (11) → MicroDAO Interface (9)
|
||||
↓
|
||||
Rooms Layer (8) → City Interface (10) / Nodes Interface (12)
|
||||
</code></pre></div>
|
||||
|
||||
<h3 id="_2">Ключові зв'язки:<a class="headerlink" href="#_2" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li><strong>Ontology → Data Model → Events</strong> — база для міграцій та синхронізації.</li>
|
||||
<li><strong>Onboarding/Identity → Agents → MicroDAO</strong> — шлях користувача від реєстрації до створення DAO.</li>
|
||||
<li><strong>Rooms Layer → City/MicroDAO/Agents/Nodes</strong> — визначає UI всіх рівнів.</li>
|
||||
<li><strong>Governance → Identity & Access → Nodes</strong> — ACL та інфраструктурні права.</li>
|
||||
<li><strong>Patch</strong> — уточнює Human vs Agent та Core-Team model.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h2 id="_3">Використання<a class="headerlink" href="#_3" title="Permanent link">¶</a></h2>
|
||||
<p>Ці документи є базою для:</p>
|
||||
<ol>
|
||||
<li><strong>TASK_PHASE_FOUNDATION_UPDATE</strong> — поточна фаза ✅</li>
|
||||
<li><strong>Rooms Layer MVP</strong> — реалізація кімнат</li>
|
||||
<li><strong>City/MicroDAO UI</strong> — інтерфейси</li>
|
||||
<li><strong>DAIS Implementation</strong> — Identity & Access</li>
|
||||
<li><strong>DAGI Mesh</strong> — Node management</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h2 id="task-reference">Task Reference<a class="headerlink" href="#task-reference" title="Permanent link">¶</a></h2>
|
||||
<p>📋 <a href="../tasks/TASK_PHASE_FOUNDATION_UPDATE/"><code>docs/tasks/TASK_PHASE_FOUNDATION_UPDATE.md</code></a></p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
830
site/foundation/microdao_Data_Model_UPDATE_v1/index.html
Normal file
830
site/foundation/microdao_Data_Model_UPDATE_v1/index.html
Normal file
@@ -0,0 +1,830 @@
|
||||
|
||||
<!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/foundation/microdao_Data_Model_UPDATE_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>microdao_Data_Model_UPDATE_v1.md - 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="#microdao_data_model_update_v1md" 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">
|
||||
|
||||
microdao_Data_Model_UPDATE_v1.md
|
||||
|
||||
</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="#microdao-data-model-update-foundation-layer" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
microDAO — Data Model Update (Foundation Layer)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="microdao_data_model_update_v1md">microdao_Data_Model_UPDATE_v1.md<a class="headerlink" href="#microdao_data_model_update_v1md" title="Permanent link">¶</a></h1>
|
||||
<h2 id="microdao-data-model-update-foundation-layer">microDAO — Data Model Update (Foundation Layer)<a class="headerlink" href="#microdao-data-model-update-foundation-layer" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Version:</strong> 1.0<br />
|
||||
<strong>Status:</strong> Non-Breaking Schema Extension<br />
|
||||
<strong>Scope:</strong> agents, microdaos, nodes, assignments, capabilities, metadata</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета документа<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Цей документ визначає оновлену модель даних microDAO, яка:</p>
|
||||
<ul>
|
||||
<li>формалізує онтологію DAARION (Agent → MicroDAO → Node → District),</li>
|
||||
<li>вводить нові інваріанти,</li>
|
||||
<li>додає нові сутності та поля,</li>
|
||||
<li>стандартизує JSON-поля <code>capabilities</code> і <code>metadata</code>,</li>
|
||||
<li>додає шар Assignment для агента, який працює в інших MicroDAO,</li>
|
||||
<li>залишається сумісною з існуючою системою (non-breaking).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="1">1. Загальна структура моделі<a class="headerlink" href="#1" title="Permanent link">¶</a></h1>
|
||||
<p>Оновлена модель складається з п’яти головних сутностей:</p>
|
||||
<ol>
|
||||
<li><code>agents</code> (оновлено)</li>
|
||||
<li><code>microdaos</code> (оновлено)</li>
|
||||
<li><code>nodes</code> (оновлено)</li>
|
||||
<li><code>agent_assignments</code> (нова таблиця)</li>
|
||||
<li><code>event_log</code> / outbox (оновлено відповідно до подій)</li>
|
||||
</ol>
|
||||
<p>Усі ці сутності підтримують фундаментальну онтологію DAARION.</p>
|
||||
<hr />
|
||||
<h1 id="2-agents">2. Таблиця <code>agents</code> (оновлена)<a class="headerlink" href="#2-agents" title="Permanent link">¶</a></h1>
|
||||
<p>Призначення: зберігати всіх агентів міста — персональних, сервісних, інфраструктурних, core-city, orchestrator.</p>
|
||||
<h2 id="21">2.1. Поля<a class="headerlink" href="#21" title="Permanent link">¶</a></h2>
|
||||
<div class="codehilite"><pre><span></span><code><span class="n">agents</span><span class="w"> </span><span class="p">(</span>
|
||||
<span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">primary</span><span class="w"> </span><span class="k">key</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">dais_identity_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
|
||||
<span class="w"> </span><span class="c1">-- базова приписка</span>
|
||||
<span class="w"> </span><span class="n">home_microdao_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">references</span><span class="w"> </span><span class="n">microdaos</span><span class="p">(</span><span class="n">id</span><span class="p">),</span>
|
||||
<span class="w"> </span><span class="n">home_node_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">references</span><span class="w"> </span><span class="n">nodes</span><span class="p">(</span><span class="n">id</span><span class="p">),</span>
|
||||
|
||||
<span class="w"> </span><span class="c1">-- роль агента</span>
|
||||
<span class="w"> </span><span class="k">role</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">check</span><span class="w"> </span><span class="p">(</span><span class="k">role</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="s1">'regular'</span><span class="p">,</span><span class="s1">'orchestrator'</span><span class="p">)),</span>
|
||||
|
||||
<span class="w"> </span><span class="c1">-- тип діяльності (розширений шар)</span>
|
||||
<span class="w"> </span><span class="n">service_scope</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">null</span><span class="w"> </span>
|
||||
<span class="w"> </span><span class="k">check</span><span class="w"> </span><span class="p">(</span><span class="n">service_scope</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="s1">'microdao'</span><span class="p">,</span><span class="s1">'district'</span><span class="p">,</span><span class="s1">'city'</span><span class="p">)),</span>
|
||||
|
||||
<span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">jsonb</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="s1">'{}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">created_at</span><span class="w"> </span><span class="n">timestamptz</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="n">now</span><span class="p">()</span>
|
||||
<span class="p">);</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="22">2.2. Опис ключових полів<a class="headerlink" href="#22" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>home_microdao_id</code> — база агента (жорсткий інваріант).</li>
|
||||
<li><code>home_node_id</code> — нода, на якій живе агент (може бути null).</li>
|
||||
<li><code>role</code> — <code>regular</code> або <code>orchestrator</code>.</li>
|
||||
<li><code>service_scope</code> — <code>microdao</code>, <code>district</code>, <code>city</code>.</li>
|
||||
<li><code>metadata</code> — додаткові параметри (аватар, worker-конфіги, теги тощо).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="3-microdaos">3. Таблиця <code>microdaos</code> (оновлена)<a class="headerlink" href="#3-microdaos" title="Permanent link">¶</a></h1>
|
||||
<p>Призначення: зберігати root, standard, district MicroDAO.</p>
|
||||
<h2 id="31">3.1. Поля<a class="headerlink" href="#31" title="Permanent link">¶</a></h2>
|
||||
<div class="codehilite"><pre><span></span><code><span class="n">microdaos</span><span class="w"> </span><span class="p">(</span>
|
||||
<span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">primary</span><span class="w"> </span><span class="k">key</span><span class="p">,</span>
|
||||
|
||||
<span class="w"> </span><span class="k">type</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span>
|
||||
<span class="w"> </span><span class="k">check</span><span class="w"> </span><span class="p">(</span><span class="k">type</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="s1">'root'</span><span class="p">,</span><span class="s1">'standard'</span><span class="p">,</span><span class="s1">'district'</span><span class="p">)),</span>
|
||||
|
||||
<span class="w"> </span><span class="n">primary_orchestrator_agent_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span>
|
||||
<span class="w"> </span><span class="k">references</span><span class="w"> </span><span class="n">agents</span><span class="p">(</span><span class="n">id</span><span class="p">),</span>
|
||||
|
||||
<span class="w"> </span><span class="n">parent_microdao_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">references</span><span class="w"> </span><span class="n">microdaos</span><span class="p">(</span><span class="n">id</span><span class="p">),</span>
|
||||
|
||||
<span class="w"> </span><span class="n">wallet_address</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">jsonb</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="s1">'{}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">created_at</span><span class="w"> </span><span class="n">timestamptz</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="n">now</span><span class="p">()</span>
|
||||
<span class="p">);</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="32">3.2. Інваріанти<a class="headerlink" href="#32" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>MicroDAO не може існувати без <code>primary_orchestrator_agent_id</code>.</li>
|
||||
<li><code>type='root'</code> зарезервовано для DAARION.</li>
|
||||
<li><code>type='district'</code> дає розширені можливості.</li>
|
||||
<li>МікроДАО можуть формувати дерево через <code>parent_microdao_id</code>.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="4-nodes">4. Таблиця <code>nodes</code> (оновлена)<a class="headerlink" href="#4-nodes" title="Permanent link">¶</a></h1>
|
||||
<p>Призначення: зберігати фізичні / логічні вузли виконання DAGI Mesh.</p>
|
||||
<h2 id="41">4.1. Поля<a class="headerlink" href="#41" title="Permanent link">¶</a></h2>
|
||||
<div class="codehilite"><pre><span></span><code><span class="n">nodes</span><span class="w"> </span><span class="p">(</span>
|
||||
<span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">primary</span><span class="w"> </span><span class="k">key</span><span class="p">,</span>
|
||||
|
||||
<span class="w"> </span><span class="n">microdao_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">references</span><span class="w"> </span><span class="n">microdaos</span><span class="p">(</span><span class="n">id</span><span class="p">),</span>
|
||||
|
||||
<span class="w"> </span><span class="n">node_kind</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span>
|
||||
<span class="w"> </span><span class="k">check</span><span class="w"> </span><span class="p">(</span><span class="n">node_kind</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span>
|
||||
<span class="w"> </span><span class="s1">'smartphone'</span><span class="p">,</span><span class="s1">'laptop'</span><span class="p">,</span><span class="s1">'edge'</span><span class="p">,</span><span class="s1">'datacenter'</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s1">'iot'</span><span class="p">,</span><span class="s1">'gpu-cluster'</span>
|
||||
<span class="w"> </span><span class="p">)),</span>
|
||||
|
||||
<span class="w"> </span><span class="n">capabilities</span><span class="w"> </span><span class="n">jsonb</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="s1">'{}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span>
|
||||
|
||||
<span class="w"> </span><span class="n">status</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span>
|
||||
<span class="w"> </span><span class="k">check</span><span class="w"> </span><span class="p">(</span><span class="n">status</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="s1">'provisioning'</span><span class="p">,</span><span class="s1">'active'</span><span class="p">,</span><span class="s1">'draining'</span><span class="p">,</span><span class="s1">'retired'</span><span class="p">)),</span>
|
||||
|
||||
<span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">jsonb</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="s1">'{}'</span><span class="p">::</span><span class="n">jsonb</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="n">created_at</span><span class="w"> </span><span class="n">timestamptz</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="n">now</span><span class="p">()</span>
|
||||
<span class="p">);</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="42">4.2. Інваріанти<a class="headerlink" href="#42" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Node завжди належить конкретній MicroDAO.</li>
|
||||
<li>Node — реальний пристрій (не абстракція).</li>
|
||||
<li>При створенні ноди генерується подія <code>node.registered</code>.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="5-agent_assignments">5. Таблиця <code>agent_assignments</code> (нова)<a class="headerlink" href="#5-agent_assignments" title="Permanent link">¶</a></h1>
|
||||
<p>Призначення: описує, де агент працює (service layer), не змінюючи приписку.</p>
|
||||
<h2 id="51">5.1. Поля<a class="headerlink" href="#51" title="Permanent link">¶</a></h2>
|
||||
<div class="codehilite"><pre><span></span><code><span class="n">agent_assignments</span><span class="w"> </span><span class="p">(</span>
|
||||
<span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="n">uuid</span><span class="w"> </span><span class="k">primary</span><span class="w"> </span><span class="k">key</span><span class="p">,</span>
|
||||
|
||||
<span class="w"> </span><span class="n">agent_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">references</span><span class="w"> </span><span class="n">agents</span><span class="p">(</span><span class="n">id</span><span class="p">),</span>
|
||||
<span class="w"> </span><span class="n">target_microdao_id</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">references</span><span class="w"> </span><span class="n">microdaos</span><span class="p">(</span><span class="n">id</span><span class="p">),</span>
|
||||
|
||||
<span class="w"> </span><span class="k">scope</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span>
|
||||
<span class="w"> </span><span class="k">check</span><span class="w"> </span><span class="p">(</span><span class="k">scope</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="s1">'microdao'</span><span class="p">,</span><span class="s1">'district'</span><span class="p">,</span><span class="s1">'city'</span><span class="p">)),</span>
|
||||
|
||||
<span class="w"> </span><span class="k">role</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="c1">-- advisor/security/mentor/ops/core-team</span>
|
||||
|
||||
<span class="w"> </span><span class="n">start_ts</span><span class="w"> </span><span class="n">timestamptz</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="n">now</span><span class="p">(),</span>
|
||||
<span class="w"> </span><span class="n">end_ts</span><span class="w"> </span><span class="n">timestamptz</span><span class="w"> </span><span class="k">null</span><span class="p">,</span>
|
||||
|
||||
<span class="w"> </span><span class="n">metadata</span><span class="w"> </span><span class="n">jsonb</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">default</span><span class="w"> </span><span class="s1">'{}'</span><span class="p">::</span><span class="n">jsonb</span>
|
||||
<span class="p">);</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="52">5.2. Інваріанти<a class="headerlink" href="#52" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Assignment не змінює <code>home_microdao_id</code>.</li>
|
||||
<li>DAARION108 мають assignments з <code>scope='city'</code>.</li>
|
||||
<li>Service/Infrastructure агенти можуть мати кілька assignments.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="6-json-">6. JSON-структури<a class="headerlink" href="#6-json-" title="Permanent link">¶</a></h1>
|
||||
<h2 id="61-capabilitiesjson">6.1. <code>capabilities.json</code><a class="headerlink" href="#61-capabilitiesjson" title="Permanent link">¶</a></h2>
|
||||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"cpu"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8 cores"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"ram"</span><span class="p">:</span><span class="w"> </span><span class="s2">"32GB"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"gpu"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"model"</span><span class="p">:</span><span class="w"> </span><span class="s2">"RTX 4090"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"vram"</span><span class="p">:</span><span class="w"> </span><span class="s2">"24GB"</span>
|
||||
<span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"network"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"up"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1Gbps"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"down"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1Gbps"</span>
|
||||
<span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"sensors"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"camera"</span><span class="p">,</span><span class="s2">"lidar"</span><span class="p">,</span><span class="s2">"temperature"</span><span class="p">]</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="62-metadatajson">6.2. <code>metadata.json</code><a class="headerlink" href="#62-metadatajson" title="Permanent link">¶</a></h2>
|
||||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0.0"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"agent_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"service"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"citywide"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"labels"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"core"</span><span class="p">,</span><span class="s2">"secure"</span><span class="p">,</span><span class="s2">"production"</span><span class="p">],</span>
|
||||
<span class="w"> </span><span class="nt">"notes"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This agent is part of DAARION108"</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="7">7. Події (пов’язані з моделлю)<a class="headerlink" href="#7" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><code>agent.promoted_to_orchestrator</code></li>
|
||||
<li><code>microdao.created</code></li>
|
||||
<li><code>node.registered</code></li>
|
||||
<li><code>microdao.promoted_to_district</code></li>
|
||||
<li><code>agent.assignment_created</code></li>
|
||||
<li><code>agent.assignment_ended</code></li>
|
||||
</ul>
|
||||
<p>Їхні схеми визначені в <code>microdao_Event_Catalog_EXTENDED_v1.md</code>.</p>
|
||||
<hr />
|
||||
<h1 id="8">8. Міграції (чорновий план)<a class="headerlink" href="#8" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>додати поля до <code>agents</code>;</li>
|
||||
<li>додати поля до <code>microdaos</code>;</li>
|
||||
<li>оновити <code>nodes</code>;</li>
|
||||
<li>створити <code>agent_assignments</code>;</li>
|
||||
<li>додати enum-типи (за потреби).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="9">9. Підсумок<a class="headerlink" href="#9" title="Permanent link">¶</a></h1>
|
||||
<p>Модель даних тепер повністю відповідає фундаментальній онтології DAARION.<br />
|
||||
Усі інваріанти формалізовані, Assignment layer додано, структури capabilities/metadata стандартизовано.<br />
|
||||
Документ готовий до реалізації міграцій та оновлень у коді.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
839
site/foundation/microdao_Event_Catalog_EXTENDED_v1/index.html
Normal file
839
site/foundation/microdao_Event_Catalog_EXTENDED_v1/index.html
Normal file
@@ -0,0 +1,839 @@
|
||||
|
||||
<!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/foundation/microdao_Event_Catalog_EXTENDED_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>microdao_Event_Catalog_EXTENDED_v1.md - 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="#microdao_event_catalog_extended_v1md" 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">
|
||||
|
||||
microdao_Event_Catalog_EXTENDED_v1.md
|
||||
|
||||
</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="#daarioncity-event-catalog-extended-ontology-update" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
DAARION.city — Event Catalog (Extended Ontology Update)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="microdao_event_catalog_extended_v1md">microdao_Event_Catalog_EXTENDED_v1.md<a class="headerlink" href="#microdao_event_catalog_extended_v1md" title="Permanent link">¶</a></h1>
|
||||
<h2 id="daarioncity-event-catalog-extended-ontology-update">DAARION.city — Event Catalog (Extended Ontology Update)<a class="headerlink" href="#daarioncity-event-catalog-extended-ontology-update" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Version:</strong> 1.0<br />
|
||||
<strong>Status:</strong> Core Spec Update (Non-Breaking)<br />
|
||||
<strong>Scope:</strong> Agent → Orchestrator → MicroDAO → Node → District → Assignment</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета документа<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Визначити повний перелік нових доменних подій, які:</p>
|
||||
<ul>
|
||||
<li>підтримують онтологію DAARION (Agent → MicroDAO → Node → District),</li>
|
||||
<li>описують життєвий цикл агента, мікроДАО, нод та assignment layer,</li>
|
||||
<li>забезпечують єдиний контракт для NATS Stream та DAGI Router.</li>
|
||||
</ul>
|
||||
<p>Document не змінює існуючі події microdao — лише додає нові.</p>
|
||||
<hr />
|
||||
<h1 id="1">1. Стандарти подій<a class="headerlink" href="#1" title="Permanent link">¶</a></h1>
|
||||
<h2 id="11">1.1. Структурні правила<a class="headerlink" href="#11" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>формат JSON;</li>
|
||||
<li>поле <code>event_id</code> (uuid v4);</li>
|
||||
<li>поле <code>timestamp</code> (ISO8601 UTC);</li>
|
||||
<li>поле <code>version</code> (semver);</li>
|
||||
<li>поле <code>subject</code> (назва події);</li>
|
||||
<li>поле <code>payload</code> (дані події).</li>
|
||||
</ul>
|
||||
<h2 id="12">1.2. Транспортування<a class="headerlink" href="#12" title="Permanent link">¶</a></h2>
|
||||
<p>Події транспортуються через NATS у форматі:</p>
|
||||
<p><code>dagion.<domain>.<event></code></p>
|
||||
<hr />
|
||||
<h1 id="2-daarion">2. Нові події онтології DAARION<a class="headerlink" href="#2-daarion" title="Permanent link">¶</a></h1>
|
||||
<h2 id="21-agentpromoted_to_orchestrator">2.1. <code>agent.promoted_to_orchestrator</code><a class="headerlink" href="#21-agentpromoted_to_orchestrator" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><strong>NATS subject:</strong> <code>dagion.agent.promoted_to_orchestrator</code></li>
|
||||
<li><strong>Опис:</strong> Агент отримує роль Orchestrator.</li>
|
||||
<li><strong>Payload:</strong></li>
|
||||
</ul>
|
||||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"object"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"required"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"agent_id"</span><span class="p">,</span><span class="s2">"timestamp"</span><span class="p">],</span>
|
||||
<span class="w"> </span><span class="nt">"properties"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"agent_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="p">,</span><span class="w"> </span><span class="nt">"format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"date-time"</span><span class="w"> </span><span class="p">}</span>
|
||||
<span class="w"> </span><span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="22-microdaocreated">2.2. <code>microdao.created</code><a class="headerlink" href="#22-microdaocreated" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><strong>Subject:</strong> <code>dagion.microdao.created</code></li>
|
||||
<li><strong>Опис:</strong> Створено нову MicroDAO.</li>
|
||||
<li><strong>Payload:</strong></li>
|
||||
</ul>
|
||||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"object"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"required"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
||||
<span class="w"> </span><span class="s2">"microdao_id"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"primary_orchestrator_agent_id"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"type"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"timestamp"</span>
|
||||
<span class="w"> </span><span class="p">],</span>
|
||||
<span class="w"> </span><span class="nt">"properties"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"microdao_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"primary_orchestrator_agent_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="p">,</span><span class="w"> </span><span class="nt">"enum"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"root"</span><span class="p">,</span><span class="s2">"standard"</span><span class="p">,</span><span class="s2">"district"</span><span class="p">]</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"parent_microdao_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"string"</span><span class="p">,</span><span class="s2">"null"</span><span class="p">]</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="p">,</span><span class="w"> </span><span class="nt">"format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"date-time"</span><span class="w"> </span><span class="p">}</span>
|
||||
<span class="w"> </span><span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="23-noderegistered">2.3. <code>node.registered</code><a class="headerlink" href="#23-noderegistered" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><strong>Subject:</strong> <code>dagion.node.registered</code></li>
|
||||
<li><strong>Опис:</strong> Зареєстрована нова нода.</li>
|
||||
<li><strong>Payload:</strong></li>
|
||||
</ul>
|
||||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"object"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"required"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
||||
<span class="w"> </span><span class="s2">"node_id"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"microdao_id"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"node_kind"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"timestamp"</span>
|
||||
<span class="w"> </span><span class="p">],</span>
|
||||
<span class="w"> </span><span class="nt">"properties"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"node_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"microdao_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"node_kind"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"enum"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
||||
<span class="w"> </span><span class="s2">"smartphone"</span><span class="p">,</span><span class="s2">"laptop"</span><span class="p">,</span><span class="s2">"edge"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"datacenter"</span><span class="p">,</span><span class="s2">"iot"</span><span class="p">,</span><span class="s2">"gpu-cluster"</span>
|
||||
<span class="w"> </span><span class="p">]</span>
|
||||
<span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"capabilities"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"object"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="p">,</span><span class="w"> </span><span class="nt">"format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"date-time"</span><span class="w"> </span><span class="p">}</span>
|
||||
<span class="w"> </span><span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="24-microdaopromoted_to_district">2.4. <code>microdao.promoted_to_district</code><a class="headerlink" href="#24-microdaopromoted_to_district" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><strong>Subject:</strong> <code>dagion.microdao.promoted_to_district</code></li>
|
||||
<li><strong>Опис:</strong> MicroDAO отримує статус District.</li>
|
||||
<li><strong>Payload:</strong></li>
|
||||
</ul>
|
||||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"object"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"required"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
||||
<span class="w"> </span><span class="s2">"microdao_id"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"promoted_by_agent_id"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"timestamp"</span>
|
||||
<span class="w"> </span><span class="p">],</span>
|
||||
<span class="w"> </span><span class="nt">"properties"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"microdao_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"promoted_by_agent_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"parent_microdao_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="p">,</span><span class="w"> </span><span class="nt">"format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"date-time"</span><span class="w"> </span><span class="p">}</span>
|
||||
<span class="w"> </span><span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="3-assignment-layer-events">3. Assignment Layer Events<a class="headerlink" href="#3-assignment-layer-events" title="Permanent link">¶</a></h1>
|
||||
<h2 id="31-agentassignment_created">3.1. <code>agent.assignment_created</code><a class="headerlink" href="#31-agentassignment_created" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><strong>Subject:</strong> <code>dagion.agent.assignment_created</code></li>
|
||||
<li><strong>Опис:</strong> Агент отримав роль у іншій MicroDAO/District/City.</li>
|
||||
<li><strong>Payload:</strong></li>
|
||||
</ul>
|
||||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"object"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"required"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
||||
<span class="w"> </span><span class="s2">"assignment_id"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"agent_id"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"target_microdao_id"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"scope"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"role"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"timestamp"</span>
|
||||
<span class="w"> </span><span class="p">],</span>
|
||||
<span class="w"> </span><span class="nt">"properties"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"assignment_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"agent_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"target_microdao_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"scope"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span>
|
||||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"enum"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"microdao"</span><span class="p">,</span><span class="s2">"district"</span><span class="p">,</span><span class="s2">"city"</span><span class="p">]</span>
|
||||
<span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"role"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"metadata"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"object"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="p">,</span><span class="w"> </span><span class="nt">"format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"date-time"</span><span class="w"> </span><span class="p">}</span>
|
||||
<span class="w"> </span><span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
|
||||
<h2 id="32-agentassignment_ended">3.2. <code>agent.assignment_ended</code><a class="headerlink" href="#32-agentassignment_ended" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><strong>Subject:</strong> <code>dagion.agent.assignment_ended</code></li>
|
||||
<li><strong>Опис:</strong> Завершено assignment агента.</li>
|
||||
<li><strong>Payload:</strong></li>
|
||||
</ul>
|
||||
<div class="codehilite"><pre><span></span><code><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"object"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="nt">"required"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
|
||||
<span class="w"> </span><span class="s2">"assignment_id"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"agent_id"</span><span class="p">,</span>
|
||||
<span class="w"> </span><span class="s2">"timestamp"</span>
|
||||
<span class="w"> </span><span class="p">],</span>
|
||||
<span class="w"> </span><span class="nt">"properties"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="nt">"assignment_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"agent_id"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="w"> </span><span class="p">},</span>
|
||||
<span class="w"> </span><span class="nt">"timestamp"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nt">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"string"</span><span class="p">,</span><span class="w"> </span><span class="nt">"format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"date-time"</span><span class="w"> </span><span class="p">}</span>
|
||||
<span class="w"> </span><span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="4">4. Події ідентичності (довідково)<a class="headerlink" href="#4" title="Permanent link">¶</a></h1>
|
||||
<p>Зовнішній Identity Service генерує:</p>
|
||||
<ul>
|
||||
<li><code>dais.identity_created</code> (<code>dagion.identity.created</code>)</li>
|
||||
<li><code>agent.created</code> (<code>dagion.agent.created</code>)</li>
|
||||
</ul>
|
||||
<p>Ці події використовуються microdao для синхронізації.</p>
|
||||
<hr />
|
||||
<h1 id="5">5. Зв’язок подій з життєвими циклами<a class="headerlink" href="#5" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><strong>Agent lifecycle:</strong> <code>identity.created → agent.created → agent.promoted_to_orchestrator → assignment events</code>.</li>
|
||||
<li><strong>MicroDAO lifecycle:</strong> <code>agent.promoted_to_orchestrator → microdao.created → microdao.promoted_to_district</code>.</li>
|
||||
<li><strong>Node lifecycle:</strong> <code>microdao.created → node.registered</code>.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="6">6. Гарантії та інваріанти<a class="headerlink" href="#6" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Події не відкатуються.</li>
|
||||
<li>Кожна подія має <code>event_id</code>, <code>timestamp</code>, <code>version</code>.</li>
|
||||
<li>Подія не може суперечити онтології DAARION.</li>
|
||||
<li>Payload завжди відповідає цій моделі даних.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="7-extended-event-catalog">7. Переваги Extended Event Catalog<a class="headerlink" href="#7-extended-event-catalog" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Повний опис життєвих циклів Agent/MicroDAO/Node/District.</li>
|
||||
<li>Синхронізація Identity, microdao, Gateway, DAGI Router.</li>
|
||||
<li>Автоматичні реакції agents-as-workers.</li>
|
||||
<li>Підготовка до наступних фаз governance та city automation.</li>
|
||||
</ul>
|
||||
<p>Документ завершено.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
@@ -0,0 +1,805 @@
|
||||
|
||||
<!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/foundation/microdao_Governance_And_Permissions_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>microdao_Governance_And_Permissions_v1.md - 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="#microdao_governance_and_permissions_v1md" 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">
|
||||
|
||||
microdao_Governance_And_Permissions_v1.md
|
||||
|
||||
</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="#daarioncity-governance-permissions-layer-minimal-core" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
DAARION.city — Governance & Permissions Layer (Minimal Core)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="microdao_governance_and_permissions_v1md">microdao_Governance_And_Permissions_v1.md<a class="headerlink" href="#microdao_governance_and_permissions_v1md" title="Permanent link">¶</a></h1>
|
||||
<h2 id="daarioncity-governance-permissions-layer-minimal-core">DAARION.city — Governance & Permissions Layer (Minimal Core)<a class="headerlink" href="#daarioncity-governance-permissions-layer-minimal-core" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Version:</strong> 1.0<br />
|
||||
<strong>Status:</strong> Foundation Spec (Non-Breaking)<br />
|
||||
<strong>Scope:</strong> Agents, Orchestrators, MicroDAO, Nodes, Districts</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета документа<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Визначити мінімальну, але строгу модель управління та доступів у DAARION.city, яка:</p>
|
||||
<ul>
|
||||
<li>відповідає онтології Agent → MicroDAO → Node → District,</li>
|
||||
<li>захищає критичні операції (створення MicroDAO, реєстрація нод, assignments),</li>
|
||||
<li>визначає ролі та ACL, не вводячи громіздкого DAO-протоколу.</li>
|
||||
</ul>
|
||||
<p>Документ розширює існуючі правила microdao без змін поведінки.</p>
|
||||
<hr />
|
||||
<h1 id="1-governance-daarion">1. Принципи Governance DAARION<a class="headerlink" href="#1-governance-daarion" title="Permanent link">¶</a></h1>
|
||||
<ol>
|
||||
<li><strong>Примат онтології.</strong> Усі правила походять із структури Agent → MicroDAO → Node → District.</li>
|
||||
<li><strong>Мінімальна достатність.</strong> На базовому етапі — тільки найнеобхідніші механіки.</li>
|
||||
<li><strong>Безпека через приписку.</strong> Будь-який агент/нода мають формальну MicroDAO-приписку.</li>
|
||||
<li><strong>DAARION як root governance.</strong> Root MicroDAO — вища інстанція та еталон.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="2">2. Ролі агентів<a class="headerlink" href="#2" title="Permanent link">¶</a></h1>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Роль</th>
|
||||
<th>Опис</th>
|
||||
<th>Доступи</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Regular Agent</td>
|
||||
<td>стандартний агент</td>
|
||||
<td>вхід, участь у сервісах, виконання assignment</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Orchestrator</td>
|
||||
<td>агент, що керує MicroDAO</td>
|
||||
<td>створення MicroDAO, управління нодами, членами</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Service Agent</td>
|
||||
<td>технічний/сервісний агент</td>
|
||||
<td>доступ до внутрішньої інфраструктури</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Core-City Agent</td>
|
||||
<td>DAARION108 (citywide scope)</td>
|
||||
<td>робота в усьому місті (при дотриманні політик)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr />
|
||||
<h1 id="3-governance-microdao">3. Governance MicroDAO<a class="headerlink" href="#3-governance-microdao" title="Permanent link">¶</a></h1>
|
||||
<h2 id="31">3.1. Основні артефакти<a class="headerlink" href="#31" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li><code>primary_orchestrator_agent_id</code></li>
|
||||
<li>склад агентів і людей</li>
|
||||
<li>ноди</li>
|
||||
<li>assignments інших агентів</li>
|
||||
<li>DAO-налаштування</li>
|
||||
</ul>
|
||||
<h2 id="32">3.2. Дозволи (мінімальний набір)<a class="headerlink" href="#32" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Оркестратор:</li>
|
||||
<li>редагування <code>metadata</code></li>
|
||||
<li>додавання учасників</li>
|
||||
<li>запрошення агентів</li>
|
||||
<li>реєстрація / вимикання нод</li>
|
||||
<li>налаштування front-office</li>
|
||||
<li>підвищення до District</li>
|
||||
<li>Члени:</li>
|
||||
<li>доступ до DAO-кімнат</li>
|
||||
<li>участь у проектах</li>
|
||||
<li>запуск власних агентів (за правилами governance)</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="4-node-governance">4. Node Governance<a class="headerlink" href="#4-node-governance" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><strong>Хто реєструє ноду?</strong> Оркестратор MicroDAO.</li>
|
||||
<li><strong>Хто керує нодою?</strong> Оркестратор + довірені core-team агенти (Node Manager, DevOps).</li>
|
||||
<li><strong>Хто може використовувати ноду?</strong> </li>
|
||||
<li>агенти цього MicroDAO </li>
|
||||
<li>агенти з assignment (якщо дозволено governance) </li>
|
||||
<li>citywide агенти (DAARION108) — тільки при спец-дозволах.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="5-district-governance">5. District Governance<a class="headerlink" href="#5-district-governance" title="Permanent link">¶</a></h1>
|
||||
<p>District = MicroDAO <code>type='district'</code>.</p>
|
||||
<p>Особливості:</p>
|
||||
<ul>
|
||||
<li>може мати <code>parent_microdao_id</code>;</li>
|
||||
<li>керує пулом підлеглих MicroDAO;</li>
|
||||
<li>має власні ноди / платформи;</li>
|
||||
<li>може координувати між-DAO задачі;</li>
|
||||
<li>перехід фіксується подією <code>microdao.promoted_to_district</code>.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="6-assignment-governance">6. Assignment Governance<a class="headerlink" href="#6-assignment-governance" title="Permanent link">¶</a></h1>
|
||||
<p>Assignment дозволяє агенту працювати поза <code>home_microdao_id</code>.</p>
|
||||
<ul>
|
||||
<li><strong>Хто створює assignment?</strong> </li>
|
||||
<li>Оркестратор MicroDAO (який приймає агента), </li>
|
||||
<li>District (для своїх підлеглих), </li>
|
||||
<li>DAARION (root) — для citywide операцій.</li>
|
||||
<li><strong>Для чого:</strong> </li>
|
||||
<li>DAARION108 → citywide tasks, </li>
|
||||
<li>сервісні агенти → підтримка інших MicroDAO, </li>
|
||||
<li>зовнішні експерти → консалтинг/безпека.</li>
|
||||
<li><strong>Події:</strong> <code>agent.assignment_created</code>, <code>agent.assignment_ended</code>.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="7-acl-">7. ACL-модель (мінімум)<a class="headerlink" href="#7-acl-" title="Permanent link">¶</a></h1>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Дозвіл</th>
|
||||
<th>Опис</th>
|
||||
<th>Хто має</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>CREATE_MICRODAO</code></td>
|
||||
<td>Створити MicroDAO</td>
|
||||
<td>Orchestrator</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>REGISTER_NODE</code></td>
|
||||
<td>Реєструвати ноду</td>
|
||||
<td>Orchestrator</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>MANAGE_MEMBERS</code></td>
|
||||
<td>Керувати учасниками MicroDAO</td>
|
||||
<td>Orchestrator</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>CITYWIDE_ACCESS</code></td>
|
||||
<td>Діяти у всьому місті</td>
|
||||
<td>DAARION108, civic</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>DISTRICT_ADMIN</code></td>
|
||||
<td>Адмініструвати District-платформу</td>
|
||||
<td>District Orchestrator</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<hr />
|
||||
<h1 id="8">8. Безпека та перевірка дозволів<a class="headerlink" href="#8" title="Permanent link">¶</a></h1>
|
||||
<p>Єдиний принцип:</p>
|
||||
<blockquote>
|
||||
<p><strong>Суб’єкт діє в межах своєї приписки + своїх assignment.</strong></p>
|
||||
</blockquote>
|
||||
<p>Тобто:</p>
|
||||
<ul>
|
||||
<li>агент може діяти у своїй MicroDAO;</li>
|
||||
<li>агент може діяти в іншій MicroDAO лише через assignment;</li>
|
||||
<li>реєструвати ноду може тільки оркестратор MicroDAO-власника;</li>
|
||||
<li>District керує підлеглими, але не змінює їхню власність.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="9">9. Підсумок<a class="headerlink" href="#9" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Governance базується на канонічній онтології.</li>
|
||||
<li>Визначено роли agent'ів та дозволи.</li>
|
||||
<li>Assignment — офіційний механізм співпраці.</li>
|
||||
<li>District — розширення MicroDAO, а не нова сутність.</li>
|
||||
<li>Модель готова до подальшого розширення (повний ACL/RBAC) без ломки існуючої логіки.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
@@ -0,0 +1,756 @@
|
||||
|
||||
<!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/foundation/patches/DAARION_Person_Agent_DAIS_CoreTeam_PATCH_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>DAARION_Person_Agent_DAIS_CoreTeam_PATCH_v1.md - 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="#daarion_person_agent_dais_coreteam_patch_v1md" 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">
|
||||
|
||||
DAARION_Person_Agent_DAIS_CoreTeam_PATCH_v1.md
|
||||
|
||||
</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="#patch-update-human-auth-layer-agent-dais-identity-core-team-model" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Patch Update: Human Auth Layer → Agent DAIS Identity → Core-Team Model
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="daarion_person_agent_dais_coreteam_patch_v1md">DAARION_Person_Agent_DAIS_CoreTeam_PATCH_v1.md<a class="headerlink" href="#daarion_person_agent_dais_coreteam_patch_v1md" title="Permanent link">¶</a></h1>
|
||||
<h2 id="patch-update-human-auth-layer-agent-dais-identity-core-team-model">Patch Update: Human Auth Layer → Agent DAIS Identity → Core-Team Model<a class="headerlink" href="#patch-update-human-auth-layer-agent-dais-identity-core-team-model" title="Permanent link">¶</a></h2>
|
||||
<p><strong>Status:</strong> Architectural Correction (Non-Breaking Patch)<br />
|
||||
<strong>Version:</strong> 1.0<br />
|
||||
<strong>Scope:</strong> Clarifies Human vs Agent, DAIS scope, Core-Team Agents, DAARION108, Civic Layer</p>
|
||||
<hr />
|
||||
<h1 id="0">0. Мета патча<a class="headerlink" href="#0" title="Permanent link">¶</a></h1>
|
||||
<p>Уточнити ключові концепції онтології DAARION.city, які не були зафіксовані повністю у фундаментальних документах:</p>
|
||||
<ol>
|
||||
<li>різницю між <strong>Human</strong> та <strong>Agent</strong>,</li>
|
||||
<li>що таке <strong>DAIS</strong> і кому він належить,</li>
|
||||
<li>як люди взаємодіють із агентами,</li>
|
||||
<li>хто такі <strong>Core-Team Agents</strong> та як вони працюють у MicroDAO,</li>
|
||||
<li>чим є <strong>DAARION108</strong>,</li>
|
||||
<li>хто представляє місто (civic layer — DAARWIZZ),</li>
|
||||
<li>як MicroDAO стає простором співпраці людей і агентів.</li>
|
||||
</ol>
|
||||
<p>Патч не змінює основні документи — лише уточнює семантику.</p>
|
||||
<hr />
|
||||
<h1 id="1-human-vs-agent">1. Human vs Agent<a class="headerlink" href="#1-human-vs-agent" title="Permanent link">¶</a></h1>
|
||||
<h2 id="11-humanuser">1.1. Human/User<a class="headerlink" href="#11-humanuser" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>має Human-auth (email, wallet, Telegram, OTP);</li>
|
||||
<li>веде акаунт, налаштування доступу;</li>
|
||||
<li><strong>не має DAIS</strong>;</li>
|
||||
<li>взаємодіє з містом через агентів, яких створює та контролює.</li>
|
||||
</ul>
|
||||
<h2 id="12-agent">1.2. Agent<a class="headerlink" href="#12-agent" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>цифровий представник людини, MicroDAO або організації;</li>
|
||||
<li>має DAIS (DID + keys + wallet + Matrix);</li>
|
||||
<li>працює у MicroDAO та на нодах;</li>
|
||||
<li>є власником кімнат, сторінок, інтерфейсів.</li>
|
||||
</ul>
|
||||
<h2 id="13">1.3. Взаємозв’язок<a class="headerlink" href="#13" title="Permanent link">¶</a></h2>
|
||||
<div class="codehilite"><pre><span></span><code>Human (user)
|
||||
↓ володіє/керує
|
||||
Agents (1..N)
|
||||
↓ кожен має
|
||||
DAIS Identity
|
||||
↓ кожен приписаний до
|
||||
MicroDAO
|
||||
↓ може працювати на
|
||||
Nodes
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h1 id="2-dais">2. DAIS належить агенту, а не людині<a class="headerlink" href="#2-dais" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>DAIS містить DID, ключі, wallets, Matrix handle, signature domains.</li>
|
||||
<li>DAIS = цифрове тіло агента.</li>
|
||||
<li>Людина має Human Auth і управляє агентом, але не є DID.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="3-core-team-agents">3. Core-Team Agents<a class="headerlink" href="#3-core-team-agents" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>новий клас агентів із розширеними повноваженнями;</li>
|
||||
<li>ролі: CEO Agent, CTO Agent, CISO Agent, Architect, Product Lead, DevOps Lead, Legal Agent, HR Agent;</li>
|
||||
<li>мають доступ до всієї MicroDAO, координують роботу команд;</li>
|
||||
<li>у District — керують підлеглими підрозділами.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="4-core-team-district">4. Core-Team у District<a class="headerlink" href="#4-core-team-district" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>District = MicroDAO-платформа;</li>
|
||||
<li>має власний <strong>Core-Team Console</strong>;</li>
|
||||
<li>може будувати міні-місто / екосистему;</li>
|
||||
<li>core-team агентів District керують підлеглими MicroDAO.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="5-daarion108">5. DAARION108<a class="headerlink" href="#5-daarion108" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>Core-Team MicroDAO «DAARION DAO»;</li>
|
||||
<li>не civic layer, не міська підтримка;</li>
|
||||
<li>це організаційна команда (аналог команди OpenAI, але AI-команда);</li>
|
||||
<li>працює на Node2;</li>
|
||||
<li>виконує ролі CEO/CTO/Architect/PM/etc.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="6-civic-layer-daarwizz">6. Civic Layer (DAARWIZZ)<a class="headerlink" href="#6-civic-layer-daarwizz" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>окремий шар: міський інтерфейс для громадян;</li>
|
||||
<li>агенти: DAARWIZZ (мер), навігатори, модератори, онбордери;</li>
|
||||
<li>живуть у root MicroDAO DAARION;</li>
|
||||
<li>мають <code>service_scope = city</code>.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="7-microdao">7. MicroDAO як простір співпраці<a class="headerlink" href="#7-microdao" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li>MicroDAO = workspace, де одночасно працюють люди та агенти;</li>
|
||||
<li>містить проєкти, канбан, кімнати, core-team, ноди;</li>
|
||||
<li>кожне MicroDAO може виставити публічні front-rooms у місті;</li>
|
||||
<li>DAARION (root MicroDAO) теж має свій MicroDAO-інтерфейс.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="8">8. Інваріанти, які додає патч<a class="headerlink" href="#8" title="Permanent link">¶</a></h1>
|
||||
<ol>
|
||||
<li><strong>Human ≠ Agent.</strong> Людина управляє агентом, але не є DID.</li>
|
||||
<li><strong>DAIS належить агенту.</strong> DID/ключі — це тіло агента.</li>
|
||||
<li><strong>Core-Team Agents</strong> — офіційний клас із розширеними правами.</li>
|
||||
<li><strong>DAARION108</strong> = core-team MicroDAO «DAARION DAO».</li>
|
||||
<li><strong>Civic Layer (DAARWIZZ)</strong> — незалежний шар, який обслуговує місто.</li>
|
||||
<li><strong>MicroDAO</strong> = простір співпраці людей і агентів.</li>
|
||||
</ol>
|
||||
<hr />
|
||||
<h1 id="9">9. Документи, які доповнює патч<a class="headerlink" href="#9" title="Permanent link">¶</a></h1>
|
||||
<ul>
|
||||
<li><code>DAARION_Ontology_Core_v1.md</code></li>
|
||||
<li><code>User_Onboarding_And_Identity_Layer_v1.md</code></li>
|
||||
<li><code>microdao_Governance_And_Permissions_v1.md</code></li>
|
||||
<li><code>microdao_Data_Model_UPDATE_v1.md</code></li>
|
||||
<li><code>DAARION_Identity_And_Access_Draft_v1.md</code></li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h1 id="10">10. Підсумок<a class="headerlink" href="#10" title="Permanent link">¶</a></h1>
|
||||
<p>Патч закріплює правильну концепцію:</p>
|
||||
<ul>
|
||||
<li><strong>DAIS = identity agent, not human.</strong></li>
|
||||
<li><strong>Human → controls → Agents.</strong></li>
|
||||
<li><strong>Agents → мають DAIS → діють у світі.</strong></li>
|
||||
<li><strong>Core-Team Agents</strong> — ключовий клас для MicroDAO/District.</li>
|
||||
<li><strong>DAARION108</strong> — core-team DAARION DAO.</li>
|
||||
<li><strong>DAARWIZZ</strong> + civic агенти — інтерфейс міста.</li>
|
||||
</ul>
|
||||
<p>Документ завершено.</p>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
@@ -0,0 +1,786 @@
|
||||
|
||||
<!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/foundation/patches/Nodes_Profile_Core_Invariant_PATCH_v1/">
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="icon" href="../../../assets/images/favicon.png">
|
||||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
||||
|
||||
|
||||
|
||||
<title>Nodes Profile Core Invariant — PATCH 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="#nodes-profile-core-invariant-patch-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">
|
||||
|
||||
Nodes Profile Core Invariant — PATCH 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="#1" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
1. Мета
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#2" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
2. Інваріанти
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="2. Інваріанти">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#21-metrics-layer" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
2.1 Metrics Layer
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#22-ownership-layer" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
2.2 Ownership Layer
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#23-models-layer" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
2.3 Models Layer
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#24-orchestration-layer" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
2.4 Orchestration Layer
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#25-node-core-agents-page-presence" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
2.5 Node Core Agents & Page Presence
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#3" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
3. Вставка в основний документ
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#4-next-steps" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
4. Next Steps
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="md-content" data-md-component="content">
|
||||
<article class="md-content__inner md-typeset">
|
||||
|
||||
|
||||
|
||||
|
||||
<h1 id="nodes-profile-core-invariant-patch-v1">Nodes Profile Core Invariant — PATCH v1<a class="headerlink" href="#nodes-profile-core-invariant-patch-v1" title="Permanent link">¶</a></h1>
|
||||
<p>Version: 1.0<br />
|
||||
Status: ACTIVE<br />
|
||||
Parent doc: <code>docs/foundation/Nodes_Interface_Architecture_UPDATE_v1.md</code></p>
|
||||
<hr />
|
||||
<h2 id="1">1. Мета<a class="headerlink" href="#1" title="Permanent link">¶</a></h2>
|
||||
<p>Зафіксувати базовий інваріант DAARION Ontology:</p>
|
||||
<blockquote>
|
||||
<p><strong>Кожна Нода має чотири обов'язкові шари:</strong>
|
||||
1. Metrics Layer<br />
|
||||
2. Ownership Layer<br />
|
||||
3. Models Layer<br />
|
||||
4. Orchestration Layer (DAGI Router + локальні агенти)</p>
|
||||
</blockquote>
|
||||
<p>Цей патч уніфікує всі ноди (prod, dev, district, core-team) і припиняє трактування, ніби dev-ноди можуть існувати без DAGI-стеку.</p>
|
||||
<hr />
|
||||
<h2 id="2">2. Інваріанти<a class="headerlink" href="#2" title="Permanent link">¶</a></h2>
|
||||
<h3 id="21-metrics-layer">2.1 Metrics Layer<a class="headerlink" href="#21-metrics-layer" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>Обов'язкові live-метрики CPU / RAM / GPU / Disk.</li>
|
||||
<li>Формат heartbeat з полями <code>cpu_load</code>, <code>memory_used</code>, <code>gpu[*].vram_used</code>, <code>disk</code>.</li>
|
||||
<li>Якщо метрики відсутні → статус <code>metrics_status = degraded</code>, а не “порожня нода”.</li>
|
||||
</ul>
|
||||
<h3 id="22-ownership-layer">2.2 Ownership Layer<a class="headerlink" href="#22-ownership-layer" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>Кожна нода належить рівно одному MicroDAO / District.</li>
|
||||
<li>Поля: <code>owner_microdao_id</code>, <code>owner_microdao_slug</code>, <code>district_id</code> (опційно).</li>
|
||||
<li>В UI обов’язково відображається бейдж MicroDAO.</li>
|
||||
</ul>
|
||||
<h3 id="23-models-layer">2.3 Models Layer<a class="headerlink" href="#23-models-layer" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>На кожній ноді працює локальний Swapper + Model Stack.</li>
|
||||
<li>JSON-профіль: <code>models.llm[]</code>, <code>models.vision[]</code>, <code>models.stt[]</code>, <code>models.tts[]</code>, <code>models.rag[]</code>.</li>
|
||||
<li>Немає “нод без моделей” — dev/prod різняться лише складом стека.</li>
|
||||
</ul>
|
||||
<h3 id="24-orchestration-layer">2.4 Orchestration Layer<a class="headerlink" href="#24-orchestration-layer" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>Локальний DAGI Router на кожній ноді.</li>
|
||||
<li>Локальні агенти з <code>home_node_id</code>.</li>
|
||||
<li>Події маршрутизуються через локальний router, який знає про локальні сервіси та підключення до NATS/City Layer.</li>
|
||||
</ul>
|
||||
<h3 id="25-node-core-agents-page-presence">2.5 Node Core Agents & Page Presence<a class="headerlink" href="#25-node-core-agents-page-presence" title="Permanent link">¶</a></h3>
|
||||
<ul>
|
||||
<li>Мінімум два агенти на ноді:</li>
|
||||
<li><strong>Node Guardian Agent</strong> — health, безпека, інциденти.</li>
|
||||
<li><strong>Node Steward Agent</strong> — приналежність microDAO, онбординг, профіль.</li>
|
||||
<li>(опційно) окремий <strong>Node Models/Swapper Agent</strong>.</li>
|
||||
<li>Кожна сторінка інтерфейсу, пов’язана з нодою, “закріплена” за щонайменше одним агентом і показує його присутність (немає сторінок “без агентів”).</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h2 id="3">3. Вставка в основний документ<a class="headerlink" href="#3" title="Permanent link">¶</a></h2>
|
||||
<p>Вставити розділ <strong>“Node Profile — Core Invariants (PATCH v1)”</strong> після секції 2.4 (<code>Запис у таблиці nodes</code>) у <code>Nodes_Interface_Architecture_UPDATE_v1.md</code>.</p>
|
||||
<p>Текст для вставки:</p>
|
||||
<div class="codehilite"><pre><span></span><code><span class="gu">## Node Profile — Core Invariants (PATCH v1)</span>
|
||||
|
||||
Кожна Нода в DAARION Ontology має чотири обов'язкові шари:
|
||||
|
||||
<span class="k">1.</span> <span class="gs">**Metrics Layer**</span> — live-метрики CPU/GPU/RAM/Disk, heartbeat кожні 60 секунд.
|
||||
<span class="k">2.</span> <span class="gs">**Ownership Layer**</span> — власник (MicroDAO/District) з полями <span class="sb">`owner_microdao_id`</span>, <span class="sb">`owner_microdao_slug`</span>.
|
||||
<span class="k">3.</span> <span class="gs">**Models Layer**</span> — локальний Swapper + Model Stack (LLM, STT, vision, RAG тощо).
|
||||
<span class="k">4.</span> <span class="gs">**Orchestration Layer**</span> — DAGI Router + локальні агенти з <span class="sb">`home_node_id`</span>.
|
||||
|
||||
Також кожна нода має мінімальний набір Node Core Agents:
|
||||
|
||||
<span class="k">-</span><span class="w"> </span><span class="gs">**Node Guardian Agent**</span> (health, security, інциденти)
|
||||
<span class="k">-</span><span class="w"> </span><span class="gs">**Node Steward Agent**</span> (приналежність microDAO, профіль)
|
||||
<span class="k">-</span><span class="w"> </span>(опційно) <span class="gs">**Node Models/Swapper Agent**</span>
|
||||
|
||||
Жодна сторінка інтерфейсу, що стосується ноди, не існує без агентів, які за неї відповідають (“немає сторінки без агентів”).
|
||||
</code></pre></div>
|
||||
|
||||
<hr />
|
||||
<h2 id="4-next-steps">4. Next Steps<a class="headerlink" href="#4-next-steps" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>Оновити <code>TASK_PHASE_NODE_RUNTIME_AUDIT_NODE1_NODE2.md</code>, щоб аудити перевіряли наявність усіх чотирьох шарів та Node Core Agents.</li>
|
||||
<li>Підготувати окремий config-аудит dev-ноди (NODE2), щоби переконатися у відокремленості прод- та dev-конфігів.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</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>
|
||||
Reference in New Issue
Block a user