Files
microdao-daarion/site/cursor/18_governance_access_agent/index.html

976 lines
37 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/cursor/18_governance_access_agent/">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
<title>18 — Governance & Access Agent (MicroDAO) - 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="#18-governance-access-agent-microdao" 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">
18 — Governance & Access Agent (MicroDAO)
</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="18-governance-access-agent-microdao">18 — Governance &amp; Access Agent (MicroDAO)<a class="headerlink" href="#18-governance-access-agent-microdao" title="Permanent link">&para;</a></h1>
<p>Агент правил, доступів, ритуалів та духу спільноти</p>
<p>Цей модуль визначає, як спільнота microDAO керує собою:<br />
правила, права доступу, колективні рішення, символічні ключі, ритуали довіри та механізми узгодження. </p>
<p>Це НЕ фінансова система.<br />
Це <strong>етико-організаційна інфраструктура</strong>, яка тримає єдність духу спільноти.</p>
<hr />
<h1 id="1">1. Призначення<a class="headerlink" href="#1" title="Permanent link">&para;</a></h1>
<p>Governance &amp; Access Agent відповідає за:</p>
<ul>
<li><strong>правила спільноти</strong> (policies),</li>
<li><strong>роли й дозволи</strong> (RBAC + entitlements),</li>
<li><strong>символічні ключі доступу</strong> (soulbound / capability keys),</li>
<li><strong>ритуали узгодження</strong> (голосування, сигнали підтримки, консенсус),</li>
<li><strong>індекс довіри та реноме</strong> (не фінансовий),</li>
<li><strong>координацію взаємодії між агентами та людьми</strong>.</li>
</ul>
<p>Все це забезпечує гармонію всередині microDAO.</p>
<hr />
<h1 id="2">2. Ключові концепти<a class="headerlink" href="#2" title="Permanent link">&para;</a></h1>
<h2 id="21-community-keys">2.1. "Ключі спільноти" (Community Keys)<a class="headerlink" href="#21-community-keys" title="Permanent link">&para;</a></h2>
<p>Це не монети чи валюта.<br />
Це <strong>символічні доступи</strong>, які визначають:</p>
<ul>
<li>членство,</li>
<li>рівень участі,</li>
<li>довіру,</li>
<li>право вводити/виводити агентів у простір.</li>
</ul>
<p>Кожен ключ може бути:</p>
<ul>
<li><strong>особистим</strong> (soulbound),</li>
<li><strong>командним</strong> (для проєкту),</li>
<li><strong>контекстним</strong> (для певного простору знань чи каналу).</li>
</ul>
<h2 id="22">2.2. "Ритуали узгодження"<a class="headerlink" href="#22" title="Permanent link">&para;</a></h2>
<p>Замість слова "голосування" можна використовувати:</p>
<ul>
<li>"колективний сигнал підтримки",</li>
<li>"колективна згода",</li>
<li>"ритуал затвердження".</li>
</ul>
<p>Це спрощений процес, який може включати:</p>
<ul>
<li>варіанти "підтримую / не підтримую",</li>
<li>коментарі,</li>
<li>пропозиції поправок,</li>
<li>участь агентів.</li>
</ul>
<h2 id="23">2.3. "Індекс довіри"<a class="headerlink" href="#23" title="Permanent link">&para;</a></h2>
<p>Нефінансова, духовна метрика участі:</p>
<ul>
<li>внесок у спільноту,</li>
<li>кількість створених фактів,</li>
<li>допомога іншим,</li>
<li>активність в agent-based просторах,</li>
<li>прийняті пропозиції.</li>
</ul>
<hr />
<h1 id="3-governance-agent">3. Роль Governance Agent<a class="headerlink" href="#3-governance-agent" title="Permanent link">&para;</a></h1>
<p>Роль агента: <code>"governance_core"</code></p>
<p>Він:</p>
<ul>
<li>стежить за правилами,</li>
<li>пропонує, коли потрібно затвердити зміни,</li>
<li>забезпечує правильне застосування доступів,</li>
<li>координує "ритуали узгодження",</li>
<li>захищає конфіденційні простори,</li>
<li>видає/анулює символічні ключі.</li>
</ul>
<hr />
<h1 id="4-access-agent">4. Ролі Access Agent<a class="headerlink" href="#4-access-agent" title="Permanent link">&para;</a></h1>
<p>Роль: <code>"access_keeper"</code></p>
<p>Він:</p>
<ul>
<li>керує entitlements (доступами),</li>
<li>
<p>створює capability-доступи для:</p>
</li>
<li>
<p>людей,</p>
</li>
<li>агентів,</li>
<li>
<p>просторів,</p>
</li>
<li>
<p>гарантує, що агенти не виходять за межі своїх прав.</p>
</li>
</ul>
<hr />
<h1 id="5">5. Структура правил<a class="headerlink" href="#5" title="Permanent link">&para;</a></h1>
<h2 id="51">5.1. Рівні правил<a class="headerlink" href="#51" title="Permanent link">&para;</a></h2>
<p>Правила діляться на 3 рівні:</p>
<ol>
<li>
<p><strong>Простору (microDAO)</strong></p>
</li>
<li>
<p>загальні принципи,</p>
</li>
<li>стилістика взаємодії,</li>
<li>
<p>етичні правила.</p>
</li>
<li>
<p><strong>Проєкту</strong></p>
</li>
<li>
<p>специфічні для конкретної роботи,</p>
</li>
<li>права агентів у межах проєкту,</li>
<li>
<p>ритуали перевірки прогресу.</p>
</li>
<li>
<p><strong>Контексту / каналу</strong></p>
</li>
<li>
<p>прості локальні правила.</p>
</li>
</ol>
<h2 id="52">5.2. Формат зберігання правил<a class="headerlink" href="#52" title="Permanent link">&para;</a></h2>
<p>Таблиця <code>governance_policies</code>:</p>
<ul>
<li>id </li>
<li>team_id </li>
<li>title </li>
<li>body_text </li>
<li>created_by </li>
<li>scope (<code>team</code>, <code>project</code>, <code>channel</code>) </li>
<li>created_at </li>
</ul>
<hr />
<h1 id="6-rbac-entitlements">6. Інтеграція з RBAC та Entitlements<a class="headerlink" href="#6-rbac-entitlements" title="Permanent link">&para;</a></h1>
<p>Використовується модуль <code>microdao — RBAC and Entitlements (MVP)</code>.</p>
<p>Governance Agent:</p>
<ul>
<li>створює entitlements,</li>
<li>оновлює/анулює доступи,</li>
<li>пропонує оновлення прав агентів,</li>
<li>захищає конфіденційні зони.</li>
</ul>
<p>Доступ може бути:</p>
<ul>
<li><code>read</code>,</li>
<li><code>write</code>,</li>
<li><code>tasks</code>,</li>
<li><code>knowledge</code>,</li>
<li><code>presence</code>.</li>
</ul>
<p>Ключі можуть бути soulbound, або привʼязані до ролей.</p>
<hr />
<h1 id="7">7. Ритуали узгодження<a class="headerlink" href="#7" title="Permanent link">&para;</a></h1>
<h2 id="71">7.1. Створення ритуалу<a class="headerlink" href="#71" title="Permanent link">&para;</a></h2>
<p>Через чат агентів:</p>
<blockquote>
<p>"Запропонуй зміни в правилах."<br />
"Проведи ритуал узгодження щодо нового документа."<br />
"Чи підтримує спільнота цей простір знань?"</p>
</blockquote>
<h2 id="72">7.2. Модель ритуалу<a class="headerlink" href="#72" title="Permanent link">&para;</a></h2>
<p><code>governance_rituals</code>:</p>
<ul>
<li>id </li>
<li>team_id </li>
<li>title </li>
<li>description </li>
<li>options (наприклад: підтримую / не підтримую) </li>
<li>created_by </li>
<li>closes_at </li>
<li>status </li>
</ul>
<h2 id="73">7.3. Перебіг<a class="headerlink" href="#73" title="Permanent link">&para;</a></h2>
<p>Governance Agent:</p>
<ol>
<li>Створює ритуал.</li>
<li>Повідомляє всіх учасників.</li>
<li>Збирає сигнали підтримки у чатах і через агентів.</li>
<li>Формує summary.</li>
<li>Оновлює правила/доступи або пропонує зміни.</li>
</ol>
<hr />
<h1 id="8-soulbound-keys">8. Символічні ключі (Soulbound Keys)<a class="headerlink" href="#8-soulbound-keys" title="Permanent link">&para;</a></h1>
<p>Це:</p>
<ul>
<li>особисті ключі для членів microDAO,</li>
<li>ключі проєктів,</li>
<li>ключі агентів,</li>
<li>ключі доступу до конфіденційних просторів.</li>
</ul>
<p>Дані зберігаються в <code>governance_keys</code>:</p>
<ul>
<li>id </li>
<li>team_id </li>
<li>owner_kind (<code>user</code> | <code>agent</code>) </li>
<li>owner_id </li>
<li>scope (<code>team</code>, <code>project</code>, <code>channel</code>) </li>
<li>permissions (json array) </li>
<li>created_at </li>
</ul>
<hr />
<h1 id="9">9. Інтеграція з агентами інших модулів<a class="headerlink" href="#9" title="Permanent link">&para;</a></h1>
<h3 id="messenger-agent">Messenger Agent<a class="headerlink" href="#messenger-agent" title="Permanent link">&para;</a></h3>
<ul>
<li>отримує сповіщення про зміни доступів,</li>
<li>не допускає агентів у заборонені канали.</li>
</ul>
<h3 id="projects-agent">Projects Agent<a class="headerlink" href="#projects-agent" title="Permanent link">&para;</a></h3>
<ul>
<li>отримує дозволи на створення/оновлення задач у контекстах.</li>
</ul>
<h3 id="memory-agent">Memory Agent<a class="headerlink" href="#memory-agent" title="Permanent link">&para;</a></h3>
<ul>
<li>додає факти: "Правило X затверджено", "Ритуал Y завершено".</li>
</ul>
<h3 id="agent-hub">Agent Hub<a class="headerlink" href="#agent-hub" title="Permanent link">&para;</a></h3>
<ul>
<li>показує короткі огляди активних ритуалів і важливих рішень.</li>
</ul>
<hr />
<h1 id="10-ui">10. UI<a class="headerlink" href="#10-ui" title="Permanent link">&para;</a></h1>
<h2 id="101-sidebar">10.1. Sidebar → Правила<a class="headerlink" href="#101-sidebar" title="Permanent link">&para;</a></h2>
<ul>
<li>Кнопка "Правила спільноти"</li>
<li>Кнопка "Символічні ключі"</li>
</ul>
<h2 id="102">10.2. Сторінка правил<a class="headerlink" href="#102" title="Permanent link">&para;</a></h2>
<ul>
<li>Список правил</li>
<li>Фільтри: team / project / channel</li>
<li>Кнопка "Запропонувати зміну"</li>
</ul>
<h2 id="103">10.3. Сторінка символічних ключів<a class="headerlink" href="#103" title="Permanent link">&para;</a></h2>
<ul>
<li>
<p>Список ключів:</p>
</li>
<li>
<p>належать користувачу,</p>
</li>
<li>
<p>належать агентам користувача,</p>
</li>
<li>
<p>Контекст доступів.</p>
</li>
</ul>
<h2 id="104">10.4. Ритуали узгодження<a class="headerlink" href="#104" title="Permanent link">&para;</a></h2>
<ul>
<li>Список активних ритуалів.</li>
<li>
<p>Оголошення:</p>
</li>
<li>
<p>"Потрібна увага спільноти."</p>
</li>
<li>
<p>Кнопка "Підтримати" чи "Не підтримую".</p>
</li>
</ul>
<hr />
<h1 id="11-tools-runtime-core">11. Tools (сумісно з Runtime Core)<a class="headerlink" href="#11-tools-runtime-core" title="Permanent link">&para;</a></h1>
<h3 id="111-create_policy">11.1. create_policy<a class="headerlink" href="#111-create_policy" title="Permanent link">&para;</a></h3>
<p>Створює нове правило.</p>
<h3 id="112-update_policy">11.2. update_policy<a class="headerlink" href="#112-update_policy" title="Permanent link">&para;</a></h3>
<p>Оновлює існуюче правило.</p>
<h3 id="113-create_key">11.3. create_key<a class="headerlink" href="#113-create_key" title="Permanent link">&para;</a></h3>
<p>Створює символічний ключ доступу.</p>
<h3 id="114-revoke_key">11.4. revoke_key<a class="headerlink" href="#114-revoke_key" title="Permanent link">&para;</a></h3>
<p>Анулює ключ.</p>
<h3 id="115-create_ritual">11.5. create_ritual<a class="headerlink" href="#115-create_ritual" title="Permanent link">&para;</a></h3>
<p>Створює ритуал узгодження.</p>
<h3 id="116-collect_support">11.6. collect_support<a class="headerlink" href="#116-collect_support" title="Permanent link">&para;</a></h3>
<p>Збирає сигнали підтримки.</p>
<h3 id="117-finalize_ritual">11.7. finalize_ritual<a class="headerlink" href="#117-finalize_ritual" title="Permanent link">&para;</a></h3>
<p>Підсумок ритуалу:</p>
<ul>
<li>оновити правила,</li>
<li>або передати у Memory Agent для аналізу.</li>
</ul>
<hr />
<h1 id="12-runtime-core">12. Конфіг агента (Runtime Core)<a class="headerlink" href="#12-runtime-core" title="Permanent link">&para;</a></h1>
<div class="codehilite"><pre><span></span><code><span class="kd">const</span><span class="w"> </span><span class="nx">governanceAgentConfig</span><span class="o">:</span><span class="w"> </span><span class="kt">AgentConfig</span><span class="w"> </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="s2">&quot;ag_governance_core&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nx">teamId</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;...&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nx">name</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;Governance Agent&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nx">role</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;governance_core&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nx">systemPrompt</span><span class="o">:</span><span class="w"> </span><span class="kt">systemGovernancePrompt</span><span class="p">,</span>
<span class="w"> </span><span class="nx">memoryScope</span><span class="o">:</span><span class="w"> </span><span class="s2">&quot;team&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="nx">tools</span><span class="o">:</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="s2">&quot;create_policy&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="s2">&quot;update_policy&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="s2">&quot;create_key&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="s2">&quot;revoke_key&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="s2">&quot;create_ritual&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="s2">&quot;collect_support&quot;</span><span class="p">,</span>
<span class="w"> </span><span class="s2">&quot;finalize_ritual&quot;</span>
<span class="w"> </span><span class="p">]</span>
<span class="p">};</span>
</code></pre></div>
<hr />
<h1 id="13-api">13. API<a class="headerlink" href="#13-api" title="Permanent link">&para;</a></h1>
<h3 id="policies">Policies<a class="headerlink" href="#policies" title="Permanent link">&para;</a></h3>
<p><code>GET /governance/policies?team_id</code>
<code>POST /governance/policies</code>
<code>PATCH /governance/policies/:id</code></p>
<h3 id="keys">Keys<a class="headerlink" href="#keys" title="Permanent link">&para;</a></h3>
<p><code>GET /governance/keys?team_id</code>
<code>POST /governance/keys</code>
<code>DELETE /governance/keys/:id</code></p>
<h3 id="rituals">Rituals<a class="headerlink" href="#rituals" title="Permanent link">&para;</a></h3>
<p><code>GET /governance/rituals?team_id</code>
<code>POST /governance/rituals</code>
<code>PATCH /governance/rituals/:id</code></p>
<hr />
<h1 id="14-cursor">14. Інструкції для Cursor<a class="headerlink" href="#14-cursor" title="Permanent link">&para;</a></h1>
<div class="codehilite"><pre><span></span><code><span class="n">Implement</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="n">Governance</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="n">Access</span><span class="w"> </span><span class="n">Agent</span><span class="w"> </span><span class="n">using</span><span class="p">:</span>
<span class="o">-</span><span class="w"> </span><span class="mi">18</span><span class="n">_governance_access_agent</span><span class="o">.</span><span class="n">md</span>
<span class="o">-</span><span class="w"> </span><span class="n">microdao</span><span class="w"> </span><span class="err"></span><span class="w"> </span><span class="n">RBAC</span><span class="w"> </span><span class="ow">and</span><span class="w"> </span><span class="n">Entitlements</span><span class="w"> </span><span class="p">(</span><span class="n">MVP</span><span class="p">)</span>
<span class="o">-</span><span class="w"> </span><span class="mi">12</span><span class="n">_agent_runtime_core</span><span class="o">.</span><span class="n">md</span>
<span class="o">-</span><span class="w"> </span><span class="mi">13</span><span class="n">_agent_memory_system</span><span class="o">.</span><span class="n">md</span>
<span class="o">-</span><span class="w"> </span><span class="mi">10</span><span class="n">_agent_ui_system</span><span class="o">.</span><span class="n">md</span>
<span class="o">-</span><span class="w"> </span><span class="mi">05</span><span class="n">_coding_standards</span><span class="o">.</span><span class="n">md</span>
<span class="n">Tasks</span><span class="p">:</span>
<span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">Create</span><span class="w"> </span><span class="n">models</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">governance_policies</span><span class="p">,</span><span class="w"> </span><span class="n">governance_keys</span><span class="p">,</span><span class="w"> </span><span class="n">governance_rituals</span><span class="o">.</span>
<span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="n">Implement</span><span class="w"> </span><span class="n">API</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="n">policies</span><span class="p">,</span><span class="w"> </span><span class="n">keys</span><span class="p">,</span><span class="w"> </span><span class="ow">and</span><span class="w"> </span><span class="n">rituals</span><span class="o">.</span>
<span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="n">Register</span><span class="w"> </span><span class="n">Governance</span><span class="w"> </span><span class="n">Agent</span><span class="w"> </span><span class="n">with</span><span class="w"> </span><span class="n">tools</span><span class="o">.</span>
<span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="n">Create</span><span class="w"> </span><span class="n">UI</span><span class="p">:</span>
<span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">Policies</span><span class="w"> </span><span class="n">page</span>
<span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">Symbolic</span><span class="w"> </span><span class="n">Keys</span><span class="w"> </span><span class="n">page</span>
<span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">Rituals</span><span class="w"> </span><span class="n">page</span>
<span class="mi">5</span><span class="p">)</span><span class="w"> </span><span class="n">Integrate</span><span class="w"> </span><span class="n">with</span><span class="w"> </span><span class="n">Agent</span><span class="w"> </span><span class="n">Hub</span><span class="p">:</span><span class="w"> </span><span class="n">show</span><span class="w"> </span><span class="n">active</span><span class="w"> </span><span class="n">rituals</span><span class="w"> </span><span class="ow">and</span><span class="w"> </span><span class="n">key</span><span class="w"> </span><span class="n">policy</span><span class="w"> </span><span class="n">changes</span><span class="o">.</span>
<span class="mi">6</span><span class="p">)</span><span class="w"> </span><span class="n">Ensure</span><span class="w"> </span><span class="n">no</span><span class="w"> </span><span class="n">financial</span><span class="w"> </span><span class="n">vocabulary</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">used</span><span class="w"> </span><span class="n">anywhere</span><span class="o">.</span>
<span class="n">Output</span><span class="p">:</span>
<span class="o">-</span><span class="w"> </span><span class="n">list</span><span class="w"> </span><span class="n">of</span><span class="w"> </span><span class="n">changed</span><span class="w"> </span><span class="n">files</span>
<span class="o">-</span><span class="w"> </span><span class="n">diff</span>
<span class="o">-</span><span class="w"> </span><span class="n">summary</span>
</code></pre></div>
<hr />
<h1 id="15">15. Результат<a class="headerlink" href="#15" title="Permanent link">&para;</a></h1>
<p>Після впровадження цього модуля:</p>
<ul>
<li>кожне microDAO отримує свою "конституцію",</li>
<li>доступи стають функцією духу спільноти, а не технічних ролей,</li>
<li>символічні ключі формують систему довіри,</li>
<li>ритуали узгодження стають живою формою колективного рішення,</li>
<li>Governance Agent забезпечує гармонію роботи людей і агентів.</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>