docs(canon): ре-прогон канон-блока на mappa-setup@0.2.8 (task:3030) + refresh .mappa/share
This commit is contained in:
@@ -1,37 +1,70 @@
|
||||
---
|
||||
title: Методология kzntsv — карта
|
||||
summary: Методология имени kzntsv (стиль зоны, выбор ≤1 на проект, ссылка в AGENTS.md): ритуалы сессии (orient/closing), шторм-методика, дисциплина (master-only/push/review), роли. Источник: brainstorm:173.
|
||||
summary: Методология имени kzntsv (стиль зоны, выбор ≤1 на проект — свойство реестра): предпочтительно ПОСЛЕДОВАТЕЛЬНАЯ работа агентов — исполнение (интерактив/поллер) в master, таски цепочкой blocked_by; параллельные ветки/worktree — второстепенный вариант (коллизионные зоны/изоляция интерактива). Источник: brainstorm:182.
|
||||
type: methodology
|
||||
tags: [mappa, methodology, kzntsv, agent]
|
||||
---
|
||||
|
||||
# Методология kzntsv
|
||||
|
||||
Методология — **опциональный поведенческий слой зоны** (не канон): проект выбирает ≤1 методологию ссылкой в AGENTS.md («Methodology: kzntsv → wiki: methodology/kzntsv/index»). Без выбора действует только канон.
|
||||
Методология — **опциональный поведенческий слой зоны** (не канон): проект выбирает ≤1. **Выбор = свойство проекта** (поле `methodology` в реестре, [[canon/index]] «Методология проекта — где искать»); агент узнаёт её из mappa (`projects_list`), НЕ из файла (канон Г1+Г9). Без выбора (`methodology: null`) действует только канон.
|
||||
|
||||
**Центр:** методология управляет **последовательной работой агентов** — **предпочтительно вся работа в master**, таски идут цепочкой (`blocked_by`: следующая заблокирована предыдущей). **Параллельные ветки/worktree — второстепенный вариант** (только для коллизионных зон / изоляции от интерактива).
|
||||
|
||||
## Зоны ролей (двери boss/ops) — intent:2
|
||||
|
||||
Карта зон: **[[zones/index]]** (shared-вики). Зоны — wiki-холдеры (НЕ entity-тип),
|
||||
сессионное состояние `session.zone` = `boss`|`ops` (отдельное поле от `mode`).
|
||||
Вход/выход — MCP `session.enter_zone` / `session.exit_zone` (тонкая обвязка,
|
||||
конфиг MCP НЕ мутирует). **Доступно всем, всегда** (это дверь — иначе
|
||||
курица-яйцо); гейтится только спец-контент (доки + гранты зоны).
|
||||
|
||||
- **`zone:boss`** — брейншторм/дистилляция/промоут ([[zones/boss/index]]). Проект-зона `.workshop` (реестр role: boss-зона).
|
||||
- **`zone:ops`** — деплой/прод/секреты ([[zones/ops/index]]). Проект-зона `.admin` (реестр role: ops-зона).
|
||||
- Вики зон: project-scope вики `.workshop`/`.admin` (AGENTS-каноны wiki:2656 / wiki:2608); грант-мапы — [[zones/boss/grants]] / [[zones/ops/grants]].
|
||||
- **Грант = ПРАВИЛО, не контракт** (brainstorm:181): инструменты настроены у всех; зона — состояние, агент сверяет сам. **Секреты = реальный забор** (креды/токен, значения мимо mappa, канон Г6).
|
||||
- **Семантика enter/exit:** вход = `session.zone` выставляется в boss|ops (колонка); выход = NULL. Зона — гигиена контекста и разделение ролей, а не технический лок.
|
||||
|
||||
## Исполнение: интерактив или поллер (гейт)
|
||||
На старте работы оценить, **как она исполняется**, и предложить выбор. **Босс оценивает и предлагает; оператор решает, куда идёт работа** («рекомендую, не мени»). От этого выбора — структура исполнения (последовательность в master / ветки).
|
||||
- **ПОЛЛЕР (agensyn, `pool:runner`)** — атомарная, явный done-критерий, независимая или цепочно-зависимая (`blocked_by`), **не коллизионная зона** (§11.4: нет общих файлов/миграций/инфра; «клиенты не отвалятся» — не свойство системы), не требует человеческого суждения.
|
||||
- **ИНТЕРАКТИВ (human-in-loop / босс-сессия)** — коллизионная зона, кросс-каттинг, «клиенты не отвалятся» = свойство системы, требует человеческого суждения/refinement/дизайна.
|
||||
|
||||
## Ветки (второстепенный вариант)
|
||||
**Предпочтительный путь: вся работа в master + таски последовательно (следующая заблокирована предыдущей, `blocked_by`-цепочка).**
|
||||
Ветки (`worker/<slug>` + `git worktree`) — **второстепенный вариант**, только когда нужна изоляция: коллизионная зона (§11.4), интерактив сидит на master, надо изолировать прогоны.
|
||||
- **Кластер = одна интеграционная линия** `worker/<slug>` (не «куча в пул», §11.2) — ПРИ использовании веток.
|
||||
- Зависимые — `blocked_by`-цепочкой; **мерж по одной** — следующая стартует поверх смёрженного (§11.1, §11.3).
|
||||
- Экзекутор **пушит в свою линию** (`origin==HEAD`), не в master — ПРИ ветках.
|
||||
- **Merge в master — босс+человек** отдельным шагом (§11.5; НЕ агentsyn, НЕ экзекутор).
|
||||
- **Disk-проекция:** ветка = рабочее дерево (папка). Параллельные ветки = **отдельные `git worktree`** → отдельные связки/сессии; клейм по `(repo,branch)` уникален (одна ветка = одно извлечение). Команды/детали — [[runbooks/session]].
|
||||
|
||||
## Сессии
|
||||
- Идентичность: связка **{project, runtime, machine, folder}**, ключ — **`sourceRef`**; `project` — единственный кросс-агентный ключ. [[concepts/session-live-ingest]]
|
||||
- **Клейм `(repo, branch)`** — ≤1 живая сессия (409 при занятости); detached HEAD → вне клейма.
|
||||
- Параллельные worktree на **разные** ветки = разные сессии/клеймы.
|
||||
|
||||
## Ритуалы сессии
|
||||
- **Старт (orient)**: pull --ff-only → handoff-чтение → инбокс (raise + обработка) → liveness «alive/dead» одной строкой → welcome по запросу (не авто). Не диг: проблема на старте → человеку/диагностической сессии.
|
||||
- **Финиш (closing)**: handoff-write + PROPOSE wiki-ingest + PROPOSE закрытия тасок. Мутации — после подтверждения человека. Решение «писать handoff?» — за человеком.
|
||||
- **Старт (orient):** pull --ff-only → handoff → инбокс (raise+обработка) → liveness одной строкой → welcome по запросу. Не диг.
|
||||
- **Финиш (closing):** handoff-write + PROPOSE wiki-ingest + PROPOSE закрытия тасок; мутации после подтверждения человека.
|
||||
|
||||
## Шторм-методика (дивергенция → конвергенция)
|
||||
- Буфер шторма — mappa brainstorm-сущность (не файл), обновлять после каждого решения (crash-safe append).
|
||||
- Дивергенция (brainstorming): вопросы по одному → подходы с трейд-оффами → дизайн; не имплементировать до одобрения (HARD-GATE).
|
||||
- Конвергенция (grilling): дерево решений, фронт раундами, нумерованные вопросы с рекомендованным ответом; фронт пуст = shared understanding.
|
||||
- Зрелость — по критерию (буфер done ⇔ action-items созданы ∧ все таски done, включая review-зонт), не по ощущению.
|
||||
- Промоут механика — отдельный скил/ритуал; импл-контент → requirements; этапы → plan; wiki — durable.
|
||||
|
||||
## Дисциплина (project-discipline kzntsv-flavour)
|
||||
- master-only (никаких feature-веток) · commit freely / push freely (no local gate) · semver для версионируемых артефактов.
|
||||
- Поиск по файлам — только rg (gitignore-aware); запрещён grep -r/find по деревьям с node_modules (измерено: 3701s vs 0s).
|
||||
- Инфраструктурные правки верифицируются в ЖИВОЙ сессии после reload (не только headless).
|
||||
- Правила зоны — в AGENTS.md проекта / wiki-сущности AGENTS; обновление — само-авторинг без спроса при триггерах.
|
||||
- Буфер шторма — mappa brainstorm-сущность (crash-safe).
|
||||
- Дивергенция: вопросы по одному → подходы с трейд-оффами → дизайн; HARD-GATE до импла.
|
||||
- Конвергенция (grilling): номерные вопросы с рекомендованным ответом; фронт пуст = shared understanding.
|
||||
- Зрелость — по критерию, не по ощущению.
|
||||
- Промоут: **intent-слой → `intent`** ([[concepts/entity-intent]], гейт оператора); **НИЖЕ ПО ПОТОКУ НЕЛЬЗЯ без `approved` intent — одобрить ДО создания requirements/plan/task (operator approval, source:admin)**; импл-контент → requirements; этапы → plan; durable → wiki. Refinement issue→task — [[concepts/issue-task-refinement]]. Исполнение через agensyn — [[concepts/agensyn-work-regulations]].
|
||||
|
||||
## Роли и ревью
|
||||
- Ревью — отдельная роль, не имплементер (борьба с «я только что это написал»-bias). Вердикт — письмом полностью (Г2 канона).
|
||||
- Каждая импл-таска несёт `**Review:**` (subagent | next-session | none). Делегирование — пара: таска + сопроводительное письмо.
|
||||
- Кластер импл из одного шторма → зонтичный review (blocked, blocker=impl-slugs), парные НЕ создаются.
|
||||
- Ревью — **отдельная роль**, не имплементер; вердикт письмом (канон Г2).
|
||||
- Каждая импл-таска несёт `**Review:**` (subagent|next-session|none). Делегирование = таска + сопроводительное письмо.
|
||||
- Кластер импл из одного шторма → зонтичный review.
|
||||
|
||||
## Дисциплина
|
||||
- commit/push free (no local gate) · semver: фича = **MINOR**. Поиск — только `rg`; `grep -r`/`find` по деревьям с node_modules запрещены. Инфра-правки верифицируются в живой сессии после reload. Правила зоны — в AGENTS.md / wiki-сущности AGENTS; обновление — self-authoring при триггерах.
|
||||
|
||||
## Выбор
|
||||
Проект в AGENTS.md: `methodology: kzntsv` → читать этот раздел в начале сессии (после канона). ≤1.
|
||||
Проект задаёт `methodology: kzntsv` (свойство реестра); контент — shared-вики `methodology/kzntsv/index`. Агент читает на старте из mappa (после канона). ≤1 (конкурент — `methodology/anthropic-sdlc`).
|
||||
|
||||
## Связано
|
||||
[[canon/index]] · [[canon/gates]] · [[runbooks/index]] · brainstorm:173 · wiki:3401 · requirements:23 · [[concepts/buffer-completion-criteria]] (wiki:3188)
|
||||
[[canon/index]] · [[canon/gates]] · [[runbooks/index]] · brainstorm:182 · [[zones/index]] · [[intent:2]] · [[concepts/session-live-ingest]] (wiki:2604) · [[concepts/agensyn-work-regulations]] (wiki:3454) · [[concepts/entity-intent]] (wiki:3442) · [[concepts/issue-task-refinement]] (wiki:3453) · [[concepts/buffer-completion-criteria]] (wiki:3188) · [[methodology/anthropic-sdlc/index]] (wiki:3457) · [[concepts/methodology-adaptation]] (wiki:3458)
|
||||
|
||||
Reference in New Issue
Block a user