From 5d3fe5b39393664c237102c0aa3f973fac4adcce Mon Sep 17 00:00:00 2001 From: vitaliytv Date: Sun, 9 Aug 2026 08:24:34 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D1=96=D0=BD=D1=82=D0=B5=D0=B3=D1=80?= =?UTF-8?q?=D0=B0=D1=86=D1=96=D1=8F=20=D1=84=D1=80=D0=B5=D0=B9=D0=BC=D0=B2?= =?UTF-8?q?=D0=BE=D1=80=D0=BA=D1=83=20=C2=AB=D0=94=D0=B5=D0=BB=D1=8C=D1=82?= =?UTF-8?q?=D0=B0=C2=BB=20=D0=B2=20=D0=BA=D0=B0=D0=BD=D0=BE=D0=BD=20?= =?UTF-8?q?=E2=80=94=20vision.md=20=D1=96=20mandates.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Дельта — робоча модель MT, не окремий універсальний фреймворк: - vision.md: розділ «Дельта: розрив легітимності, не когнітивності» — директорська модель відповідальності, зухвалість як контракт агента; квіз-гейт у тезі про підписанта гейтів; рядок у мапінгу на архітектуру - mandates.md: ШІ-мандати (kind: model, audacity, остання константа), секція «Квіз-гейт: підпис із доведеним розумінням», директорська модель і двонапрямна ескалація, детектор соціального дрейфу, таблиця змін - ADR: позначка про інтеграцію нормативного змісту в канон - .cspell.json: нові словникові форми; .changes: change-файл Co-Authored-By: Claude Fable 5 --- .changes/260809-0820.md | 5 ++++ .cspell.json | 10 ++++++++ ...809-081009-delta-ai-human-orchestration.md | 2 ++ docs/architecture/mandates.md | 25 ++++++++++++++++++- docs/vision.md | 17 ++++++++++++- 5 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 .changes/260809-0820.md diff --git a/.changes/260809-0820.md b/.changes/260809-0820.md new file mode 100644 index 0000000..50899ad --- /dev/null +++ b/.changes/260809-0820.md @@ -0,0 +1,5 @@ +--- +bump: patch +section: Added +--- +docs: фреймворк «Дельта» — ADR сесії та інтеграція в vision.md і mandates.md (директорська модель відповідальності, квіз-гейти, ШІ-мандати) diff --git a/.cspell.json b/.cspell.json index be1a66d..7378dca 100644 --- a/.cspell.json +++ b/.cspell.json @@ -158,10 +158,12 @@ "викликач", "викликача", "викликачів", + "вироджує", "Високоважільні", "відкатом", "відкату", "відповідається", + "відповідальнісний", "відправкою", "відправці", "воркспейс", @@ -262,6 +264,11 @@ "кворумні", "Кворумні", "кворумної", + "квіз", + "квізи", + "квізом", + "квізу", + "квізів", "коміт", "коміта", "коміти", @@ -333,6 +340,7 @@ "незакомічених", "незакомічені", "незастейдженими", + "незданий", "незастейджено", "незмердженим", "незнайшли", @@ -471,6 +479,8 @@ "Санітизує", "серіалізатором", "сесійність", + "сикофантність", + "сикофантський", "синхр", "сіву", "сідинг", diff --git a/docs/adr/20260809-081009-delta-ai-human-orchestration.md b/docs/adr/20260809-081009-delta-ai-human-orchestration.md index fd7da58..1d48fad 100644 --- a/docs/adr/20260809-081009-delta-ai-human-orchestration.md +++ b/docs/adr/20260809-081009-delta-ai-human-orchestration.md @@ -39,6 +39,8 @@ Chosen option: **«Дельта як розрив легітимності й в ## More Information +Нормативний зміст інтегровано в канон: [vision.md](../vision.md) — розділ «Дельта: розрив легітимності, не когнітивності» (директорська модель, зухвалість як контракт агента); [mandates.md](../architecture/mandates.md) — ШІ-мандати (`kind: model`, `audacity`, остання константа), квіз-гейт, двонапрямна ескалація, детектор соціального дрейфу. Цей ADR — запис рішення сесії; каталог нижче — трасування. + Повний каталог сесії — 66 ідей у 10 кластерах. Авторство позначено: (U) — користувач, решта — фасилітатор. Ідеї 39–41, 66 — (U); добудови й role-storming — фасилітатор. ### Кластер 1: Природа Дельти — що залишається людям diff --git a/docs/architecture/mandates.md b/docs/architecture/mandates.md index db58cb0..b81e1bf 100644 --- a/docs/architecture/mandates.md +++ b/docs/architecture/mandates.md @@ -25,6 +25,13 @@ mandates: decision_types: [architecture, ux] thresholds: { budget_eur: 2000, risk: medium, irreversible: false } escalates_to: vitalii + - owner: fable-5 # модель — першокласний власник мандата + kind: model + scope: + refs: ["refs/mt/tasks/routine/**"] + decision_types: [ops] + thresholds: { budget_eur: 200, risk: low, irreversible: false, audacity: medium } + escalates_to: olena - owner: vitalii scope: { refs: ["refs/mt/**"], decision_types: ["*"] } thresholds: {} # порожньо = кореневий мандат @@ -33,6 +40,7 @@ mandates: - **Явність меж** — агент детерміновано обчислює «своє vs чуже» рішення; зникає функція «попросити дозволу». - **Зміна мандата = підписаний акт делегування** — розширення `scope`/`thresholds` лише commit-ом з Ed25519-підписом делегатора рівня вище; CI перевіряє підпис тим самим патерном, що boundary-enforcement `agent-core` ([stack.md](stack.md)). +- **ШІ-мандат (`kind: model`)** — модель володіє мандатом за тими самими правилами (scope, thresholds, escalates_to); `audacity` — бюджет зухвалості: скільки соціального капіталу/конфлікту агент може спалити заради мети ([vision.md](../vision.md), «Дельта»). **Остання константа:** розширення ШІ-мандата підписує лише людина, завжди — аналізатор ескалацій пропонує draft-PR, але цей клас підпису система ніколи не автоматизує, інакше межа «Дельти» рухає сама себе. - **Generation fencing** — кожна зміна файлу інкрементує generation; `decision-request` за застарілим generation фенситься й перераховується (той самий механізм, що claim generation — [git.md](git.md)). ## Профіль людини: досьє підтверджень в org-репо @@ -103,6 +111,15 @@ deadline_cost: "затримка блокує 3 залежні задачі" **Інваріант:** до людини не доходить «run failed» — це вже покриває retry ladder ([graph.md](graph.md)); `decision-request` доповзає лише як нерозв'язана *розвилка*, коли ladder вичерпано (`unresolvable`) **і** причина — не баг, а вибір, що виходить за автономію агента. Відповідь власника — існуючий Ed25519-підписаний `ApprovalResponse` ([access.md](access.md)), розширений полем `chosen_option`; аудит-трейл = git log по `decisions/`. +## Квіз-гейт: підпис із доведеним розумінням + +Підпис без розуміння — механічний акт: він вироджує гейт у rubber-stamping і знімає з підписанта відчуття відповідальності («система порадила»). Тому `ApprovalResponse` на розвилку валідний лише разом із пройденим **квізом** — гейт стає когнітивною задачею, а не кліком: + +- **Питання генеруються з самого `decision-request`** («що станеться з X, якщо обереш B?»), не з шаблону; квіз і відповіді зберігаються поруч у `decisions/` і входять в аудит-трейл. +- **Глибина масштабується за leverage-фасетами:** reversible + низькі фасети → одне контрольне питання; `irreversible` + широкий `blast_radius` → **teach-back**: власник переказує рішення і наслідки своїми словами, агент оцінює переказ. +- **Фейл ≠ покарання:** незданий квіз повертає розвилку з роз'ясненням; метрика — «час до розуміння», не «здав/не здав» (інакше квіз стає екзаменом, який обходять, — Гудхарт). +- **Побічні продукти:** квіз-логи — доказ «людина довела розуміння», сильніший комплаєнс-артефакт, ніж сам підпис; регулярні гейти тренують підписантів проти атрофії доменного розуміння (той самий механізм, що й anti-rubber-stamping у process watcher-а). + ## Escalation-intake `decision-request` **ніколи не пишеться виконавцем напряму** — його пакує окремий агент, що перед пакуванням збагачує контекст: суміжні run branches, історія `decisions/` (прецеденти), vision/policy/ADR, карта мандатів, leverage-фасети. Та сама роль, що `task-intake → plan-dev` ([graph.md](graph.md)), тільки спрямована вгору: розвилка приходить до вирішувача сформульована на рівні найкращого аналітика системи, незалежно від кваліфікації того, хто в неї впирався. @@ -169,6 +186,10 @@ ephemeral_mandate: Наскрізний ланцюг: `Haiku → Sonnet → Fable/Opus → людина-власник мандата`. Escalation-intake і прецедентний рушій працюють на всіх ярусах — прецедент людини застосовується моделями, розвилка, вирішена Fable в межах порогів, стає прецедентом для Sonnet/Haiku. Модель-оркестратор батьківського вузла отримує той самий `inherit_capped`: не може дозволити підвузлам більше, ніж дозволено їй самій. +**Директорська модель відповідальності.** ШІ-мандат — операційний, не відповідальнісний: як у людських організаціях відповідальність несе директор незалежно від того, хто ухвалив рішення, так і тут — протиправне чи шкідливе рішення моделі лягає на людину-власника ланцюга вище, яка відповідала за *організацію* роботи (пороги, квіз-гейти, інваріант reversible), а не за сам акт рішення ([vision.md](../vision.md), «Дельта»). Тому зухвалість (`audacity`) обмежена інваріантом reversible: goal-driven агресивність дозволена лише там, де найгіршу помилку можна відкотити. + +**Двонапрямна ескалація.** З ШІ-мандатами ланцюг працює в обидва боки: людина може ескалювати *власну* розвилку «вгору» до сильнішої моделі як до штабу — зворотний `decision-request` з тим самим escalation-intake, тільки вирішувач — модель. Відповідальність при цьому не рухається (директорська модель): підпис на наслідковому рішенні лишається людським. + ## Process watcher Мікроменеджер **процесу, не людей** — node actor, підписаний на relay-події (`ClaimChanged` — [access.md](access.md)): застряглі claim-и, задачі без комітів N днів, `decision-request` без відповіді біля SLA, run-и, що розповзлись за бюджет. Порядок сигналізації (критично для психології системи): (1) першим пінгується сам виконавець — «у тебе висить X, допомогти?», послуга, не нагляд; (2) тільки після grace period без руху — власник мандата вище, у форматі «X застрягло, Y в курсі з {дата}», завжди паралельно й прозоро — виконавець бачить, що і коли піде вгору. @@ -177,12 +198,14 @@ ephemeral_mandate: - **Агрегатор компетенцій** — не окремий сервіс, а **другий вихід retro-рушія** ([retro.md](retro.md)): один читач run-історії з двома продуктами — приватні пропозиції виконавцю і підтвердження компетенцій. Пише в org-репо профілів власним ключем (єдиний дозволений автор `competencies`, CI-enforced), лише positive-only записи з evidence; людина оскаржує через dispute-шлях (підпис власника мандата). Профілі моделей — звичайним комітом на review. Ніколи не торкається `mandates.yaml`. - **Аналізатор ескалацій** — щотижневий прогін по git log `decisions/`: `>K%` розвилок scope X злітають вище **і** верх стабільно бере рекомендацію агента/варіант X → сигнал «мандат завузький» → draft-PR на `mandates.yaml`; обернено — часто відкочувані рішення в межах мандата → сигнал завузити. Розширення мандата лишається свідомим підписаним актом людини — система лише показує, де ієрархія тре. +- **Детектор соціального дрейфу** — третій вихід того самого прогону: класи рішень, де людські вибори систематично відхиляються від мети задачі в бік соціального комфорту (відкладені розірвання контрактів, непідняті ціни, не сказана партнеру незручна правда), показуються власнику мандата як дельта «мета vs комфорт» ([vision.md](../vision.md), «зухвалість як контракт агента»). Той самий принцип довіри, що й у retro: адресовано самому власнику, не нагляд згори. ## Зміни в існуючих механізмах | Механізм | Було | Стає | | --- | --- | --- | -| `ApprovalResponse` ([access.md](access.md)) | підпис «людини» | підпис *обчисленого власника мандата*; + поле `chosen_option` | +| `ApprovalResponse` ([access.md](access.md)) | підпис «людини» | підпис *обчисленого власника мандата*; + поле `chosen_option`; на розвилках валідний лише з пройденим квіз-гейтом | +| `mandates.yaml` | власники — люди | + моделі як першокласні власники (`kind: model`, `audacity`); розширення ШІ-мандата підписує лише людина | | Generation fencing ([git.md](git.md)) | фенсить застарілі claim-и | + фенсить `decision-request` за застарілим generation карти мандатів | | `unresolvable` / push тип 3 ([graph.md](graph.md), [access.md](access.md)) | алерт власнику «streak вичерпано» | збагачується escalation-intake у `decision-request` перед доставкою | | Run branches | `session.jsonl` | + `decisions/` — аудит-трейл людських рішень | diff --git a/docs/vision.md b/docs/vision.md index 008ad17..cb236b3 100644 --- a/docs/vision.md +++ b/docs/vision.md @@ -20,13 +20,27 @@ timestamp: 2026-07-07 MT будується для протилежного світу: **засновник задає мету і цінності — ШІ досягає їх**. ШІ-оркестратор декомпозує мету в самомодифікований граф задач, запускає ШІ-виконавців, оцінює результати і перебудовує граф. Людина в цьому процесі — не диспетчер задач, а: 1. **Джерело мети.** «Навіщо», обмеження і пріоритети задає людина; оркестратор їх не перевизначає. У термінах [mandates.md](architecture/mandates.md) це кореневий мандат. -2. **Підписант гейтів.** Критичні переходи (деструктивні дії, план, аудит) вимагають криптографічного підпису людини — контроль зміщується з постановки задач на гейти. +2. **Підписант гейтів.** Критичні переходи (деструктивні дії, план, аудит) вимагають криптографічного підпису людини — контроль зміщується з постановки задач на гейти. Підпис легітимізує, а не «перевіряє розумнішого»: гейт стоїть там, де рішення потребує носія відповідальності, і вимагає доведеного розуміння (квіз-гейт — [mandates.md](architecture/mandates.md)), інакше вироджується в rubber-stamping. 3. **Власник рішень і призначуваний виконавець.** Там, де ШІ сам визнає потребу в людині (розвилка поза порогами модельного каскаду, кваліфікація, фізична дія), він ескалює упаковану розвилку власнику мандата або **призначає людину відповідної кваліфікації** — з тим самим контрактом вузла, що й для агента ([mandates.md](architecture/mandates.md)). Взаємозамінність людини й агента на вузлі (той самий життєвий цикл, бюджети, аудит) — не мета, а **передумова** інверсії: щоб оркестратор міг призначити будь-кого, контракт має бути спільним. Git/GitHub — насамперед інструмент розробників. Для нового світу він лишається **субстратом** (надійність, офлайн, audit trail, відсутність lock-in), але не інтерфейсом: зручність роботи людей і машин має бути понад ним. +## Дельта: розрив легітимності, не когнітивності + +Робоча модель MT (внутрішня назва «Дельта» — [ADR](adr/20260809-081009-delta-ai-human-orchestration.md)) виходить із сильнішого припущення, ніж «ШІ-асистент»: **ШІ перевершує когнітивні здібності людей, але не закриває їх повністю**. Тому межа між машинною і людською роботою проходить не по «хто розумніший», а по тому, чого модель не має принципово: + +- **Легітимність і відповідальність** — носієм відповідальності перед законом, клієнтом і суспільством є лише людина; юридична дієздатність (контракти, активи) — теж. +- **Фізична агентність** — дії в матеріальному світі: монтаж, зустріч, огляд об'єкта. +- **Преференції** — чиї цінності максимізуються, визначає людина; це не когнітивна задача, тож перевага ШІ тут нерелевантна. +- **Скін-у-грі і соціальний інтерфейс** — людина ризикує грошима, репутацією, свободою; їй тиснуть руку, їй довіряють. +- **Невербалізований контекст і смак** — незаписані стосунки й «нелогічні» вподобання як джерело диференціації. + +**Директорська модель відповідальності.** Як у людських організаціях: неважливо, хто саме ухвалив рішення — відповідальність несе директор. ШІ може ухвалювати рішення і володіти мандатами ([mandates.md](architecture/mandates.md)), але за протиправне рішення відповідає директор — за те, що не організував роботу так, щоб протиправних рішень не було. Відповідальність прив'язана до організації системи, а не до акту рішення; звідси розширення ШІ-мандата завжди підписує людина. + +**Зухвалість як контракт агента.** Люди здебільшого соціально орієнтовані — соціальний комфорт систематично перемагає мету задачі. Агент зобов'язаний бути goal-driven там, де людині це соціально дорого: казати власнику неприємну правду (анти-сикофантність), брати на себе соціально витратні дії (відмови, жорсткі переговори). Межа: зухвалість дозволена лише в reversible-класі рішень; на незворотному — консервативність ([mandates.md](architecture/mandates.md)). + ## П'ять крос-вимірів Інверсія делегування вимагає пʼяти крос-властивостей платформи: @@ -65,6 +79,7 @@ Git/GitHub — насамперед інструмент розробників. | Крос-мовна | [i18n.md](architecture/i18n.md): base-канон, derived-переклади у `refs/mt/i18n`, worktree-матеріалізація | | Мета-цикл самопокращення | [retro.md](architecture/retro.md): аналіз audit trail, приватні opt-in пропозиції виконавцю, застосування штатними правками | | Людина як власник рішень | [mandates.md](architecture/mandates.md): карта мандатів, `decision-request`, маршрутизація за важелем, прецедентний рушій | +| Дельта: легітимність, директорська модель, зухвалість | [mandates.md](architecture/mandates.md): ШІ-мандати, квіз-гейт, бюджет зухвалості; [ADR](adr/20260809-081009-delta-ai-human-orchestration.md) | | Інверсія делегування | [graph.md](architecture/graph.md): декомпозиція, retry ladder; [mandates.md](architecture/mandates.md): ескалація-призначення, селектор виконавців | ## Наслідки для фокусу