Files
microdao-daarion/site/foundation/District_Interface_Architecture_v1/index.html
Apple ef3473db21 snapshot: NODE1 production state 2026-02-09
Complete snapshot of /opt/microdao-daarion/ from NODE1 (144.76.224.179).
This represents the actual running production code that has diverged
significantly from the previous main branch.

Key changes from old main:
- Gateway (http_api.py): expanded from ~40KB to 164KB with full agent support
- Router: new /v1/agents/{id}/infer endpoint with vision + DeepSeek routing
- Behavior Policy: SOWA v2.2 (3-level: FULL/ACK/SILENT)
- Agent Registry: config/agent_registry.yml as single source of truth
- 13 agents configured (was 3)
- Memory service integration
- CrewAI teams and roles

Excluded from snapshot: venv/, .env, data/, backups, .tgz archives

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 08:46:46 -08:00

1524 lines
93 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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/District_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>District_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="#district_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">
District_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-district-layer-platform-interface-architecture" class="md-nav__link">
<span class="md-ellipsis">
DAARION.city — District Layer &amp; Platform 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="district_interface_architecture_v1md">District_Interface_Architecture_v1.md<a class="headerlink" href="#district_interface_architecture_v1md" title="Permanent link">&para;</a></h1>
<h2 id="daarioncity-district-layer-platform-interface-architecture">DAARION.city — District Layer &amp; Platform Interface Architecture<a class="headerlink" href="#daarioncity-district-layer-platform-interface-architecture" title="Permanent link">&para;</a></h2>
<p><strong>Version:</strong> 1.0<br />
<strong>Status:</strong> Foundation Spec (MVP)<br />
<strong>Scope:</strong> Архітектура дистриктів (платформ) у DAARION.city: District Space, портали в місті, взаємодія з MicroDAO, Campus Map, кімнати District-рівня, District Agents, золотий трикутник (City → District → MicroDAO).</p>
<hr />
<h1 id="0">0. Мета документа<a class="headerlink" href="#0" title="Permanent link">&para;</a></h1>
<p>Цей документ визначає <strong>повну архітектуру District Layer</strong> — третього ключового простору DAARION.city поруч з:</p>
<ul>
<li><strong>City Layer</strong> (місто),</li>
<li><strong>MicroDAO Layer</strong> (організації, команди).</li>
</ul>
<p>District — це <strong>платформа / мегаспільнота / галузевий район</strong> у DAARION.city.</p>
<p>Документ визначає:</p>
<ul>
<li>District Space (інтерфейс дистрикту),</li>
<li>District Dashboard,</li>
<li>District Rooms,</li>
<li>District Campus Map (2D та майбутній 3D),</li>
<li>District Agents (платформні агенти),</li>
<li>портал дистрикту у місті,</li>
<li>підлеглі MicroDAO,</li>
<li>архітектуру публічних зон,</li>
<li>взаємодію з City та MicroDAO interface,</li>
<li>зв'язок з DAIS, Agents та Nodes.</li>
</ul>
<hr />
<h1 id="1-district-daarioncity">1. Поняття District у DAARION.city<a class="headerlink" href="#1-district-daarioncity" title="Permanent link">&para;</a></h1>
<h2 id="11-district-microdao">1.1. District — це MicroDAO з розширеним типом<a class="headerlink" href="#11-district-microdao" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="nx">microdao</span><span class="p">.</span><span class="k">type</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="err">&#39;</span><span class="nx">district</span><span class="err">&#39;</span>
</code></pre></div>
<p>Рівень District додає:</p>
<ul>
<li>власний інтерфейс «платформи»,</li>
<li>власні кімнати,</li>
<li>власну карту (Campus Map),</li>
<li>публічний портал у City Square,</li>
<li>підлеглі MicroDAO,</li>
<li>своїх агентах-представників,</li>
<li>власне міні-місто всередині великого міста.</li>
</ul>
<h2 id="12">1.2. Приклади дистриктів<a class="headerlink" href="#12" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th>District</th>
<th>Галузь</th>
<th>Lead Agent</th>
<th>Статус</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Energyunion</strong></td>
<td>Енергетика</td>
<td>Helion</td>
<td>✅ Активний</td>
</tr>
<tr>
<td><strong>GREENFOOD</strong></td>
<td>Агро/ERP</td>
<td>ERP-Agent</td>
<td>✅ Активний</td>
</tr>
<tr>
<td><strong>Health</strong></td>
<td>Здоров'я</td>
<td></td>
<td>🔜 Planned</td>
</tr>
<tr>
<td><strong>Logistics</strong></td>
<td>Логістика</td>
<td></td>
<td>🔜 Planned</td>
</tr>
<tr>
<td><strong>Robotics</strong></td>
<td>Роботехніка</td>
<td></td>
<td>🔜 Planned</td>
</tr>
</tbody>
</table>
<hr />
<h1 id="2-district-space">2. District Space — окрема екосистема всередині міста<a class="headerlink" href="#2-district-space" title="Permanent link">&para;</a></h1>
<h2 id="21-district-space-daarioncity">2.1. District Space = міні-місто всередині DAARION.city<a class="headerlink" href="#21-district-space-daarioncity" title="Permanent link">&para;</a></h2>
<p>Кожен District має свою:</p>
<ul>
<li><strong>центральну площу</strong> (District Center),</li>
<li><strong>групу кімнат</strong> (District Rooms),</li>
<li><strong>власних публічних агентів</strong> (District Agents),</li>
<li><strong>кабінети команди</strong> (Core-Team Console),</li>
<li><strong>підлеглі MicroDAO</strong> (Sub-DAOs),</li>
<li><strong>власну карту</strong> (Campus Map),</li>
<li><strong>корпоративні/галузеві сервіси</strong>,</li>
<li><strong>власні ноди</strong> (District Infrastructure).</li>
</ul>
<h2 id="22">2.2. Ієрархія просторів<a class="headerlink" href="#22" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code>DAARION.city (City Layer)
├── City Square (центральна площа)
├── District: Energyunion
│ ├── District Center
│ ├── District Rooms
│ ├── Sub-DAO: SolarFarm1
│ ├── Sub-DAO: WindPark2
│ └── Campus Map
├── District: GREENFOOD
│ ├── District Center
│ ├── District Rooms
│ ├── Sub-DAO: Farm1
│ └── Campus Map
└── Standard MicroDAO (без District)
</code></pre></div>
<p>Умовно:</p>
<blockquote>
<p><strong>City</strong> = глобальне місто<br />
<strong>District</strong> = район площею 100+ будівель<br />
<strong>MicroDAO</strong> = будівля / організація всередині району</p>
</blockquote>
<hr />
<h1 id="3-district-portal">3. District Portal у місті<a class="headerlink" href="#3-district-portal" title="Permanent link">&para;</a></h1>
<h2 id="31-city-square">3.1. Портал на City Square<a class="headerlink" href="#31-city-square" title="Permanent link">&para;</a></h2>
<p>Кожен District має <strong>публічний кіоск/вітрину</strong> на City Square:</p>
<div class="codehilite"><pre><span></span><code><span class="nt">rooms</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</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">district-energyunion-front</span>
<span class="w"> </span><span class="nt">owner_type</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;microdao&#39;</span>
<span class="w"> </span><span class="nt">owner_id</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;energyunion&#39;</span>
<span class="w"> </span><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;front-room&#39;</span>
<span class="w"> </span><span class="nt">space_scope</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;city&#39;</span>
<span class="w"> </span><span class="nt">visibility</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;public-city&#39;</span>
<span class="w"> </span><span class="nt">is_portal</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
<span class="w"> </span><span class="nt">portal_target_microdao_id</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;energyunion&#39;</span>
<span class="w"> </span><span class="nt">primary_agent_id</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;helion&#39;</span>
<span class="w"> </span><span class="nt">map_x</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">100</span>
<span class="w"> </span><span class="nt">map_y</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">50</span>
<span class="w"> </span><span class="nt">zone</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;energy-sector&#39;</span>
</code></pre></div>
<h2 id="32">3.2. Що відображається на порталі<a class="headerlink" href="#32" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th>Елемент</th>
<th>Опис</th>
</tr>
</thead>
<tbody>
<tr>
<td>District Name</td>
<td>Назва дистрикту</td>
</tr>
<tr>
<td>District Logo</td>
<td>Логотип/аватар</td>
</tr>
<tr>
<td>Lead Agent</td>
<td>Helion, ERP-Agent</td>
</tr>
<tr>
<td>Public Rooms</td>
<td>Новини, Help, FAQ</td>
</tr>
<tr>
<td>Stats</td>
<td>Кількість DAO, агентів</td>
</tr>
<tr>
<td>"Увійти"</td>
<td>Кнопка переходу в District Space</td>
</tr>
</tbody>
</table>
<h2 id="33">3.3. Візуальне представлення<a class="headerlink" href="#33" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="err">┌─────────────────────────────────┐</span>
<span class="err"></span><span class="w"> </span><span class="n">CITY</span><span class="w"> </span><span class="nf">SQUARE</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">┌─────────┐</span><span class="w"> </span><span class="err">┌─────────┐</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">ENERGY</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">GREEN</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="ow">UNION</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">FOOD</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">🔋</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">🌿</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">Helion</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">ERP</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="o">[</span><span class="n">Увійти</span><span class="o">]</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="o">[</span><span class="n">Увійти</span><span class="o">]</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">└─────────┘</span><span class="w"> </span><span class="err">└─────────┘</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="o">[</span><span class="n">DARIO</span><span class="o">]</span><span class="w"> </span><span class="o">[</span><span class="n">DARIA</span><span class="o">]</span><span class="w"> </span><span class="err"></span>
<span class="err">└─────────────────────────────────┘</span>
</code></pre></div>
<hr />
<h1 id="4-district-dashboard">4. District Dashboard<a class="headerlink" href="#4-district-dashboard" title="Permanent link">&para;</a></h1>
<h2 id="41-url-structure">4.1. URL Structure<a class="headerlink" href="#41-url-structure" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code>/district/{id}
/district/{id}/dashboard
/district/{id}/rooms
/district/{id}/subdaos
/district/{id}/map
/district/{id}/agents
/district/{id}/nodes
/district/{id}/events
</code></pre></div>
<h2 id="42-district-dashboard">4.2. Елементи District Dashboard<a class="headerlink" href="#42-district-dashboard" title="Permanent link">&para;</a></h2>
<h3 id="421-primary-agent-district-lead-agent">4.2.1. Primary Agent (District Lead Agent)<a class="headerlink" href="#421-primary-agent-district-lead-agent" title="Permanent link">&para;</a></h3>
<div class="codehilite"><pre><span></span><code><span class="kd">interface</span><span class="w"> </span><span class="nx">DistrictDashboard</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nx">primaryAgent</span><span class="o">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nx">id</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span><span class="w"> </span><span class="c1">// &#39;helion&#39;</span>
<span class="w"> </span><span class="nx">name</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span><span class="w"> </span><span class="c1">// &#39;Helion&#39;</span>
<span class="w"> </span><span class="nx">role</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span><span class="w"> </span><span class="c1">// &#39;District Lead&#39;</span>
<span class="w"> </span><span class="nx">avatar</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">status</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;online&#39;</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">&#39;busy&#39;</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">&#39;offline&#39;</span><span class="p">;</span>
<span class="w"> </span><span class="p">};</span>
<span class="p">}</span>
</code></pre></div>
<p>Приклади:
- <strong>Helion</strong> для Energyunion
- <strong>ERP-Agent</strong> для GREENFOOD</p>
<h3 id="422-team-agents">4.2.2. Team Agents<a class="headerlink" href="#422-team-agents" title="Permanent link">&para;</a></h3>
<table>
<thead>
<tr>
<th>Role</th>
<th>Agent</th>
<th>Функція</th>
</tr>
</thead>
<tbody>
<tr>
<td>Business Lead</td>
<td>BusinessBot</td>
<td>Бізнес-питання</td>
</tr>
<tr>
<td>Tech Lead</td>
<td>TechBot</td>
<td>Технічна підтримка</td>
</tr>
<tr>
<td>Analyst</td>
<td>DataBot</td>
<td>Аналітика галузі</td>
</tr>
<tr>
<td>Integrations</td>
<td>BridgeBot</td>
<td>Інтеграції</td>
</tr>
</tbody>
</table>
<h3 id="423-district-stats">4.2.3. District Stats<a class="headerlink" href="#423-district-stats" title="Permanent link">&para;</a></h3>
<div class="codehilite"><pre><span></span><code><span class="kd">interface</span><span class="w"> </span><span class="nx">DistrictStats</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nx">subDaoCount</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span><span class="w"> </span><span class="c1">// Кількість підлеглих MicroDAO</span>
<span class="w"> </span><span class="nx">activeAgents</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span><span class="w"> </span><span class="c1">// Активні агенти платформи</span>
<span class="w"> </span><span class="nx">nodeCount</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span><span class="w"> </span><span class="c1">// Кількість нод</span>
<span class="w"> </span><span class="nx">memberCount</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span><span class="w"> </span><span class="c1">// Загальна кількість учасників</span>
<span class="w"> </span><span class="nx">eventsThisWeek</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span><span class="w"> </span><span class="c1">// Активність</span>
<span class="w"> </span><span class="nx">gpuCapacity</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span><span class="w"> </span><span class="c1">// &quot;120 TFLOPS&quot;</span>
<span class="p">}</span>
</code></pre></div>
<h3 id="424-district-rooms-preview">4.2.4. District Rooms Preview<a class="headerlink" href="#424-district-rooms-preview" title="Permanent link">&para;</a></h3>
<ul>
<li>Центральна кімната</li>
<li>Новини</li>
<li>Help</li>
<li>Події</li>
<li>Аналітика галузі</li>
</ul>
<h3 id="425-campus-map-preview">4.2.5. Campus Map Preview<a class="headerlink" href="#425-campus-map-preview" title="Permanent link">&para;</a></h3>
<ul>
<li>Мініатюра 2D-карти</li>
<li>Позиції Sub-DAOs</li>
<li>Кнопка "Відкрити повну карту"</li>
</ul>
<h3 id="426-sub-daos-list">4.2.6. Sub-DAOs List<a class="headerlink" href="#426-sub-daos-list" title="Permanent link">&para;</a></h3>
<div class="codehilite"><pre><span></span><code><span class="kd">interface</span><span class="w"> </span><span class="nx">SubDAO</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nx">id</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">name</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">status</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;active&#39;</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">&#39;pending&#39;</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">&#39;archived&#39;</span><span class="p">;</span>
<span class="w"> </span><span class="nx">memberCount</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span>
<span class="w"> </span><span class="nx">primaryAgent</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">frontRoomId?</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div>
<h3 id="427-district-nodes">4.2.7. District Nodes<a class="headerlink" href="#427-district-nodes" title="Permanent link">&para;</a></h3>
<ul>
<li>Список нод платформи</li>
<li>GPU/CPU ресурси</li>
<li>Статус здоров'я</li>
</ul>
<hr />
<h1 id="5-district-rooms">5. District Rooms (кімнати дистрикту)<a class="headerlink" href="#5-district-rooms" title="Permanent link">&para;</a></h1>
<h2 id="51-internal-rooms">5.1. Internal Rooms (внутрішні)<a class="headerlink" href="#51-internal-rooms" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th>Room ID</th>
<th>Назва</th>
<th>Доступ</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>{district}-strategy</code></td>
<td>Стратегія</td>
<td>Core-team</td>
</tr>
<tr>
<td><code>{district}-tech</code></td>
<td>Технічна команда</td>
<td>Core-team</td>
</tr>
<tr>
<td><code>{district}-business</code></td>
<td>Бізнес-команда</td>
<td>Core-team</td>
</tr>
<tr>
<td><code>{district}-docs</code></td>
<td>Документи</td>
<td>Members</td>
</tr>
</tbody>
</table>
<h2 id="52-public-rooms">5.2. Public Rooms<a class="headerlink" href="#52-public-rooms" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th>Room ID</th>
<th>Назва</th>
<th>Доступ</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>{district}-news</code></td>
<td>Новини</td>
<td>Public</td>
</tr>
<tr>
<td><code>{district}-help</code></td>
<td>Підтримка</td>
<td>Public</td>
</tr>
<tr>
<td><code>{district}-events</code></td>
<td>Події</td>
<td>Public</td>
</tr>
<tr>
<td><code>{district}-faq</code></td>
<td>FAQ</td>
<td>Public</td>
</tr>
<tr>
<td><code>{district}-discussions</code></td>
<td>Обговорення</td>
<td>Members</td>
</tr>
</tbody>
</table>
<h2 id="53-portal-rooms-sub-daos">5.3. Portal Rooms (для Sub-DAOs)<a class="headerlink" href="#53-portal-rooms-sub-daos" title="Permanent link">&para;</a></h2>
<p>Кожне підлегле MicroDAO може виставити свій <strong>портал у дистрикт</strong>:</p>
<div class="codehilite"><pre><span></span><code><span class="nt">rooms</span><span class="p">:</span>
<span class="w"> </span><span class="p p-Indicator">-</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">subdao-solarfarm1-front</span>
<span class="w"> </span><span class="nt">owner_type</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;microdao&#39;</span>
<span class="w"> </span><span class="nt">owner_id</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;solarfarm1&#39;</span>
<span class="w"> </span><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;front-room&#39;</span>
<span class="w"> </span><span class="nt">space_scope</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;district&#39;</span>
<span class="w"> </span><span class="nt">visibility</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;public-city&#39;</span>
<span class="w"> </span><span class="nt">is_portal</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">true</span>
<span class="w"> </span><span class="nt">portal_target_microdao_id</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;solarfarm1&#39;</span>
</code></pre></div>
<h2 id="54-room-data-model">5.4. Room Data Model<a class="headerlink" href="#54-room-data-model" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="c1">-- District rooms мають space_scope = &#39;district&#39;</span>
<span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">rooms</span><span class="w"> </span><span class="p">(</span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">owner_type</span><span class="p">,</span><span class="w"> </span><span class="n">owner_id</span><span class="p">,</span><span class="w"> </span><span class="k">type</span><span class="p">,</span><span class="w"> </span><span class="n">space_scope</span><span class="p">,</span><span class="w"> </span><span class="n">visibility</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">primary_agent_id</span><span class="p">)</span>
<span class="k">VALUES</span><span class="w"> </span>
<span class="w"> </span><span class="p">(</span><span class="s1">&#39;energyunion-center&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;microdao&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;energyunion&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;district-room&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;district&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;members&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Energy Center&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;helion&#39;</span><span class="p">),</span>
<span class="w"> </span><span class="p">(</span><span class="s1">&#39;energyunion-news&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;microdao&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;energyunion&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;district-room&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;district&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;public-city&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Energy News&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;helion&#39;</span><span class="p">),</span>
<span class="w"> </span><span class="p">(</span><span class="s1">&#39;energyunion-help&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;microdao&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;energyunion&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;district-room&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;district&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;public-city&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Energy Help&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;helion&#39;</span><span class="p">);</span>
</code></pre></div>
<hr />
<h1 id="6-district-campus-map-2d">6. District Campus Map (2D)<a class="headerlink" href="#6-district-campus-map-2d" title="Permanent link">&para;</a></h1>
<h2 id="61">6.1. Концепція<a class="headerlink" href="#61" title="Permanent link">&para;</a></h2>
<p>Карта дистрикту — це:</p>
<ul>
<li>окрема 2D-мапа платформи,</li>
<li>подібна до City Map, але локальна,</li>
<li>центральна площа District Center,</li>
<li>розташування підлеглих MicroDAO,</li>
<li>інфраструктурні ноди платформи.</li>
</ul>
<h2 id="62">6.2. Елементи карти<a class="headerlink" href="#62" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="err">┌────────────────────────────────────────────┐</span>
<span class="err"></span><span class="w"> </span><span class="n">ENERGYUNION</span><span class="w"> </span><span class="n">CAMPUS</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">┌─────┐</span><span class="w"> </span><span class="err">┌─────┐</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">Solar</span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">Wind</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">Farm1</span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">Park2</span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">└──┬──┘</span><span class="w"> </span><span class="err">└──┬──┘</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">└───────┬───────┘</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">┌──────┴──────┐</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">DISTRICT</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">CENTER</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="o">[</span><span class="n">Helion</span><span class="o">]</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">└─────────────┘</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">┌─────┐</span><span class="w"> </span><span class="err">┌─────┐</span><span class="w"> </span><span class="err">┌─────┐</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">Node1</span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">Node2</span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">Node3</span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">GPU</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">GPU</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">IoT</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">└─────┘</span><span class="w"> </span><span class="err">└─────┘</span><span class="w"> </span><span class="err">└─────┘</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="o">[</span><span class="n">NEWS</span><span class="o">]</span><span class="w"> </span><span class="o">[</span><span class="n">HELP</span><span class="o">]</span><span class="w"> </span><span class="o">[</span><span class="n">EVENTS</span><span class="o">]</span><span class="w"> </span><span class="o">[</span><span class="n">EXIT→CITY</span><span class="o">]</span><span class="w"> </span><span class="err"></span>
<span class="err">└────────────────────────────────────────────┘</span>
</code></pre></div>
<h2 id="63-map-data-model">6.3. Map Data Model<a class="headerlink" href="#63-map-data-model" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="kd">interface</span><span class="w"> </span><span class="nx">DistrictMapElement</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nx">id</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="kr">type</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;subdao&#39;</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">&#39;room&#39;</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">&#39;node&#39;</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">&#39;agent&#39;</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">&#39;portal&#39;</span><span class="p">;</span>
<span class="w"> </span><span class="nx">x</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span>
<span class="w"> </span><span class="nx">y</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span>
<span class="w"> </span><span class="nx">zone</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">label</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">icon</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">targetId</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span><span class="w"> </span><span class="c1">// ID для переходу</span>
<span class="p">}</span>
<span class="kd">interface</span><span class="w"> </span><span class="nx">DistrictMap</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nx">districtId</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">width</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span>
<span class="w"> </span><span class="nx">height</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span>
<span class="w"> </span><span class="nx">zones</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">[];</span>
<span class="w"> </span><span class="nx">elements</span><span class="o">:</span><span class="w"> </span><span class="kt">DistrictMapElement</span><span class="p">[];</span>
<span class="w"> </span><span class="nx">background</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span><span class="w"> </span><span class="c1">// SVG або image</span>
<span class="p">}</span>
</code></pre></div>
<hr />
<h1 id="7-district-agents">7. District Agents<a class="headerlink" href="#7-district-agents" title="Permanent link">&para;</a></h1>
<h2 id="71-district-lead-agent-primary_agent">7.1. District Lead Agent (primary_agent)<a class="headerlink" href="#71-district-lead-agent-primary_agent" title="Permanent link">&para;</a></h2>
<p>Головний агент дистрикту:</p>
<table>
<thead>
<tr>
<th>District</th>
<th>Lead Agent</th>
<th>Роль</th>
</tr>
</thead>
<tbody>
<tr>
<td>Energyunion</td>
<td><strong>Helion</strong></td>
<td>Energy Platform Lead</td>
</tr>
<tr>
<td>GREENFOOD</td>
<td><strong>ERP-Agent</strong></td>
<td>Agro Platform Lead</td>
</tr>
</tbody>
</table>
<div class="codehilite"><pre><span></span><code><span class="kd">interface</span><span class="w"> </span><span class="nx">DistrictLeadAgent</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nx">id</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">name</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">districtId</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">role</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;district-lead&#39;</span><span class="p">;</span>
<span class="w"> </span><span class="nx">serviceScope</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;district&#39;</span><span class="p">;</span>
<span class="w"> </span><span class="nx">capabilities</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">[];</span>
<span class="w"> </span><span class="nx">publicProfile</span><span class="o">:</span><span class="w"> </span><span class="kt">boolean</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div>
<h2 id="72-district-core-team-agents">7.2. District Core-team Agents<a class="headerlink" href="#72-district-core-team-agents" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="kd">const</span><span class="w"> </span><span class="nx">districtCoreTeam</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">role</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;District CTO&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">agent</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;district-cto-agent&#39;</span><span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">role</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;District Analyst&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">agent</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;district-analyst-agent&#39;</span><span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">role</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;District Manager&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">agent</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;district-manager-agent&#39;</span><span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">role</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;District Integrations&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">agent</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;district-bridge-agent&#39;</span><span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">role</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;District Security&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">agent</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;district-security-agent&#39;</span><span class="w"> </span><span class="p">},</span>
<span class="p">];</span>
</code></pre></div>
<h2 id="73-public-facing-agents">7.3. Public-facing Agents<a class="headerlink" href="#73-public-facing-agents" title="Permanent link">&para;</a></h2>
<p>Агенти, доступні для клієнтів/учасників платформи:</p>
<ul>
<li>Відповідають у публічних кімнатах</li>
<li>Обробляють запити з City Square</li>
<li>Консультують щодо сервісів дистрикту</li>
</ul>
<h2 id="74-agent-hierarchy">7.4. Agent Hierarchy<a class="headerlink" href="#74-agent-hierarchy" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code>District Lead Agent (Helion)
├── District Core-Team
│ ├── CTO Agent
│ ├── Analyst Agent
│ └── Security Agent
└── Sub-DAO Agents
├── SolarFarm1 Orchestrator
└── WindPark2 Orchestrator
</code></pre></div>
<hr />
<h1 id="8-district-microdao">8. District → MicroDAO зв'язок<a class="headerlink" href="#8-district-microdao" title="Permanent link">&para;</a></h1>
<h2 id="81-microdao">8.1. Підлеглі MicroDAO<a class="headerlink" href="#81-microdao" title="Permanent link">&para;</a></h2>
<p>District володіє набором підлеглих MicroDAO:</p>
<div class="codehilite"><pre><span></span><code><span class="c1">-- MicroDAO з parent_microdao_id = district_id</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">microdaos</span><span class="w"> </span>
<span class="k">WHERE</span><span class="w"> </span><span class="n">parent_microdao_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">&#39;energyunion&#39;</span><span class="p">;</span>
</code></pre></div>
<h2 id="82-sub-dao">8.2. Що отримує Sub-DAO<a class="headerlink" href="#82-sub-dao" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th>Перевага</th>
<th>Опис</th>
</tr>
</thead>
<tbody>
<tr>
<td>District Rooms</td>
<td>Доступ до кімнат платформи</td>
</tr>
<tr>
<td>Shared Marketplace</td>
<td>Спільний ринок послуг</td>
</tr>
<tr>
<td>Campus Map</td>
<td>Позиція на карті дистрикту</td>
</tr>
<tr>
<td>Core-team Support</td>
<td>Підтримка від District агентів</td>
</tr>
<tr>
<td>Shared Nodes</td>
<td>Доступ до інфраструктури</td>
</tr>
</tbody>
</table>
<h2 id="83-sub-dao-front-room">8.3. Sub-DAO Front-room<a class="headerlink" href="#83-sub-dao-front-room" title="Permanent link">&para;</a></h2>
<p>MicroDAO може мати:
- свій front-room у District Center,
- свого агента-представника,
- позицію на Campus Map.</p>
<div class="codehilite"><pre><span></span><code><span class="nt">subdao_front_room</span><span class="p">:</span>
<span class="w"> </span><span class="nt">id</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;solarfarm1-front-in-district&#39;</span>
<span class="w"> </span><span class="nt">owner_id</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;solarfarm1&#39;</span>
<span class="w"> </span><span class="nt">space_scope</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;district&#39;</span>
<span class="w"> </span><span class="nt">parent_district_id</span><span class="p">:</span><span class="w"> </span><span class="s">&#39;energyunion&#39;</span>
<span class="w"> </span><span class="nt">map_x</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">50</span>
<span class="w"> </span><span class="nt">map_y</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">30</span>
</code></pre></div>
<hr />
<h1 id="9-district-city">9. District → City зв'язок<a class="headerlink" href="#9-district-city" title="Permanent link">&para;</a></h1>
<h2 id="91-portal-city-square">9.1. Portal на City Square<a class="headerlink" href="#91-portal-city-square" title="Permanent link">&para;</a></h2>
<p>Головний спосіб взаємодії District з містом:</p>
<div class="codehilite"><pre><span></span><code><span class="kd">interface</span><span class="w"> </span><span class="nx">DistrictCityPortal</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nx">districtId</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">portalRoomId</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">position</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">x</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span><span class="w"> </span><span class="nx">y</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="w"> </span><span class="p">};</span>
<span class="w"> </span><span class="nx">zone</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;energy-sector&#39;</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">&#39;agro-sector&#39;</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="s1">&#39;health-sector&#39;</span><span class="p">;</span>
<span class="w"> </span><span class="nx">visibility</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;public-city&#39;</span><span class="p">;</span>
<span class="w"> </span><span class="nx">primaryAgent</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="p">}</span>
</code></pre></div>
<h2 id="92-city-news-integration">9.2. City News Integration<a class="headerlink" href="#92-city-news-integration" title="Permanent link">&para;</a></h2>
<p>Новини та події District потрапляють до City News:</p>
<div class="codehilite"><pre><span></span><code><span class="c1">// Публікація новини в City</span>
<span class="k">await</span><span class="w"> </span><span class="nx">publishToCityNews</span><span class="p">({</span>
<span class="w"> </span><span class="nx">source</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;district&#39;</span><span class="p">,</span>
<span class="w"> </span><span class="nx">sourceId</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;energyunion&#39;</span><span class="p">,</span>
<span class="w"> </span><span class="nx">title</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Нова сонячна станція&#39;</span><span class="p">,</span>
<span class="w"> </span><span class="nx">content</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;...&#39;</span><span class="p">,</span>
<span class="w"> </span><span class="nx">agentId</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;helion&#39;</span><span class="p">,</span>
<span class="p">});</span>
</code></pre></div>
<h2 id="93-district-agents-city">9.3. District Agents у City<a class="headerlink" href="#93-district-agents-city" title="Permanent link">&para;</a></h2>
<p>District Lead Agents доступні як публічні агенти:
- Helion відображається в City Agents каталозі
- Можна поговорити з Helion з City Square</p>
<h2 id="94-district-nodes-city-infrastructure">9.4. District Nodes у City Infrastructure<a class="headerlink" href="#94-district-nodes-city-infrastructure" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="c1">// Ноди дистрикту видимі в City Infrastructure View</span>
<span class="kd">const</span><span class="w"> </span><span class="nx">districtNodes</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nx">getNodesByMicrodao</span><span class="p">(</span><span class="s1">&#39;energyunion&#39;</span><span class="p">);</span>
<span class="c1">// Відображаються в /city/infrastructure</span>
</code></pre></div>
<hr />
<h1 id="10-district-interface-api">10. District Interface API<a class="headerlink" href="#10-district-interface-api" title="Permanent link">&para;</a></h1>
<h2 id="101-district-routes">10.1. District Routes<a class="headerlink" href="#101-district-routes" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="c1">// GET /api/v1/districts</span>
<span class="c1">// GET /api/v1/districts/:id</span>
<span class="c1">// GET /api/v1/districts/:id/dashboard</span>
<span class="c1">// GET /api/v1/districts/:id/rooms</span>
<span class="c1">// GET /api/v1/districts/:id/subdaos</span>
<span class="c1">// GET /api/v1/districts/:id/map</span>
<span class="c1">// GET /api/v1/districts/:id/agents</span>
<span class="c1">// GET /api/v1/districts/:id/nodes</span>
<span class="c1">// GET /api/v1/districts/:id/stats</span>
<span class="c1">// POST /api/v1/districts/:id/subdaos (add Sub-DAO)</span>
<span class="c1">// POST /api/v1/districts/:id/rooms (create room)</span>
</code></pre></div>
<h2 id="102-district-dashboard-api">10.2. District Dashboard API<a class="headerlink" href="#102-district-dashboard-api" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="kd">interface</span><span class="w"> </span><span class="nx">DistrictDashboardResponse</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nx">district</span><span class="o">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nx">id</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">name</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="kr">type</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;district&#39;</span><span class="p">;</span>
<span class="w"> </span><span class="nx">primaryAgent</span><span class="o">:</span><span class="w"> </span><span class="kt">Agent</span><span class="p">;</span>
<span class="w"> </span><span class="nx">teamAgents</span><span class="o">:</span><span class="w"> </span><span class="kt">Agent</span><span class="p">[];</span>
<span class="w"> </span><span class="p">};</span>
<span class="w"> </span><span class="nx">stats</span><span class="o">:</span><span class="w"> </span><span class="kt">DistrictStats</span><span class="p">;</span>
<span class="w"> </span><span class="nx">rooms</span><span class="o">:</span><span class="w"> </span><span class="kt">Room</span><span class="p">[];</span>
<span class="w"> </span><span class="nx">subdaos</span><span class="o">:</span><span class="w"> </span><span class="kt">Microdao</span><span class="p">[];</span>
<span class="w"> </span><span class="nx">map</span><span class="o">:</span><span class="w"> </span><span class="kt">DistrictMap</span><span class="p">;</span>
<span class="w"> </span><span class="nx">nodes</span><span class="o">:</span><span class="w"> </span><span class="kt">Node</span><span class="p">[];</span>
<span class="w"> </span><span class="nx">recentEvents</span><span class="o">:</span><span class="w"> </span><span class="kt">Event</span><span class="p">[];</span>
<span class="p">}</span>
</code></pre></div>
<h2 id="103-district-map-api">10.3. District Map API<a class="headerlink" href="#103-district-map-api" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="c1">// GET /api/v1/districts/:id/map</span>
<span class="kd">interface</span><span class="w"> </span><span class="nx">DistrictMapResponse</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nx">districtId</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">name</span><span class="o">:</span><span class="w"> </span><span class="kt">string</span><span class="p">;</span>
<span class="w"> </span><span class="nx">dimensions</span><span class="o">:</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">width</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">;</span><span class="w"> </span><span class="nx">height</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="w"> </span><span class="p">};</span>
<span class="w"> </span><span class="nx">zones</span><span class="o">:</span><span class="w"> </span><span class="kt">Zone</span><span class="p">[];</span>
<span class="w"> </span><span class="nx">elements</span><span class="o">:</span><span class="w"> </span><span class="kt">MapElement</span><span class="p">[];</span>
<span class="w"> </span><span class="nx">connections</span><span class="o">:</span><span class="w"> </span><span class="kt">Connection</span><span class="p">[];</span>
<span class="p">}</span>
</code></pre></div>
<hr />
<h1 id="11-district-interface-ui-structure">11. District Interface: UI Structure<a class="headerlink" href="#11-district-interface-ui-structure" title="Permanent link">&para;</a></h1>
<h2 id="111-district-navigation">11.1. District Navigation<a class="headerlink" href="#111-district-navigation" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="kd">const</span><span class="w"> </span><span class="nx">districtNavItems</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">path</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;/district/:id&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">label</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Dashboard&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">icon</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;🏠&#39;</span><span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">path</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;/district/:id/rooms&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">label</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Rooms&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">icon</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;💬&#39;</span><span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">path</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;/district/:id/subdaos&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">label</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Sub-DAOs&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">icon</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;🏢&#39;</span><span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">path</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;/district/:id/map&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">label</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Campus Map&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">icon</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;🗺️&#39;</span><span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">path</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;/district/:id/agents&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">label</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Agents&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">icon</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;🤖&#39;</span><span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">path</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;/district/:id/nodes&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">label</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Nodes&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">icon</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;🖥️&#39;</span><span class="w"> </span><span class="p">},</span>
<span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nx">path</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;/district/:id/events&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">label</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;Events&#39;</span><span class="p">,</span><span class="w"> </span><span class="nx">icon</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;📅&#39;</span><span class="w"> </span><span class="p">},</span>
<span class="p">];</span>
</code></pre></div>
<h2 id="112-district-center">11.2. District Center (головна сторінка)<a class="headerlink" href="#112-district-center" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="err">┌─────────────────────────────────────────────────┐</span>
<span class="err"></span><span class="w"> </span><span class="o">[</span><span class="n">← City</span><span class="o">]</span><span class="w"> </span><span class="n">ENERGYUNION</span><span class="w"> </span><span class="n">DISTRICT</span><span class="w"> </span><span class="o">[</span><span class="n">Settings</span><span class="o">]</span><span class="w"> </span><span class="err"></span>
<span class="err">├─────────────────────────────────────────────────┤</span>
<span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">┌──────────────┐</span><span class="w"> </span><span class="err">┌─────────────────────────┐</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">HELION</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">District</span><span class="w"> </span><span class="n">Stats</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">🔋</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">Sub</span><span class="o">-</span><span class="nl">DAOs</span><span class="p">:</span><span class="w"> </span><span class="mi">12</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">Lead</span><span class="w"> </span><span class="n">Agent</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="nl">Agents</span><span class="p">:</span><span class="w"> </span><span class="mi">45</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="o">[</span><span class="n">Chat</span><span class="o">]</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="nl">Nodes</span><span class="p">:</span><span class="w"> </span><span class="mi">8</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">└──────────────┘</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="nl">Members</span><span class="p">:</span><span class="w"> </span><span class="mi">234</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">└─────────────────────────┘</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">┌─────────────────────────────────────────────┐│</span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">CAMPUS</span><span class="w"> </span><span class="k">MAP</span><span class="w"> </span><span class="p">(</span><span class="n">preview</span><span class="p">)</span><span class="w"> </span><span class="err">││</span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="o">[</span><span class="n">Solar</span><span class="o">]</span><span class="w"> </span><span class="o">[</span><span class="n">Wind</span><span class="o">]</span><span class="w"> </span><span class="o">[</span><span class="n">Center</span><span class="o">]</span><span class="w"> </span><span class="o">[</span><span class="n">Storage</span><span class="o">]</span><span class="w"> </span><span class="err">││</span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="o">[</span><span class="n">View Full Map →</span><span class="o">]</span><span class="w"> </span><span class="err">││</span>
<span class="err"></span><span class="w"> </span><span class="err">└─────────────────────────────────────────────┘│</span>
<span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">┌──────────┐</span><span class="w"> </span><span class="err">┌──────────┐</span><span class="w"> </span><span class="err">┌──────────┐</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">│📰</span><span class="w"> </span><span class="n">News</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">│❓</span><span class="w"> </span><span class="n">Help</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">│📅</span><span class="w"> </span><span class="n">Events</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">└──────────┘</span><span class="w"> </span><span class="err">└──────────┘</span><span class="w"> </span><span class="err">└──────────┘</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="n">Sub</span><span class="o">-</span><span class="nl">DAOs</span><span class="p">:</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">┌─────────┐</span><span class="w"> </span><span class="err">┌─────────┐</span><span class="w"> </span><span class="err">┌─────────┐</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">SolarFarm</span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">WindPark</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err"></span><span class="n">Storage</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="o">[</span><span class="n">+Add</span><span class="o">]</span><span class="w"> </span><span class="err"></span>
<span class="err"></span><span class="w"> </span><span class="err">└─────────┘</span><span class="w"> </span><span class="err">└─────────┘</span><span class="w"> </span><span class="err">└─────────┘</span><span class="w"> </span><span class="err"></span>
<span class="err">└─────────────────────────────────────────────────┘</span>
</code></pre></div>
<hr />
<h1 id="12-district-registration-lifecycle">12. District Registration &amp; Lifecycle<a class="headerlink" href="#12-district-registration-lifecycle" title="Permanent link">&para;</a></h1>
<h2 id="121-district">12.1. Як створюється District<a class="headerlink" href="#121-district" title="Permanent link">&para;</a></h2>
<p>Дистрикт може створити:</p>
<ol>
<li><strong>Оркестратор MicroDAO</strong> — промоутить своє DAO до District</li>
<li><strong>City-level процес</strong> — рішення DAARWIZZ / City Governance</li>
<li><strong>Автоматичний алгоритм</strong> — на основі активності та масштабу</li>
</ol>
<h2 id="122-promotion-flow">12.2. Promotion Flow<a class="headerlink" href="#122-promotion-flow" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="nx">MicroDAO</span><span class="w"> </span><span class="p">(</span><span class="k">type</span><span class="p">=</span><span class="err">&#39;</span><span class="nx">standard</span><span class="err">&#39;</span><span class="p">)</span>
<span class="w"> </span><span class="err"></span>
<span class="w"> </span><span class="err">├──</span><span class="w"> </span><span class="nx">Виконано</span><span class="w"> </span><span class="nx">умови</span><span class="p">:</span>
<span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">├──</span><span class="w"> </span><span class="mi">5</span><span class="o">+</span><span class="w"> </span><span class="nx">Sub</span><span class="o">-</span><span class="nx">DAOs</span>
<span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">├──</span><span class="w"> </span><span class="mi">100</span><span class="o">+</span><span class="w"> </span><span class="nx">учасників</span>
<span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">├──</span><span class="w"> </span><span class="nx">Активний</span><span class="w"> </span><span class="mi">3</span><span class="o">+</span><span class="w"> </span><span class="nx">місяці</span>
<span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">└──</span><span class="w"> </span><span class="nx">Governance</span><span class="w"> </span><span class="nx">approval</span>
<span class="w"> </span><span class="err"></span>
<span class="w"> </span><span class="err"></span>
<span class="nx">MicroDAO</span><span class="w"> </span><span class="p">(</span><span class="k">type</span><span class="p">=</span><span class="err">&#39;</span><span class="nx">district</span><span class="err">&#39;</span><span class="p">)</span>
<span class="w"> </span><span class="err"></span>
<span class="w"> </span><span class="err">├──</span><span class="w"> </span><span class="nx">Отримує</span><span class="p">:</span>
<span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">├──</span><span class="w"> </span><span class="nx">District</span><span class="w"> </span><span class="nx">Dashboard</span>
<span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">├──</span><span class="w"> </span><span class="nx">Campus</span><span class="w"> </span><span class="nx">Map</span>
<span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">├──</span><span class="w"> </span><span class="nx">City</span><span class="w"> </span><span class="nx">Portal</span>
<span class="w"> </span><span class="err"></span><span class="w"> </span><span class="err">└──</span><span class="w"> </span><span class="nx">District</span><span class="w"> </span><span class="nx">Agent</span><span class="w"> </span><span class="nx">roles</span>
</code></pre></div>
<h2 id="123-event">12.3. Event<a class="headerlink" href="#123-event" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code><span class="c1">// dagion.microdao.promoted_to_district</span>
<span class="p">{</span>
<span class="w"> </span><span class="nx">microdaoId</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;energyunion&#39;</span><span class="p">,</span>
<span class="w"> </span><span class="nx">promotedByAgentId</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;daarwizz&#39;</span><span class="p">,</span>
<span class="w"> </span><span class="nx">parentMicrodaoId</span><span class="o">:</span><span class="w"> </span><span class="kt">null</span><span class="p">,</span>
<span class="w"> </span><span class="nx">timestamp</span><span class="o">:</span><span class="w"> </span><span class="s1">&#39;2025-11-29T23:30:00Z&#39;</span>
<span class="p">}</span>
</code></pre></div>
<hr />
<h1 id="13-mvp-scope">13. MVP Scope<a class="headerlink" href="#13-mvp-scope" title="Permanent link">&para;</a></h1>
<h2 id="131-mvp">13.1. Обов'язково для MVP<a class="headerlink" href="#131-mvp" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th>Компонент</th>
<th>Статус</th>
</tr>
</thead>
<tbody>
<tr>
<td>District Dashboard</td>
<td>🔜 Required</td>
</tr>
<tr>
<td>District Rooms (2-3 public)</td>
<td>🔜 Required</td>
</tr>
<tr>
<td>District Lead Agent</td>
<td>🔜 Required</td>
</tr>
<tr>
<td>District Portal на City Square</td>
<td>🔜 Required</td>
</tr>
<tr>
<td>Список підлеглих MicroDAO</td>
<td>🔜 Required</td>
</tr>
<tr>
<td>District Campus Map (базова 2D)</td>
<td>🔜 Required</td>
</tr>
<tr>
<td>Public-facing Agent (Helion/ERP)</td>
<td>🔜 Required</td>
</tr>
</tbody>
</table>
<h2 id="132-mvp">13.2. Після MVP<a class="headerlink" href="#132-mvp" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th>Компонент</th>
<th>Priority</th>
</tr>
</thead>
<tbody>
<tr>
<td>Інтерактивна 2D карта</td>
<td>Medium</td>
</tr>
<tr>
<td>3D Campus</td>
<td>Low</td>
</tr>
<tr>
<td>District Events system</td>
<td>Medium</td>
</tr>
<tr>
<td>Міні-економіка дистрикту</td>
<td>Low</td>
</tr>
<tr>
<td>Графи взаємодії DAO</td>
<td>Low</td>
</tr>
<tr>
<td>District-to-District</td>
<td>Low</td>
</tr>
</tbody>
</table>
<hr />
<h1 id="14">14. Зв'язок з іншими документами<a class="headerlink" href="#14" title="Permanent link">&para;</a></h1>
<table>
<thead>
<tr>
<th>Документ</th>
<th>Зв'язок</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>DAARION_Ontology_Core_v1.md</code></td>
<td>District = MicroDAO type='district'</td>
</tr>
<tr>
<td><code>Rooms_Layer_Architecture_v1.md</code></td>
<td>District Rooms, space_scope='district'</td>
</tr>
<tr>
<td><code>City_Interface_Architecture_v1.md</code></td>
<td>District Portal на City Square</td>
</tr>
<tr>
<td><code>MicroDAO_Interface_Architecture_v1.md</code></td>
<td>Sub-DAO структура</td>
</tr>
<tr>
<td><code>Agents_Interface_Architecture_v1.md</code></td>
<td>District Lead Agent, team agents</td>
</tr>
<tr>
<td><code>Nodes_Interface_Architecture_v1.md</code></td>
<td>District Nodes</td>
</tr>
<tr>
<td><code>microdao_Data_Model_UPDATE_v1.md</code></td>
<td>parent_microdao_id, dao_type</td>
</tr>
</tbody>
</table>
<hr />
<h1 id="15">15. Підсумок<a class="headerlink" href="#15" title="Permanent link">&para;</a></h1>
<p>Цей документ визначає:</p>
<ul>
<li><strong>структуру District Space</strong> — міні-місто в місті,</li>
<li><strong>District Dashboard</strong> — центр керування платформою,</li>
<li><strong>District Rooms</strong> — кімнати різних рівнів доступу,</li>
<li><strong>District Campus Map</strong> — 2D карта дистрикту,</li>
<li><strong>District Agents</strong> — Lead Agent + Core-team,</li>
<li><strong>Portal у City Square</strong> — вітрина в місті,</li>
<li><strong>Sub-DAOs</strong> — підлеглі MicroDAO,</li>
<li><strong>API та UI</strong> — маршрути та інтерфейс.</li>
</ul>
<h2 id="daarioncity">Золотий трикутник DAARION.city:<a class="headerlink" href="#daarioncity" title="Permanent link">&para;</a></h2>
<div class="codehilite"><pre><span></span><code> ┌─────────────┐
│ CITY │
│ (глобальне │
│ місто) │
└──────┬──────┘
┌──────────┼──────────┐
│ │ │
┌───▼───┐ ┌───▼───┐ ┌───▼───┐
│DISTRICT│ │DISTRICT│ │DISTRICT│
│Energy │ │Green │ │Health │
│Union │ │Food │ │ │
└───┬────┘ └───┬────┘ └───┬────┘
│ │ │
┌───▼───┐ ┌───▼───┐ ┌───▼───┐
│MicroDAO│ │MicroDAO│ │MicroDAO│
│Solar1 │ │Farm1 │ │Clinic1 │
└────────┘ └────────┘ └────────┘
</code></pre></div>
<p><strong>DAARION.city → District → MicroDAO</strong><br />
<strong>місто → район → організація</strong></p>
<p>District — це «галузевий космос» у місті, що об'єднує десятки MicroDAO під спільною платформою.</p>
<hr />
<p><strong>Документ №13 завершено.</strong></p>
<p>Готовий до наступного фундаментального документа:
- <strong>DAIS_Layer_Architecture_v1.md</strong>, або
- <strong>Agent_Governance_Protocol_v1.md</strong></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>