Skip to content

feat(owner): M6 — межі й делегування (ескалації, delegate, двонапрямний Бриф, критик per-scope)#7

Open
vitaliytv wants to merge 1 commit into
mainfrom
claude/m6-boundaries-delegation
Open

feat(owner): M6 — межі й делегування (ескалації, delegate, двонапрямний Бриф, критик per-scope)#7
vitaliytv wants to merge 1 commit into
mainfrom
claude/m6-boundaries-delegation

Conversation

@vitaliytv

Copy link
Copy Markdown
Member

Що зроблено

M6 зі спеки 260714-cognitive-delegation — межі власності стають робочими: делегування в будь-якому оргнапрямі та ескалації з audit-trail у git.

Ескалації (нормативне рішення №10)

  • escalate — immutable escalation_NNN.md з обов'язковою «запискою вгору» (що сталося / що спробував / що прошу); без записки — fail-closed. from — ідентичність застосунку.
  • resolve_escalationescalation-resolved_NNN.md; вердикт може дати лише адресат.
  • Маршрутизація (№11): відкрита ескалація з'являється у черзі адресата карткою stake 0 і зникає з черги автора; в автора — рядок «ескальовано, чекає вердикту» у Брифі.
  • Анти-rubber-stamping (№10): кнопка «вердикт» неактивна, доки записку не розгорнуто.
  • Адресат деривується за графом задач (escalationAddressee): замовник = effective owner найближчого предка поза моєю ділянкою — «вгору» не означає «старший за посадою».

Делегування (№9)

  • delegate — атомарний акт: виконавчий прапор (h.md/a.md, штатний write_executor_flag mt-core) + owner:/конверт у autonomy.yml; вся валідація до першого запису. Машина — не власник: ШІ-гілка лишається у моєму скоупі (№5).
  • UI: діалог «делегувати» на картці рішення (людині — handle+кваліфікація, машині — лише конверт).

Двонапрямний пульт (№4) і критик per-scope (№15)

  • Бриф: нова секція «Чого чекаєш ти» — запечатані фасади делегованих гілок (власник, стан, дедлайн — без кухні).
  • Критик: межові вузли — лише контрактна поверхня (дедлайн, мертва залежність); чужі гілки не потрапляють навіть у дайджест семантичного прогону.

Fix

  • useForest() не повертав identity/scopes, які деструктурує OwnerScreen — перший екран падав TypeError на рендері (M5-регресія).

Верифікація

  • Rust: 15 тестів (roundtrip ескалацій, only-адресат, fail-closed записка/конверт, delegate human/agent) + clippy -D warnings чисто.
  • JS: 146 тестів (маршрутизація черги, delegations/escalatedOut, критик per-scope, каталог tools).
  • npx @nitra/cursor lint — чистий; файлові доки перегенеровано; change-файли owner (minor + patch fix).

Критерій M6 зі спеки: ескалація власника гілки з'являється у черзі замовника вузла і закривається вердиктом з audit-trail у git — покрито Rust-тестом roundtrip і JS-тестами маршрутизації.

🤖 Generated with Claude Code

- Rust: scan_escalations / escalate / resolve_escalation (immutable
  escalation_NNN.md + escalation-resolved_NNN.md, fail-closed записка,
  вердикт лише адресатові) і атомарний delegate (виконавчий прапор
  mt-core + owner:/конверт у autonomy.yml; машина — не власник)
- маршрутизація черги: відкрита ескалація зʼявляється в черзі адресата
  (stake 0) і зникає з черги автора; у брифі автора — «ескальовано,
  чекає вердикту»
- двонапрямний Бриф: секція «Чого чекаєш ти» — запечатані фасади
  делегованих гілок (власник, стан, дедлайн — без кухні)
- критик per-scope: межові вузли — лише контрактна поверхня, чужі
  гілки не читаються навіть у дайджест семантичного прогону
- DecisionCard: картка ескалації з анти-rubber-stamping (вердикт
  лише після розгортання записки), дії «ескалювати до <замовника>»
  (адресат деривується за графом задач) і «делегувати» (людині/машині)
- fix: useForest() не повертав identity/scopes — OwnerScreen падав
  TypeError на рендері (M5-регресія)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant