mister-wolf 2.21.0 → 2.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +3 -3
  2. package/README.ru.md +3 -3
  3. package/dist/adapters/fs/markdown-memory-store.d.ts.map +1 -1
  4. package/dist/adapters/fs/markdown-memory-store.js +10 -4
  5. package/dist/adapters/fs/markdown-memory-store.js.map +1 -1
  6. package/dist/adapters/fs/session-metrics-log.js +2 -2
  7. package/dist/app/use-cases/build-analytics.d.ts +1 -1
  8. package/dist/app/use-cases/build-analytics.js +1 -1
  9. package/dist/domain/error-class.d.ts +1 -1
  10. package/dist/domain/error-class.js +1 -1
  11. package/dist/domain/mechanical-advice.d.ts +1 -1
  12. package/dist/domain/mechanical-advice.js +1 -1
  13. package/package.json +1 -1
  14. package/templates/.wolf/router.log +1 -1
  15. package/templates/base/AGENTS.md +24 -0
  16. package/templates/base/agents/executor-lead.md +154 -22
  17. package/templates/base/agents/mr-wolf.md +52 -4
  18. package/templates/base/agents/steward.md +71 -32
  19. package/templates/base/agents/worker-implementer.md +44 -31
  20. package/templates/base/agents/worker-researcher.md +37 -18
  21. package/templates/base/agents/worker-reviewer.md +73 -50
  22. package/templates/base/playbooks/complaint-protocol.md +7 -2
  23. package/templates/base/playbooks/executor-lead-playbook.md +33 -21
  24. package/templates/base/playbooks/steward-nastavnik.md +28 -6
  25. package/templates/base/playbooks/worker-implementer-playbook.md +13 -10
  26. package/templates/base/playbooks/worker-researcher-playbook.md +10 -9
  27. package/templates/base/playbooks/worker-reviewer-playbook.md +17 -65
  28. package/templates/base/skills/receiving-code-review/SKILL.md +8 -0
  29. package/templates/base/skills/requesting-code-review/SKILL.md +10 -0
  30. package/templates/base/skills/using-skills/SKILL.md +138 -6
  31. package/templates/base/skills/verification-before-completion/SKILL.md +18 -1
  32. package/templates/base/skills/wolf-debug/SKILL.md +37 -3
  33. package/templates/base/skills/wolf-execute/SKILL.md +18 -8
  34. package/templates/base/skills/wolf-handoff/SKILL.md +8 -1
  35. package/templates/base/skills/wolf-plan/SKILL.md +1 -1
  36. package/templates/base/skills/wolf-review/SKILL.md +73 -53
  37. package/templates/base/skills/wolf-sdd/SKILL.md +20 -5
  38. package/update-map.json +2 -2
@@ -24,12 +24,29 @@ description: "Применять перед утверждением о гото
24
24
 
25
25
  Результат применим, пока не изменились проверенный код, значимые зависимости, данные или среда. Новое сообщение/сессия не инвалидирует evidence само по себе. При изменениях повтори затронутые проверки; перед интеграцией проверь объединённое состояние. Если точное соответствие dirty-state установить нельзя, запусти проверку повторно.
26
26
 
27
- Evidence содержит claim/AC, command/procedure, cwd, revision, время, exit/status, результат и ссылку на лог; при dirty-tree — digest относящихся файлов/patch, включая untracked. Отсутствующие поля отмечай, не выдумывай. Секреты в evidence не включай.
27
+ Evidence содержит claim/AC, command/procedure, cwd, revision, время, exit/status, результат и ссылку на имеющееся подтверждение; отдельный файл лога не обязателен; при dirty-tree — digest относящихся файлов/patch, включая untracked. Отсутствующие поля отмечай, не выдумывай. Секреты в evidence не включай.
28
+
29
+ ## Состав поставки
30
+
31
+ L1 перед приёмкой сверяет новые файлы docs/dev (в том числе untracked) с
32
+ основными документами и обоснованными дополнениями из plan/брифа. Частные
33
+ отчёты/логи/скрипты не входят в документацию этапа. Полезное интегрируй,
34
+ нужное evidence сохрани долговечно вне документации; не подтверждай приёмку
35
+ до разбора посторонних новых файлов. Прежние/чужие файлы не удаляй автоматически.
36
+ L2 сообщает отклонение L1, не проводит самостоятельную уборку проекта.
28
37
 
29
38
  ## Масштаб проверки
30
39
 
31
40
  Targeted-проверка подтверждает только свою область; full gate — свойства своего набора. Для NFR нужны соответствующие измерения. Ручная проверка допустима с воспроизводимым протоколом и известными ограничениями. Не запускай full suite на каждый ответ, если валидный результат уже есть.
32
41
 
42
+ ## Стоп после доказательства
43
+
44
+ По каждому утверждению проверь достаточность evidence один раз. Повтор — при
45
+ изменении входов, новой ошибке или конкретном непокрытом критерии. Убедительный
46
+ рассказ не evidence, но уже прочитанный актуальный лог не требует повторного
47
+ запуска. Непроверенное свойство ограничивает именно соответствующий claim;
48
+ не отменяй доказанный дефект или независимое подтверждённое свойство.
49
+
33
50
  ## Приёмочный пакет
34
51
 
35
52
  По каждому AC: подтверждено/не подтверждено, evidence, revision; далее независимое ревью, отклонения, нерешённые риски и план восстановления при необходимости. L1 передаёт пакет L0; L0 выдаёт ACCEPTED | PARTIAL | REJECTED | INCONCLUSIVE. Перед вердиктом приёмщик сверяет revision и dirty-digest из evidence с фактическим состоянием (например, git rev-parse HEAD); evidence без revision по умолчанию неактуален. Отчёт исполнителя — не доказательство.
@@ -12,18 +12,52 @@ description: "Применять при баге, неожиданном пов
12
12
  Загрузи полный текст назначенной методики до её выполнения. Обязательные пункты отслеживай в доступном трекере или рабочем брифе; не добавляй новые статусы памяти. Недоступное действие передай ответственному уровню.
13
13
 
14
14
 
15
+ ## Масштаб диагностики
16
+
17
+ Полный цикл организует L1. L2 получает один диагностический вопрос/различающий
18
+ эксперимент с входами, ожидаемым свидетельством, проверкой и конечным лимитом.
19
+ Отрицательный результат эксперимента тоже результат; следующую гипотезу выбирает
20
+ L1. Если её нужно выбирать уже до выполнения — верни вопрос сразу. Полный fix
21
+ назначай лишь после достаточного основания, отдельным коротким мандатом.
22
+ Шаги ниже относятся к своему назначенному этапу; L2 не обязан проходить весь
23
+ цикл root-cause → архитектура → реализация. Неожиданная сложность → возврат,
24
+ даже если осталось время. Две неудачи не обязательная квота перед обращением L1.
25
+
15
26
  ## Процесс
16
27
 
17
28
  1. Зафиксируй симптом, ожидаемое, revision, среду, частоту, точные шаги и исходный лог. Не воспроизводится — сохраняй наблюдение и собирай данные, не объявляй причину установленной.
18
29
  2. Проверь недавние изменения и работающий аналог. Прочитай относящиеся к проблеме контракты и зависимости; не требуй читать несвязанный большой референс целиком.
19
- 3. Трассируй входы/выходы на подозреваемых границах. Логируй минимальные метаданные с редактированием секретов/PII; не печатай окружение и payload полностью. Диагностические изменения должны иметь cleanup.
20
- 4. Веди журнал: hypothesis, evidence for/against, discriminating experiment, result, next step. Рассматривай альтернативы; каждый эксперимент меняет одну существенную переменную или явно описывает связанные изменения.
30
+ 3. Трассируй входы/выходы на подозреваемых границах. Логируй минимальные метаданные с редактированием секретов/PII; не печатай окружение и payload полностью. Диагностические изменения должны иметь cleanup. Временные скрипты/логи не клади в docs/dev; постоянная проверка идёт в штатные tests/scripts по scope. Нужное evidence сохрани до cleanup.
31
+ 4. Веди компактный рабочий журнал в назначенной области/памяти, не отдельный документ docs/dev: hypothesis, evidence for/against, discriminating experiment, result, next step. Рассматривай альтернативы; каждый эксперимент меняет одну существенную переменную или явно описывает связанные изменения.
21
32
  5. Подтверждённую причину зафиксируй воспроизводимой проверкой. Исправление проведи по test-driven-development; проверь исходный сценарий, регрессии и важные взаимодействия.
22
33
  6. По завершении укажи root cause, fix, evidence, остаточные риски и удалённую временную диагностику. Урок записывай только при возможности переиспользования и с областью применимости.
23
34
 
24
35
  ## Повторы и эскалация
25
36
 
26
- После 2 неудачных исправлений либо повторения одной гипотезы останови угадывание: проверь качество воспроизведения, полноту модели и входы. Третья неудача — сигнал независимого разбора, не доказательство дефекта архитектуры. L2 возвращает BLOCKED с журналом; L1 решает о новом контексте, модели, декомпозиции или архитектурном исследовании. Scope не расширяй сам.
37
+ L2 не перебирает неизвестные исправления: выполни назначенный эксперимент или
38
+ очевидную локальную коррекцию, затем верни evidence/остаток/вопрос. Новый способ,
39
+ гипотеза или зависимость требуют решения L1. Два шага без продвижения или лимит
40
+ (без заданного — 8 обращений) также завершают вызов, без ложного DONE.
41
+ После 2 назначенных неудачных исправлений L1 пересматривает воспроизведение,
42
+ входы и план; это не доказательство дефекта архитектуры. Неудача не продлевает
43
+ самостоятельность L2 и не запускает консилиум автоматически.
44
+
45
+ ## Средства и помощь
46
+
47
+ Повторяющееся инструментальное трение не превращай автоматически в продуктовый
48
+ баг. L1 сначала проверяет готовое средство в tool-библиотеке и его контракт;
49
+ L2 применяет переданное разрешённое средство или возвращает FRICTION.
50
+ Универсальный обход/новый скрипт — отдельная разрешённая задача с проверкой и
51
+ регистрацией через существующий wolf tool register, не самовольная работа
52
+ ревьювера. wolf tool use — учёт, не запуск.
53
+
54
+ Если следующего различающего эксперимента нет либо решение вне полномочий,
55
+ L2 передаёт L1 вопрос, evidence, исключённое и что разблокирует ответ.
56
+ L1 сначала решает сам/уточняет вход/использует готовое средство; при точном
57
+ пробеле — один эксперт. Консилиум лишь для сложного существенно блокирующего
58
+ решения, когда меньшего средства недостаточно и польза оправдывает стоимость.
59
+ Дефект общего правила передаётся Стюарду после жалобного триажа.
60
+ Ответ эксперта не установленная причина; нужны назначенные проверки.
27
61
 
28
62
  ## Инцидент
29
63
 
@@ -19,21 +19,31 @@ description: "Применять при линейном исполнении у
19
19
  ## Процесс
20
20
 
21
21
  1. Сверь входы с текущим кодом; обозначь несовместимость до правок. Зафиксируй зависимости и исходные падения проверок.
22
- 2. Выполняй ready-задачи последовательно: прочитай затронутый код, пройди подходящую тестовую дисциплину, внеси allowlist-изменения, проверь результат и сохранённые инварианты.
23
- 3. После каждой задачи запиши RESULT/evidence. Коммит выполняй только при разрешении роли и пользователя. Отметку [x] ставь после нужного ревью; до него сохрани состояние «готово к ревью» без выдуманного значения таксономии.
24
- 4. Чекпоинт делай на завершённом компоненте, перед сменой этапа или сессии; default не более 3 небольших задач без сохранения состояния. В него включи baseline/current state, completed/remaining, evidence и dirty-state.
25
- 5. Независимое ревью запроси через доступный разрешённый канал. Если его нет, сообщи ограничение и передай результат L0/владельцу; саморевью не выдавай за независимое.
26
- 6. После интеграции выполни test-plan и полный применимый гейт; сформируй ACCEPTANCE. Дальнейший git-финал — finishing-a-development-branch.
22
+ 2. L1 при недоступной/ненужной диспетчеризации выполняет разрешённую линейную работу; L2 — только один назначенный конечный мандат без интеграции поставки. Выполняй свои ready-шаги последовательно: прочитай затронутый код, пройди подходящую тестовую дисциплину, внеси allowlist-изменения, проверь результат и сохранённые инварианты.
23
+ 3. После каждой задачи запиши RESULT/evidence. Коммит выполняй только при разрешении роли и пользователя. L1 ставит отметку [x] после нужного ревью; до него сохрани состояние «готово к ревью» без выдуманного значения таксономии.
24
+ 4. L2 возвращает checkpoint по своему стоп-условию. L1 сохраняет checkpoint на завершённом компоненте, перед сменой этапа или сессии; default не более 3 небольших задач без сохранения состояния. В него включи baseline/current state, completed/remaining, evidence и dirty-state.
25
+ 5. L2 возвращает результат/запрос ревью L1. L1 организует независимое ревью разрешённым каналом; при его отсутствии передаёт ограничение L0/владельцу. Саморевью не независимо.
26
+ 6. L1 после интеграции выполняет test-plan и полный применимый гейт, формирует ACCEPTANCE; L2 возвращает RESULT, не выполняет этот этап. Дальнейший git-финал — finishing-a-development-branch.
27
+
28
+ ## Завершение без повторов
29
+
30
+ Режим execute не открывает заново утверждённое решение. Читай только нужные
31
+ источники; повторяй проверку при изменении её входов, новой ошибке или явном
32
+ требовании. L2 при неожиданной сложности/новом способе или двух шагах без
33
+ продвижения возвращает результат и вопрос L1; сам исследование не выбирает.
34
+ Конечный лимит обязателен, без заданного — возврат через 8 обращений. Сбой инструмента: один осмысленный обход, затем FRICTION и остаток,
35
+ не отдельное исследование устройства среды. После назначенных проверок верни
36
+ RESULT; не увеличивай объём работы ради более длинного отчёта.
27
37
 
28
38
  ## Блокер и восстановление
29
39
 
30
- При недостатке контекста верни NEEDS_CONTEXT; при невозможности продолжения — BLOCKED с причиной, выполненным и безопасным следующим действием. Исправимые технические сбои исследуй wolf-debug, не спрашивая владельца на каждый локальный шаг. Изменение scope/контракта эскалируй.
40
+ При недостатке контекста верни NEEDS_CONTEXT; при невозможности продолжения — BLOCKED с причиной, выполненным и безопасным следующим действием. Локальную очевидную ошибку исправь в лимите. Неизвестная причина/новый способ для L2 — возврат L1, а не самостоятельный запуск wolf-debug. L1 выбирает следующую диагностическую подзадачу без опроса владельца о локальных деталях. Изменение scope/контракта эскалируй.
31
41
 
32
- После прерывания сверяй план с фактическими файлами, git и evidence. Не повторяй миграции, публикации и внешние действия без проверки их исхода. По лимиту повторов (default 2) пересмотри подход. Недоступную запись памяти передай ответственному уровню.
42
+ После прерывания сверяй план с фактическими файлами, git и evidence. Не повторяй миграции, публикации и внешние действия без проверки их исхода. По лимиту назначенных повторов (default 2) L1 пересматривает подход; L2 возвращается раньше по своему стоп-условию. Недоступную запись памяти передай ответственному уровню.
33
43
 
34
44
  ## Гейт перехода
35
45
 
36
- Завершение задачи требует актуальных проверок и предусмотренного ревью; завершение поставки — интеграции и ACCEPTANCE. Без независимого канала ревью обозначь ограничение. Затем примени verification-before-completion и согласованный git-финал, не придумывая новый scope.
46
+ L2 после самопроверки возвращает RESULT/evidence L1; DONE означает готовность к ревью. L1 организует предусмотренное ревью, интеграцию, ACCEPTANCE и согласованный git-финал. verification-before-completion применяет каждая роль к собственным утверждениям. Недоступный канал явно ограничивает результат, не расширяет роль.
37
47
 
38
48
  ## Не пропускай процесс
39
49
 
@@ -18,7 +18,14 @@ description: "Применять перед сменой сессии или и
18
18
 
19
19
  ## Snapshot
20
20
 
21
- До передачи сохрани в артефакте или разрешённой памяти:
21
+ До передачи L0/L1 сохраняет checkpoint как адресную рабочую note/history Wolf
22
+ по using-skills, связанную с действующим thread; текущий контекст — note/context.
23
+ Сначала сверь уже существующий checkpoint: не создавай дубликат на каждый вызов.
24
+ Файловый fallback вне docs — при недоступной памяти/файловых данных; новый
25
+ checkpoint/report в docs/dev для каждой сессии не создавай. L2 передаёт
26
+ состояние сообщением L1; тот обеспечивает долговечность и доступность файлов,
27
+ включая нужные материалы из tmp, прежде чем закрыть сессию/очистить рабочее место.
28
+ Snapshot не становится проектным документом автоматически. Состав:
22
29
  - task/thread ID, цель, AC, scope и текущий ответственный;
23
30
  - base/current revision, cwd, branch/worktree, dirty/untracked, patch или другой доступный способ восстановления;
24
31
  - выполненное и оставшееся, dependencies, ожидающий внешний исход;
@@ -23,7 +23,7 @@ description: "Применять перед декомпозицией утве
23
23
  3. Для каждой задачи заполни TASK из using-skills: цель, AC, baseline, ссылки на контракт, allowlist, зависимости, проверки, ограничение scope и ожидаемый RESULT. Разреши читать затронутый код и потребителей; отсутствие истории сессии не означает запрета чтения.
24
24
  4. Укажи достаточно точные действия и символы, не полный код реализации. Примеры допустимы для неоднозначного контракта, но не дублируют design. Не предписывай точный код теста вместо проверяемого свойства.
25
25
  5. Построй зависимости. Параллельность разреши только для независимых outputs, изолированной записи и определённого владельца интеграции. Общие контракты и миграции сериализуй.
26
- 6. Добавь отдельную интеграционную задачу: порядок объединения, проверка взаимодействий, полный гейт и правила разрешения конфликтов. Укажи промежуточные чекпоинты для длительной работы.
26
+ 6. Для выходов TASK укажи сообщение либо точный файл/раздел; временную область назначь вне документации. Дополнительному документу этапа задай назначение, читателя и владельца прямо в plan, без отдельного реестра. Добавь отдельную интеграционную задачу: порядок объединения, проверка взаимодействий, полный гейт и правила разрешения конфликтов. Укажи промежуточные чекпоинты для длительной работы.
27
27
  7. Сверь plan с test-plan: сценарии входят в соответствующие задачи, NFR имеют измерения, тесты запускаются проектными командами. Исполнение FULL не стартует до этой сверки.
28
28
  8. Проведи саморевью и назначенное независимое ревью. Ошибку плана исправляй с повторной проверкой затронутых зависимостей.
29
29
 
@@ -1,60 +1,80 @@
1
1
  ---
2
2
  name: wolf-review
3
- description: "Применять перед утверждением requirements, design, plan, test-plan или приёмочного отчёта; при повторном ревью изменённой версии и при противоречивых выводах проверяющих."
3
+ description: "Применять L0/L1 для организации независимого ревью артефактов, повторной проверки изменённых оснований и разрешения противоречивых вердиктов."
4
4
  ---
5
5
 
6
- # Ревью артефактов
7
-
8
- ## Обязательный вход
9
-
10
- До чтения артефакта зафиксируй предмет, версии, мандат и бюджет ревью. L0 поручает цикл L1; L1 назначает независимых L2. Автор не является независимым ревьюером собственного результата. Передай сырые документы и критерии без ожидаемого вердикта. Если входы неполны, запроси их или ограничь вывод; не подменяй ревью предположением.
11
-
12
- Загрузи полный текст назначенной методики до её выполнения. Обязательные пункты отслеживай в доступном трекере или рабочем брифе; не добавляй новые статусы памяти. Недоступное действие передай ответственному уровню.
13
-
6
+ # Организация ревью — L0/L1
14
7
 
15
8
  ## Владение и вход
16
9
 
17
- L0 задаёт критерии и поручает цикл executor-lead; L1 вызывает worker-reviewer. L0 не спавнит L2 напрямую. Вход: цель ревью, документы с revision/hash, baseline, применимые требования/политика и бюджет. Получи активную методику линз; при отсутствии используй приведённый минимальный набор и обозначь fallback.
18
-
19
- ## Мандаты линз
20
-
21
- - Requirements: смысл, scope, атомарность, AC и неизвестное.
22
- - Design ↔ requirements/code: покрытие, контракты, решения и отказы.
23
- - Plan ↔ design/test-plan: зависимости, исполнимость, проверки и интеграция.
24
- - Test-plan ↔ requirements/design: oracle, сценарии, NFR и риски.
25
- - Условная security/trust: внешние инструкции, права, секреты, установка, исполнение, хранение и миграции. Запускай линзу, когда документ затрагивает перечисленное; решение о пропуске security-линзы зафиксируй в review.md.
26
-
27
- Своему ревьюеру передай только мандат и исходные артефакты, не чужие находки и не ожидаемый вердикт. Общий playbook задаёт дисциплину; узкий мандат задаёт область и исключает обязательный проход несвязанных зон. Существенную находку вне мандата отметь отдельно для маршрутизации.
28
-
29
- ## Находка и вердикт
30
-
31
- Находка: finding_id, severity, location/revision, нарушенный AC/инвариант, evidence, влияние, рекомендуемая проверка. Critical — потеря данных/полномочий/существенная неверность; Major — блокирующий дефект заявленного результата; Minor — неблокирующее улучшение. Блокировка допускается отдельно при обоснованном риске, а не по стилю.
32
-
33
- Отчёт:
34
- SUMMARY: N critical / N major / N minor
35
- VERDICT: APPROVED | CHANGES_REQUIRED | INCONCLUSIVE
36
- Список находок, область проверки и ограничения. APPROVED требует отсутствия Critical/Major и обоснованных blocking-рисков. Нехватка входов означает INCONCLUSIVE.
37
-
38
- ## Цикл
39
-
40
- 1. L1 фиксирует версии и запускает независимые линзы; дедуплицирует, сохраняя источники и разные основания.
41
- 2. Автор отвечает по каждой находке: принято/опровергнуто/отложено/нужно уточнение с evidence. Продуктовые конфликты решает L0/владелец; технические в мандате — L1 с обоснованием.
42
- 3. После исправлений определяет изменённые основания. Перезапускает все затронутые линзы; неизменённые вердикты переиспользует с доказанным соответствием revision.
43
- 4. По умолчанию максимум 3 раунда; лимит задаётся до цикла. Исчерпание бюджета → UNRESOLVED в сводке L1, незакрытые находки и эскалация; это не APPROVED.
44
- 5. Сохраняет в review.md append-only: artifact revision, линза/версия методики, verdict, finding IDs, ответы и evidence. По новой версии документа прежнее одобрение не переносится без анализа влияния.
45
-
46
- ## Гейты
47
-
48
- Владелец утверждает требования и существенные ADR; технические артефакты утверждает назначенный ответственный после ревью. Следующий этап получает одобренные версии. Пакет ревью подтверждает проверенные свойства, не гарантирует отсутствие всех дефектов.
49
-
50
- ## Гейт перехода
51
-
52
- Переход дальше требует вердикта по нужной версии, закрытых блокирующих находок и предусмотренных утверждений. После изменения основания вердикт перепроверь по влиянию. Исчерпанный бюджет означает нерешённый исход в сводке, а не одобрение. Сохрани область проверки и ограничения.
53
-
54
- ## Не пропускай процесс
55
-
56
- | Мысль | Действие |
57
- | --- | --- |
58
- | «Другой ревьюер уже всё нашёл» | Проведи свой мандат независимо, затем сопоставь находки. |
59
- | «Лимит раундов исчерпан» | Эскалируй незакрытое, не выдавай APPROVED. |
60
- | «Стиль не нравится» | Отделяй предпочтение от доказанного блокирующего дефекта. |
10
+ L0 задаёт цель/критерии и принимает поставку; L1 организует цикл и вызывает
11
+ worker-reviewer. L2 не получает полномочий диспетчера. Автор не является
12
+ независимым ревьюером своего результата. Полную методику загрузи один раз.
13
+ Процедура L2 — в полной рамке worker-reviewer и доставленном лице; не копируй
14
+ эту организационную методику в каждый worker-TASK. При явно назначенной иной
15
+ специализированной методике доставь её полный текст, не самодельное сокращение.
16
+
17
+ TASK: цель владельца одной строкой → вклад подзадачи → проверяемый результат,
18
+ baseline/revision/digest/cwd, норма и относящиеся политики, источники, границы,
19
+ полный мандат/AC, инструменты/контракты, RESULT/evidence, бюджет и стоп-условие.
20
+ Обязательные нормативные фрагменты передай без потери исключений и приоритета;
21
+ сохрани точные ссылки для дочитывания, не подменяй норму пересказом. Историю
22
+ родителя, чужие находки и ожидаемый вердикт в независимый первый проход не передавай.
23
+
24
+ L1 выбирает реальные доступные model/variant существующим harness; не выдумывай
25
+ поля или ID и не считай текст TASK доказательством настройки. Роли не шкала
26
+ reasoning. Механика — низкий режим, смысловое ревью — достаточный по риску;
27
+ повышение адресное, выбор владельца приоритетен. Раздели большой аудит на
28
+ короткие мандаты с конечным лимитом (без заданного — 8 обращений) и владельцем
29
+ межчастной согласованности/общего покрытия. Возврат при неожиданной сложности
30
+ не требует исчерпания лимита. На лимите — остаток, не APPROVED.
31
+
32
+ ## Scope и средства
33
+
34
+ Для diff-review проверяй изменения и связанные нормы. Явное поручение общей
35
+ смысловой проверки не сужай до таблиц/ID. Укажи допустимые внешние ссылки.
36
+ Линзы выбираются по объекту: Requirements, Design, Plan, Test-plan, Code.
37
+ Security/trust обязателен по релевантным правам, секретам, внешним инструкциям,
38
+ исполнению, установке, хранению/миграциям. Новый риск позволяет запросить линзу.
39
+
40
+ Для регулярной процедуры/известного трения L1 сначала ищет подходящее средство
41
+ в tool-библиотеке, если актуальный результат ещё не доставлен. Передай L2 только
42
+ нужный путь/команду, contract-in/out/env, ограничения и ловушку, не весь каталог.
43
+ Библиотечный скрипт не даёт новых прав: reviewer не запускает проверяемую систему.
44
+ Запрос из LIMITS сначала решает L1: контекст, решение, средство или разбиение.
45
+ Один эксперт — по точному пробелу; консилиум — дорогой резерв для сложного
46
+ существенно блокирующего решения по рамке L1. Дефект правила — триаж/Стюард,
47
+ не экспертный совет. Следующий L2 получает решение и узкий остаток; совет не
48
+ утверждает scope. Явное общее ревью сохраняет все критерии в суммарном покрытии,
49
+ не превращается в набор механических проверок.
50
+
51
+ ## Цикл и журнал
52
+
53
+ 1. Зафиксируй применимые линзы и версии, запусти независимые мандаты.
54
+ 2. Получи SUMMARY/VERDICT/FINDINGS/SCOPE/LIMITS/EVIDENCE по рамке. Сопоставь
55
+ фактическое покрытие с AC, не только заголовок вердикта. Дедуплицируй,
56
+ сохраняя источники и разные основания. Передай вопрос надлежащему владельцу.
57
+ 3. Ответ автора по finding ID: принято/опровергнуто/отложено/нужно уточнение
58
+ с evidence. Продуктовый конфликт — L0/владелец, технический в полномочиях — L1.
59
+ 4. После исправлений перепроверь затронутые основания/линзы и регрессионный риск;
60
+ неизменённые результаты переиспользуй только при доказанной применимости.
61
+ Не начинай новый полный аудит без причины. По умолчанию максимум 3 раунда;
62
+ исчерпание → UNRESOLVED в сводке L1 и эскалация, не одобрение.
63
+ 5. L1 сохраняет единый append-only след ревью: artifact revision/digest, линза
64
+ и версия методики, coverage, verdict, finding IDs, ответы, evidence и ограничения.
65
+ Сохраняй значимые вердикты адресными рабочими note/history Wolf с ревизией,
66
+ связью с thread и ссылками на предыдущие записи; частные ответы L2 — сообщениями.
67
+ Это аудит, не lesson/complaint и не предлагаемое правило. Не сохраняй каждый
68
+ инструментальный шаг; прежние записи/вердикты не переписывай.
69
+ review.md допустим как единичный заранее обоснованный документ этапа, когда
70
+ нужен долговечный аудит. Не создавай файл на каждого ревьювера или раунд;
71
+ без отдельного документа обязательный след и его актуальность сохраняются.
72
+
73
+ ## Гейт
74
+
75
+ Critical/Major и обоснованный блокирующий риск запрещают переход. Без доказанного
76
+ блокера существенное непроверенное свойство означает INCONCLUSIVE; полное покрытие
77
+ без блокеров — APPROVED. Справочный пробел не отменяет доказанный дефект.
78
+ Требования/существенные ADR утверждает владелец; другие артефакты — назначенный
79
+ ответственный после ревью. Совет и мнение эксперта не заменяют утверждение,
80
+ независимое ревью или проверку. Следующий этап получает нужную одобренную версию.
@@ -18,17 +18,32 @@ description: "Применять при исполнении утверждён
18
18
 
19
19
  ## Цикл задачи
20
20
 
21
- 1. Выбери ready-задачу; собери TASK из using-skills. Передай ссылки и минимальный достаточный контекст, проверенные контракты и expected RESULT. L2 разрешено читать нужные файлы и потребителей; история родительской сессии не наследуется.
22
- 2. Доставь назначенную методику и активный playbook. L2 не выбирает организационную структуру и не спавнит агентов.
23
- 3. Получи RESULT: DONE → проверить diff и evidence; DONE_WITH_CONCERNS → разобрать риск до ревью; NEEDS_CONTEXT → дополнить вход; BLOCKED → изменить контекст, размер задачи, модель или план. Не повторяй идентичный провал без нового основания.
24
- 4. Проверь allowlist и отсутствие посторонних изменений. Воркер не коммитит; L1 фиксирует результат разрешённым git-действием после проверок, включая авторизованность самого коммита.
21
+ 1. Разрежь работу до конечных мандатов L2; архитектуру, стратегию поиска и зависимости определяет L1. Назначь владельца проверки общих связей. Выбери независимые ready-задачи, запусти параллельно в бюджете и с изоляцией; собери каждому TASK из using-skills. Передай ссылки и минимальный достаточный контекст, проверенные контракты и expected RESULT. L2 разрешено читать нужные файлы и потребителей; история родительской сессии не наследуется.
22
+ 2. Доставь полную методику действия L2 и активный playbook, относящиеся нормы и TASK/RESULT/EVIDENCE; не весь процесс L1/ACCEPTANCE. Для регулярного шага/трения L1 проверяет tool-библиотеку и передаёт подходящий контракт. L2 не выбирает организацию и не спавнит.
23
+ 3. Принимай RESULT по готовности: DONE → diff/evidence; DONE_WITH_CONCERNS → риск до ревью; NEEDS_CONTEXT → точный вход; BLOCKED → решение L1, готовое средство или разбиение. Следующий вызов получает решённый вопрос, короткий остаток и новый конечный лимит. Один эксперт — при точном пробеле; дорогой консилиум — только по критериям рамки L1. Изменение цели → L0. Дефект правила → жалобный триаж/Стюард. Не возвращай L2 прежнее «разберись» и не запускай идентичный провал.
24
+ 4. Проверь allowlist и новые файлы, включая untracked: RESULT L2 не требует отдельного документа. Частные отчёты/скрипты в docs/dev нарушают состав папки; L1 встраивает полезные выводы в основные документы. Не удаляй чужое/прежнее автоматически. Проверь отсутствие посторонних изменений. Воркер не коммитит; L1 фиксирует результат разрешённым git-действием после проверок, включая авторизованность самого коммита.
25
25
  5. Организуй независимое ревью соответствия, затем качества. Для малой задачи два мандата может выполнить один независимый reviewer в явном порядке; для значимого риска используй отдельные чистые ревью. Независимость от исполнителя обязательна.
26
26
  6. Правки возвращай исполнителю с finding IDs. Изменения контракта повторно проверяются на соответствие, даже если проблема пришла с стадии качества. Minor не блокирует без объяснённого риска; сохрани техдолг в подходящем существующем объекте.
27
27
  7. L1 отмечает задачу проверенной в плане с revision/evidence. Принятой поставкой она становится после интеграции и финального verdict L0.
28
28
 
29
+ ## Бюджет действий
30
+
31
+ В каждом TASK задай execution: доступные model/variant, mode execute|solve,
32
+ лимит обращений и условие завершения. Механические действия — низкая глубина,
33
+ смысловая проверка — средняя; высокий режим только на адресный блокер, с учётом
34
+ явного выбора владельца. Проверяй фактическое применение по метаданным запуска,
35
+ не выдумывай поддержку полей. Доставленные методики и лица не ищутся повторно.
36
+ Каждый L2 возвращается после результата, первой неожиданной сложности или
37
+ конечного лимита; без заданного — не позднее 8 обращений к инструментам.
38
+ Неисчерпанный бюджет не разрешает новый способ поиска, исчерпанный — ложный успех. Повторный вызов получает только изменённые
39
+ основания, findings и остаток; свежий независимый первый проход — сырые входы.
40
+
29
41
  ## Параллельность
30
42
 
31
- Разрешай несколько исполнителей только при независимых задачах, изолированных write sets/worktree, отсутствии общей незащищённой памяти и известном порядке интеграции. При сомнении сериализуй. Общие plan.md и .wolf/ изменяет назначенный владелец; .wolf/ в linked worktree резолвится в общий main-чекоут, записи по умолчанию `scope: worktree:<name>`, перенос в общую память — `wolf promote`; передача незакоммиченного состояния между рабочими копиями — wolf-handoff snapshot. Не объявляй одинаковые файлы в разных ветках доказательством семантической независимости.
43
+ Разрешай несколько исполнителей только при независимых задачах, изолированных write sets/worktree, отсутствии общей незащищённой памяти и известном порядке интеграции. Не сериализуй ready-задачи без конкретной зависимости/риска. При неизвестной
44
+ общей границе сначала выясни её коротким мандатом. Блокер приостанавливает
45
+ зависимых; остальные идут дальше. Обновление общего контракта требует сверки
46
+ затронутых задач, не слепой интеграции. Общие plan.md и .wolf/ изменяет назначенный владелец; .wolf/ в linked worktree резолвится в общий main-чекоут, записи по умолчанию `scope: worktree:<name>`, перенос в общую память — `wolf promote`; передача незакоммиченного состояния между рабочими копиями — wolf-handoff snapshot. Не объявляй одинаковые файлы в разных ветках доказательством семантической независимости.
32
47
 
33
48
  ## Интеграция и завершение
34
49
 
package/update-map.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "2.21.0",
3
- "prev": "2.20.1",
2
+ "version": "2.21.2",
3
+ "prev": "2.21.1",
4
4
  "files": [
5
5
  {
6
6
  "path": "base/agents/executor-lead.md",