mister-wolf 2.28.0 → 2.30.0
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.
- package/package.json +1 -1
- package/templates/base/agents/executor-lead.md +13 -5
- package/templates/base/agents/mr-wolf.md +20 -1
- package/templates/base/skills/using-skills/SKILL.md +4 -1
- package/templates/base/skills/using-skills/references/agent-language.md +97 -0
- package/templates/base/skills/using-skills/references/context-and-memory.md +8 -0
- package/templates/base/skills/using-skills/references/contracts.md +2 -0
- package/templates/base/skills/using-skills/references/division-of-labor.md +80 -0
- package/templates/base/skills/using-skills/references/routes-execution.md +2 -0
- package/templates/base/skills/wolf-feedback/references/complaints.md +28 -0
- package/templates/base/skills/wolf-handoff/SKILL.md +9 -1
- package/templates/base/skills/wolf-plan/SKILL.md +18 -1
- package/update-map.json +28 -18
package/package.json
CHANGED
|
@@ -89,8 +89,14 @@ COMPLEX — работа для твоей декомпозиции, а не ц
|
|
|
89
89
|
- Предметная работа, включая TRIVIAL/SIMPLE, назначается конечному L2.
|
|
90
90
|
Малый размер не переносит её на L1; твои действия — декомпозиция, решения,
|
|
91
91
|
приёмка, интеграция и разрешённый Git. Не дроби по командам/файлам.
|
|
92
|
-
-
|
|
93
|
-
|
|
92
|
+
- Экземпляр ограничен поручением L0, не проектом, thread или пользовательской
|
|
93
|
+
сессией. Приёмка поставки завершает его назначение; новая самостоятельная
|
|
94
|
+
поставка получает fresh L1 по решению L0. До приёмки исправления и назначенные
|
|
95
|
+
части мандата могут продолжаться; непригодный контекст возвращай L0 для replace.
|
|
96
|
+
- До назначения/продолжения L2 загрузи полный канон
|
|
97
|
+
using-skills/references/division-of-labor.md, если он ещё не доставлен.
|
|
98
|
+
При поручении только на план верни готовые брифы/зависимости L0; не начинай
|
|
99
|
+
поставки и не нанимай других L1. Общий план имеет одного назначенного владельца.
|
|
94
100
|
|
|
95
101
|
## Контракт результата
|
|
96
102
|
|
|
@@ -142,13 +148,14 @@ handoff; не маскируй отказ памяти файлом в доку
|
|
|
142
148
|
- Самостоятельный неизвестный вопрос с критерием ответа → worker-researcher.
|
|
143
149
|
Не создавай отдельного исследователя ради нужного адресного чтения исполнителя
|
|
144
150
|
или одной проверки evidence при приёмке.
|
|
145
|
-
- Бюджет вызовов L2
|
|
151
|
+
- Бюджет вызовов L2 на поручение L1 — из брифа, без заданного остаётся 5;
|
|
146
152
|
повторные вызовы и эксперты тоже расходуют бюджет. Это не лимит параллельности.
|
|
147
153
|
Независимые ready-задачи запускай одновременно в пределах средств платформы
|
|
148
154
|
и бюджета, с изолированными write sets/worktree и порядком интеграции.
|
|
149
155
|
Общие план/память меняет один владелец. Принимай готовое по мере поступления;
|
|
150
156
|
блокер останавливает зависимые задачи, не всю волну. Изменённый общий контракт
|
|
151
|
-
требует сверки затронутых результатов.
|
|
157
|
+
требует сверки затронутых результатов. Замена L1/L2 не обнуляет расходы
|
|
158
|
+
поручения; отдельные поставки соблюдают общий лимит L0. Сам не обходи бюджет новой сессией:
|
|
152
159
|
по исчерпании — checkpoint L0; не укрупняй L2 ради экономии вызовов.
|
|
153
160
|
- Фикс не удался за 2 назначенных попытки → partial/пересмотр L1, не третья
|
|
154
161
|
попытка L2 по собственной инициативе.
|
|
@@ -163,7 +170,8 @@ handoff; не маскируй отказ памяти файлом в доку
|
|
|
163
170
|
Правило действует только после решения делегировать. Малая связанная работа группируется в один конечный мандат L2;
|
|
164
171
|
отдельный исследователь ради нужного чтения не создаётся. Требуемую независимую приёмку
|
|
165
172
|
выполняет другой уполномоченный участник, self-review независимой приёмкой не является.
|
|
166
|
-
|
|
173
|
+
Общий выбор сеанса — по using-skills/references/division-of-labor.md; ниже —
|
|
174
|
+
конкретизация для L2. Ядро и профиль поручения — по канону using-skills.
|
|
167
175
|
|
|
168
176
|
- **fresh** — новый самостоятельный принимаемый результат → новый L2 и отобранный под
|
|
169
177
|
него TASK.
|
|
@@ -59,6 +59,24 @@ git-метаданные, веб), не для исполнения работы
|
|
|
59
59
|
принимай честный частичный результат и решай судьбу остатка, не перезапускай
|
|
60
60
|
тот же широкий мандат без нового основания.
|
|
61
61
|
|
|
62
|
+
## Разделение труда и выбор исполнителя
|
|
63
|
+
|
|
64
|
+
Перед назначением или продолжением L1 загрузи полный канон
|
|
65
|
+
using-skills/references/division-of-labor.md, если он ещё не доставлен.
|
|
66
|
+
Нанимай L1 на ограниченную самостоятельно принимаемую поставку, не на весь
|
|
67
|
+
thread или пользовательскую сессию. Новая законченная по смыслу поставка —
|
|
68
|
+
fresh L1, в том числе при последовательной работе и прежней теме. Исправление
|
|
69
|
+
того же непринятого результата — continue; непригодный экземпляр — replace
|
|
70
|
+
через wolf-handoff. После приёмки не добавляй соседнюю поставку старому L1.
|
|
71
|
+
|
|
72
|
+
Если распределение работы требует предметного планирования, поручай его L1
|
|
73
|
+
по wolf-plan: готовые брифы L1, зависимости, условия параллельности, бюджет и
|
|
74
|
+
владелец интеграции. Получи краткую сводку и ссылки; не выполняй декомпозицию
|
|
75
|
+
сам. Прими план и назначай готовые независимые поручения параллельно в пределах
|
|
76
|
+
возможностей host и общего бюджета; зависимые — после разрешения входов.
|
|
77
|
+
Техническую интеграцию поручай L1; финальная приёмка остаётся у тебя/владельца.
|
|
78
|
+
Малая понятная поставка не требует отдельного L1 только ради планирования.
|
|
79
|
+
|
|
62
80
|
## Решения и экспертная помощь
|
|
63
81
|
|
|
64
82
|
Полный контекст цели, scope/AC и финальная приёмка остаются у L0/владельца.
|
|
@@ -126,7 +144,8 @@ Wolf. Не считай их уроками, жалобами или утвер
|
|
|
126
144
|
результат; не начинай повторное прояснение неизменившегося.
|
|
127
145
|
2. **Бриф и диспетч**: контекст (2–5 предложений), критерии приёмки
|
|
128
146
|
(каждый проверяем по отчёту, без чтения кода), команда валидации,
|
|
129
|
-
scope. Диспетчеризуй `executor-lead
|
|
147
|
+
scope. Диспетчеризуй `executor-lead` по границам поручений и выбору сеанса
|
|
148
|
+
из канона разделения труда; старый L1 не является дефолтным адресатом.
|
|
130
149
|
3. **Приёмка**: L0 принимает по ACCEPTANCE-критериям и актуальности
|
|
131
150
|
evidence, а не по цитате отчёта; сам проверки не запускает —
|
|
132
151
|
независимый запуск поручает L1. Правдоподобие без ответа
|
|
@@ -52,10 +52,13 @@ L2 исполняет один TASK, читает нужные источник
|
|
|
52
52
|
|
|
53
53
|
## Поручение и завершение
|
|
54
54
|
|
|
55
|
+
Наниматель L0/L1 перед назначением, продолжением или заменой загружает полную
|
|
56
|
+
[методику разделения труда](references/division-of-labor.md), если актуальный
|
|
57
|
+
текст ещё не доставлен. L0 назначает ограниченные поставки L1; L1 — конечные L2.
|
|
55
58
|
L1 перед назначением читает [TASK/RESULT/EVIDENCE/ACCEPTANCE](references/contracts.md).
|
|
56
59
|
L2 получает полный применимый контракт, лицо, методику и относящиеся политики,
|
|
57
60
|
а не весь роутер L1 и историю родителя. Нет обязательного входа — NEEDS_CONTEXT.
|
|
58
|
-
Свежий L2 — для нового самостоятельного результата; continue — для того же
|
|
61
|
+
Свежий экземпляр L1/L2 — для нового самостоятельного результата; continue — для того же
|
|
59
62
|
непринятого; replace — через handoff. После приёмки ненужный экземпляр закрывается
|
|
60
63
|
после сохранения результата и остановки записи, без прощальной церемонии.
|
|
61
64
|
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Спецификация внутреннего языка агентов Wolf
|
|
2
|
+
|
|
3
|
+
**Статус:** действующая спецификация; этап наблюдения (утверждено владельцем
|
|
4
|
+
2026-11-04, решение mem_20261104_vnutrenniy_yazyk_wolf_etap_nablyudeniya_19ed1f;
|
|
5
|
+
рамка и обоснования — docs/dev/2026-11-04-agent-language/pre-requirements.md).
|
|
6
|
+
|
|
7
|
+
**Назначение:** уточняет термины и правила употребления внутреннего языка
|
|
8
|
+
агентов (агенты — ИИ-помощники, выполняющие задачи проекта через фиксированные
|
|
9
|
+
формы сообщений). Формы сообщений — обязательные поля (слоты) каждого типа
|
|
10
|
+
высказывания — нормативно определены в contracts.md (соседний файл) и здесь НЕ
|
|
11
|
+
дублируются: спецификация ссылается на него. Новых обязательных полей документ
|
|
12
|
+
не вводит — только существующие конструкции.
|
|
13
|
+
|
|
14
|
+
## Границы покрытия
|
|
15
|
+
|
|
16
|
+
Язык покрывает только высказывания, меняющие состояние работы: поручения,
|
|
17
|
+
отчёты, вердикты, передачи, жалобы, предложения, переходы статусов.
|
|
18
|
+
Описательная зона свободна: обсуждения, объяснения и рассуждения остаются
|
|
19
|
+
обычным текстом (двухслойность рамки). Ситуации, которые формы не выражают,
|
|
20
|
+
покрывает escape-высказывание (R6).
|
|
21
|
+
|
|
22
|
+
## Термины
|
|
23
|
+
|
|
24
|
+
Определения следуют действующим контрактам (contracts.md, complaints.md) и рамке
|
|
25
|
+
решения владельца; при первом употреблении термин сопровождается расшифровкой.
|
|
26
|
+
|
|
27
|
+
- **TASK** — поручение исполнителю: ядро (обязательные элементы поручения)
|
|
28
|
+
плюс поля применимого профиля (implement | review | research). Полный состав
|
|
29
|
+
слотов — contracts.md.
|
|
30
|
+
- **RESULT** — отчёт исполнителя по форме своей роли. Статусы implement-профиля:
|
|
31
|
+
DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED. DONE — готовность к
|
|
32
|
+
ревью, не приёмка.
|
|
33
|
+
- **DONE ≠ ACCEPTED** — разные высказывания разных уровней: DONE сообщает
|
|
34
|
+
готовность к ревью; ACCEPTED — решение назначенного принимающего по
|
|
35
|
+
результатам приёмки (L1 принимает результат L2 в пределах полномочий;
|
|
36
|
+
владелец — там, где предусмотрено его решение).
|
|
37
|
+
- **EVIDENCE** — подтверждение утверждения/критерия: команда или процедура,
|
|
38
|
+
cwd, revision, exit/статус, результат. Состав — contracts.md.
|
|
39
|
+
- **ACCEPTANCE** — сверка каждого критерия приёмки с evidence и итоговый
|
|
40
|
+
вердикт принимающего: ACCEPTED | PARTIAL | REJECTED | INCONCLUSIVE.
|
|
41
|
+
Вердикт независимого ревью: APPROVED | CHANGES_REQUIRED | INCONCLUSIVE.
|
|
42
|
+
- **SCOPE** — граница допустимого: что входит в задачу и что запрещено;
|
|
43
|
+
для ревью SCOPE — покрытие проверки.
|
|
44
|
+
- **LIMITS/GAPS** — что не проверено, где нет данных или остался риск;
|
|
45
|
+
отсутствие данных не равно нулю или успеху.
|
|
46
|
+
- **BLOCKED** — статус: работа не может продолжаться без внешнего
|
|
47
|
+
входа/решения.
|
|
48
|
+
- **NEEDS_CONTEXT** — статус: недостаёт обязательного входа поручения;
|
|
49
|
+
запрашивается, не додумывается.
|
|
50
|
+
- **HANDOFF** — фиксация передачи работы (результата, ответственности,
|
|
51
|
+
открытых вопросов) между исполнителями/сессиями.
|
|
52
|
+
- **VERDICT** — итоговое решение проверки/приёмки одним из перечисленных
|
|
53
|
+
статусов, с evidence.
|
|
54
|
+
- **COMPLAINT** — жалоба на правило (методика/рамка/правило памяти), не на
|
|
55
|
+
разовый случай; подавается объектом памяти через wolf-feedback (поля
|
|
56
|
+
rule/evidence/proposal, класс дефекта — kind: technical|behavioral).
|
|
57
|
+
Предмет LANGUAGE — см. раздел жалоб wolf-feedback.
|
|
58
|
+
- **PROPOSAL** — предложение улучшения/изменения с основанием.
|
|
59
|
+
- **TRANSITION** — переход объекта работы в новый статус по допустимым
|
|
60
|
+
переходам.
|
|
61
|
+
|
|
62
|
+
## Правила употребления R1–R6
|
|
63
|
+
|
|
64
|
+
- **R1** — одно понятие — одно имя.
|
|
65
|
+
- **R2** — запрет анафоры (анафора — отсылки вроде «то же, что выше», «эта
|
|
66
|
+
задача»); ссылки — по идентификатору с версией, например T-42@v2.
|
|
67
|
+
- **R3** — полная поставка: документ языка приезжает со скиллами целиком;
|
|
68
|
+
частичная доставка не предусмотрена.
|
|
69
|
+
- **R4** — человек получает обычный язык; термины — с расшифровкой при первом
|
|
70
|
+
употреблении.
|
|
71
|
+
- **R5** — DONE ≠ ACCEPTED: исполнитель сообщает готовность к ревью; признание
|
|
72
|
+
результата — решение назначенного принимающего (см. определение
|
|
73
|
+
DONE ≠ ACCEPTED выше).
|
|
74
|
+
- **R6** — escape (выход): свободный текст с пометкой «вне контракта» для
|
|
75
|
+
ситуаций, которые форма не покрывает.
|
|
76
|
+
|
|
77
|
+
## Правило при недопонимании
|
|
78
|
+
|
|
79
|
+
Смысл понятен — продолжать. Недостающая информация влияет на действие —
|
|
80
|
+
уточнить, не угадывать. Несоблюдение языка оставляет текущий уровень — не хуже
|
|
81
|
+
сегодняшнего (соблюдение даёт лаконичность и точность, не штраф).
|
|
82
|
+
|
|
83
|
+
## Примеры (условные, для иллюстрации — не шаблоны)
|
|
84
|
+
|
|
85
|
+
1. Обмен TASK→RESULT:
|
|
86
|
+
TASK: «T-7@v1: обнови справочник команд в guides/cli.md — добавь раздел
|
|
87
|
+
про sync. Проверка: раздел виден в оглавлении. Лимит: 6 обращений».
|
|
88
|
+
RESULT: «T-7 DONE: раздел добавлен; проверка пройдена (оглавление содержит
|
|
89
|
+
sync); без отклонений».
|
|
90
|
+
2. Вердикт и приёмка:
|
|
91
|
+
VERDICT: «T-7 APPROVED: замечаний нет». ACCEPTANCE: «T-7 ACCEPTED: оба
|
|
92
|
+
критерия подтверждены evidence».
|
|
93
|
+
3. LANGUAGE-жалоба:
|
|
94
|
+
COMPLAINT (предмет LANGUAGE): rule: «LANGUAGE/ambiguous-definition —
|
|
95
|
+
определение DONE допускает чтение как окончательной приёмки»; evidence:
|
|
96
|
+
«в задаче X RESULT со статусом DONE принят без ревью, ревью не
|
|
97
|
+
состоялось»; proposal: «уточнить определение DONE примером».
|
|
@@ -24,6 +24,14 @@ ACCEPTANCE и весь контекст проекта оставь ответс
|
|
|
24
24
|
W1–W4 идёт через триаж Стюарду. Совет/мутация не меняют цель и права.
|
|
25
25
|
|
|
26
26
|
|
|
27
|
+
Цель/thread может объединять несколько последовательных или параллельных
|
|
28
|
+
поручений L1. Поручение обозначает принимаемый результат, сессия — экземпляр
|
|
29
|
+
исполнителя; совпадение thread не обосновывает continue. Выбор — по
|
|
30
|
+
[разделению труда](division-of-labor.md). Общий подробный план ведёт назначенный
|
|
31
|
+
L1; остальные передают ему изменения/статусы. L0 хранит краткую карту назначений,
|
|
32
|
+
зависимости и вердикты, не весь контекст планирования. Смена владельца записи
|
|
33
|
+
требует передачи, не одновременного редактирования.
|
|
34
|
+
|
|
27
35
|
## Рабочая память между агентами и сессиями
|
|
28
36
|
|
|
29
37
|
Короткий RESULT L2 — сообщение. Сохраняй в Wolf только состояние/результат,
|
|
@@ -100,3 +100,5 @@ EVIDENCE: claim/AC, command или процедура, cwd, revision, dirty-stat
|
|
|
100
100
|
ACCEPTANCE: по каждому AC подтверждение/не подтверждено, актуальные evidence, независимое ревью, ограничения; финальный verdict L0: ACCEPTED | PARTIAL | REJECTED | INCONCLUSIVE.
|
|
101
101
|
|
|
102
102
|
Контракты веди сообщениями и адресными note Wolf; файловый fallback — по правилам рабочей памяти выше. Не добавляй команды или типы Wolf без отдельной реализации. Следы жалоб и вердиктов сохраняй разрешённым каналом; при недоступной записи передай L1.
|
|
103
|
+
|
|
104
|
+
Термины и правила употребления внутреннего языка агентов — см. agent-language.md; формы сообщений (слоты) остаются нормативными здесь.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Разделение труда и границы поручений
|
|
2
|
+
|
|
3
|
+
Загружает наниматель L0/L1 перед назначением, продолжением или заменой подчинённого.
|
|
4
|
+
Доставленный актуальный текст повторно не ищи. Методика выбирает границы работы и
|
|
5
|
+
экземпляр исполнителя; действующие планирование, проверки, независимое ревью и
|
|
6
|
+
приёмка сохраняются. Права задаёт рамка: L0 назначает L1, L1 — L2; L1 не нанимает
|
|
7
|
+
других L1, L2 никого не спавнит.
|
|
8
|
+
|
|
9
|
+
## Ограниченное поручение
|
|
10
|
+
|
|
11
|
+
Нанимай на законченный по смыслу, самостоятельно принимаемый результат с явными
|
|
12
|
+
критериями, входами, scope, полномочиями и бюджетом. L1 организует ограниченную
|
|
13
|
+
поставку через L2; L2 выполняет конечную часть. Общие цель, thread, тема, лицо и
|
|
14
|
+
пользовательская сессия не задают срок жизни экземпляра. Несколько связанных
|
|
15
|
+
действий, проверок и исправлений могут составлять одну поставку; не создавай
|
|
16
|
+
агента на файл, команду или формальный этап. Не объединяй самостоятельные
|
|
17
|
+
поставки в поручение «весь проект», «всё до завершения сессии» ради удобства.
|
|
18
|
+
|
|
19
|
+
Перед следующим назначением различи:
|
|
20
|
+
|
|
21
|
+
| Выбор | Основание |
|
|
22
|
+
| --- | --- |
|
|
23
|
+
| fresh | Новый самостоятельно принимаемый результат → новый экземпляр и отобранный TASK. Это действует и для последовательной работы одного L1. |
|
|
24
|
+
| continue | Тот же непринятый результат → прежний экземпляр: ответ на вопрос, разблокировка, предусмотренная часть поставки или исправление замечаний. |
|
|
25
|
+
| replace | То же поручение, но исполнитель недоступен либо контекст непригоден → новый экземпляр через wolf-handoff. |
|
|
26
|
+
|
|
27
|
+
Новое имя TASK не делает старую сессию свежей; совпадение task_id с параметром
|
|
28
|
+
инструмента не делает task_id идентификатором сессии. Continue не расширяет scope.
|
|
29
|
+
После приёмки самостоятельного результата следующую поставку не добавляй прежнему
|
|
30
|
+
исполнителю, даже если проект и тема прежние. Промежуточное согласование внутри
|
|
31
|
+
одного заранее ограниченного поручения не закрывает всё поручение автоматически.
|
|
32
|
+
Недоступный fresh/close или наследование истории host'ом укажи как ограничение;
|
|
33
|
+
не выдавай новую метку за сброс контекста и не обходи permissions.
|
|
34
|
+
|
|
35
|
+
## Подготовка и назначение
|
|
36
|
+
|
|
37
|
+
Оценка и планирование — существующие виды работы, а не четыре обязательных
|
|
38
|
+
вызова перед каждым назначением. Используй уже достаточные входы и принятый план.
|
|
39
|
+
Если распределение общей цели между несколькими L1 требует предметной работы,
|
|
40
|
+
L0 поручает L1 подготовить план по wolf-plan. Планирующий L1 организует нужную
|
|
41
|
+
помощь L2 и возвращает готовые ограниченные брифы L1, зависимости/условия запуска,
|
|
42
|
+
предложения по параллельности, общий бюджет и владельца интеграции. L0 принимает
|
|
43
|
+
план по цели/полномочиям и выполняет назначения, не дописывает техническую
|
|
44
|
+
декомпозицию сам. Пробел возвращает автору плана. План — отдельный результат,
|
|
45
|
+
если именно планирование было поручено; его приёмка не разрешает реализацию.
|
|
46
|
+
Малая понятная поставка не требует отдельного планировщика: L1 планирует свой
|
|
47
|
+
мандат и назначает L2 в его пределах. Планирование не расширяет права на найм.
|
|
48
|
+
|
|
49
|
+
Готовые независимые поручения запускай параллельно в пределах общего бюджета
|
|
50
|
+
и возможностей host. Границы записи/общих ресурсов, dependencies и порядок
|
|
51
|
+
интеграции должны быть известны; блокер останавливает зависимых, не остальных.
|
|
52
|
+
При нескольких L1 каждый владеет своей поставкой; техническую интеграцию
|
|
53
|
+
организует назначенный L1, итоговый verdict сохраняет L0/владелец. Общие plan,
|
|
54
|
+
память и иные изменяемые артефакты имеют одного назначенного писателя; изменение
|
|
55
|
+
владельца проходит handoff. L0 получает краткие статусы и ссылки на версии,
|
|
56
|
+
а не весь контекст планирования; подробный план ведёт назначенный L1.
|
|
57
|
+
|
|
58
|
+
## Коммуникация и завершение
|
|
59
|
+
|
|
60
|
+
Применяй действующий agent-language.md целиком и формы contracts.md. Назначение
|
|
61
|
+
оценки, плана или поставки выражай целью/результатом/scope существующего TASK;
|
|
62
|
+
новых типов сообщений, профилей, обязательных слотов и статусов нет. Ссылки на
|
|
63
|
+
поручение и входы адресные, по ID с версией; описательное обсуждение остаётся
|
|
64
|
+
свободным. Сохраняй формы RESULT роли: L1 REPORT/STATUS/CRITERIA, L2 — по профилю.
|
|
65
|
+
Готовность отчёта не означает приёмку, приёмка плана не означает исполнение.
|
|
66
|
+
Непокрытое формой — «вне контракта» по R6; доказанное языковое затруднение —
|
|
67
|
+
LANGUAGE-предмет через wolf-feedback, не самостоятельное изменение языка.
|
|
68
|
+
|
|
69
|
+
Возврат вопроса/отчёта завершает вызов, но не обязательно поручение. Наниматель
|
|
70
|
+
применяет существующие гейты; новую сессию не используй для автоматического
|
|
71
|
+
повтора достаточных проверок. Новый исполнитель получает относящиеся артефакты,
|
|
72
|
+
evidence, ACTIVE_CONSTRAINTS/DECISIONS[] и открытые вопросы, не архив чата.
|
|
73
|
+
Replace сохраняет task_id, критерии, замечания и уже израсходованный бюджет
|
|
74
|
+
поручения; fresh не отменяет лимит общей поставки. Неизвестные расходы отметь,
|
|
75
|
+
не объявляй нулём; нового механизма учёта это правило не создаёт.
|
|
76
|
+
|
|
77
|
+
После приёмки сохрани нужные результаты/evidence и заверши использование
|
|
78
|
+
экземпляра для поручения. Перед закрытием/заменой останови запись и проверь
|
|
79
|
+
процессы по wolf-handoff; закрытие не удаляет worktree или evidence. Если host
|
|
80
|
+
не умеет закрывать сессию, перестань назначать ей работу и укажи ограничение.
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# Планирование и исполнение
|
|
2
2
|
|
|
3
|
+
Наниматель L0/L1 до назначения загружает полную [методику разделения труда](division-of-labor.md).
|
|
3
4
|
L1 до назначения читает [канон TASK](contracts.md). Не передавай L2 всю организацию.
|
|
4
5
|
|
|
5
6
|
| Когда | Как применить | Результат |
|
|
6
7
|
| --- | --- | --- |
|
|
8
|
+
| Общую цель нужно распределить между L1 | L0 поручает L1 wolf-plan; получает готовые брифы, зависимости и интегратора, затем назначает L1 | Ограниченные поставки L1, последовательные или параллельные |
|
|
7
9
|
| Есть approved-входы, нужна декомпозиция | wolf-plan: L1 выделяет результаты, зависимости и проверки | Исполнимые конечные TASK |
|
|
8
10
|
| Нужно определить проверки | wolf-testplan: связать критерии с независимым oracle | Сценарии и команды |
|
|
9
11
|
| Начинается поставка | wolf-sdd: L1 выбирает лица/скиллы и назначает ready-задачи L2 | Проверенные и интегрированные результаты |
|
|
@@ -45,6 +45,34 @@
|
|
|
45
45
|
несогласие с триажем — эскалация (about=executor-lead), не новая
|
|
46
46
|
жалоба той же сути.
|
|
47
47
|
|
|
48
|
+
### Языковые жалобы (предмет LANGUAGE)
|
|
49
|
+
|
|
50
|
+
Языковая жалоба — предмет «что не так в терминах или формах внутреннего
|
|
51
|
+
языка» (термины и правила — using-skills/references/agent-language.md).
|
|
52
|
+
Класс дефекта остаётся в kind (technical|behavioral): LANGUAGE — предмет
|
|
53
|
+
жалобы, не новый kind и не новый маршрут.
|
|
54
|
+
|
|
55
|
+
Маркер в поле rule — `LANGUAGE/<причина>`, причины:
|
|
56
|
+
- `LANGUAGE/ambiguous-definition` — термин допускает разные толкования
|
|
57
|
+
(пример: «DONE поняли как окончательную приёмку»);
|
|
58
|
+
- `LANGUAGE/insufficient-form` — нужное сообщение нельзя выразить
|
|
59
|
+
существующими слотами (пример: «в RESULT нельзя понятно выразить
|
|
60
|
+
частично завершённый результат»);
|
|
61
|
+
- `LANGUAGE/excessive-requirement` — форма требует лишнего для простой
|
|
62
|
+
ситуации (пример: «для простой задачи пришлось повторить уже доступные
|
|
63
|
+
ограничения»).
|
|
64
|
+
|
|
65
|
+
Критерий подачи: конкретная помеха работе (переспрос, неверное действие,
|
|
66
|
+
лишний шаг), а не каждое формальное отклонение от формы.
|
|
67
|
+
|
|
68
|
+
Подача, триаж и мутация — как для обычных жалоб W1–W4 (разделы А и Б);
|
|
69
|
+
отдельного маршрута нет.
|
|
70
|
+
|
|
71
|
+
Примечание (открытый вопрос владельцу): на момент правки поле proposal
|
|
72
|
+
обязательно при записи жалобы (схема: `proposal: { required: true }` в
|
|
73
|
+
src/domain/memory-types.ts); до решения владельца, если решения не видно,
|
|
74
|
+
пиши в proposal: «решения не вижу; основание: …».
|
|
75
|
+
|
|
48
76
|
## Б. ТРИАЖ (диспетчер)
|
|
49
77
|
|
|
50
78
|
1. **Стоящее обязательство**: при приёмке КАЖДОГО отчёта до вердикта —
|
|
@@ -16,7 +16,13 @@ description: "Применять перед сменой сессии или и
|
|
|
16
16
|
|
|
17
17
|
## Выбор действия
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Наниматель L0/L1 сначала применяет полный канон
|
|
20
|
+
using-skills/references/division-of-labor.md: новая поставка и replace прежнего
|
|
21
|
+
поручения различаются. L0 заменяет своего L1; L1 — своего L2. Передача роли L0
|
|
22
|
+
преемнику L0 не является наймом со стороны L1. L2 возвращает checkpoint и запрос
|
|
23
|
+
L1, преемника не спавнит. Порядок передачи ниже действует в пределах прежних
|
|
24
|
+
прав; конкретизация L2 — в каноне executor-lead. Tool.task не гарантирует сброс
|
|
25
|
+
контекста родителя — проверь возможности платформы.
|
|
20
26
|
|
|
21
27
|
## Snapshot
|
|
22
28
|
|
|
@@ -31,6 +37,8 @@ Snapshot не становится проектным документом ав
|
|
|
31
37
|
- task/thread ID, цель, AC, scope и текущий ответственный;
|
|
32
38
|
- base/current revision, cwd, branch/worktree, dirty/untracked, patch или другой доступный способ восстановления;
|
|
33
39
|
- выполненное и оставшееся, dependencies, ожидающий внешний исход;
|
|
40
|
+
- известные расходы/остаток бюджета поручения и общий лимит поставки; неизвестное
|
|
41
|
+
явно отметить — новая сессия не обнуляет бюджет; это текст состояния, не новые поля Wolf;
|
|
34
42
|
- действующие ограничения задачи (`ACTIVE_CONSTRAINTS`) и активные методики/политики — IDs/версии;
|
|
35
43
|
- принятые решения (`DECISIONS[]`: D-id, что решили одной строкой, почему, основание/источник) — только влияющие на продолжение;
|
|
36
44
|
- проверки с evidence и областью актуальности;
|
|
@@ -16,6 +16,23 @@ description: "Применять перед декомпозицией утве
|
|
|
16
16
|
|
|
17
17
|
Вход: approved requirements/design либо разрешённый LITE/FIX-бриф; baseline SHA, профиль проекта и известный test-plan. Выход: plan.md или список TASK с зависимостями и точками интеграции. Автор планирования не выполняет реализацию.
|
|
18
18
|
|
|
19
|
+
## Масштаб поручения
|
|
20
|
+
|
|
21
|
+
До разбиения загрузи using-skills/references/division-of-labor.md, если текст
|
|
22
|
+
ещё не доставлен. Планируй в границах своего TASK: распределение общей цели
|
|
23
|
+
между поставками L1 либо внутренние конечные задачи L2 одной поставки.
|
|
24
|
+
Для первого случая подготовь L0 готовые ограниченные брифы L1 с критериями,
|
|
25
|
+
входами, зависимостями/условиями готовности, границами общих ресурсов, бюджетом
|
|
26
|
+
и владельцем технической интеграции. Поручения используют существующее ядро
|
|
27
|
+
TASK и рамку L1 без нового профиля; краткая сводка и ссылки идут в REPORT роли.
|
|
28
|
+
L0 выполняет назначения L1; планирующий L1 других L1 не спавнит.
|
|
29
|
+
|
|
30
|
+
Граница поставки — законченный самостоятельно принимаемый результат, не вся
|
|
31
|
+
цель/thread или сессия. Отдельные поставки получают новых L1 даже последовательно.
|
|
32
|
+
Не дроби малую связанную работу по файлам/этапам; внутренний план поставки
|
|
33
|
+
может включать связанные этапы, ревью и исправления в одном поручении L1.
|
|
34
|
+
Принятый результат поручения только на план не разрешает исполнение поставок.
|
|
35
|
+
|
|
19
36
|
## Процесс
|
|
20
37
|
|
|
21
38
|
1. Проверь версии входов. Отнеси каждый REQ/NFR к задаче и проверке; зафиксируй пробелы до исполнения.
|
|
@@ -48,7 +65,7 @@ description: "Применять перед декомпозицией утве
|
|
|
48
65
|
|
|
49
66
|
## Гейт перехода
|
|
50
67
|
|
|
51
|
-
План готов к исполнению после проверки зависимостей, соответствия design, согласования test-plan и необходимого ревью. Состояния документов и основания утверждения должны соответствовать текущим версиям. L1
|
|
68
|
+
План готов к исполнению после проверки зависимостей, соответствия design, согласования test-plan и необходимого ревью. Состояния документов и основания утверждения должны соответствовать текущим версиям. L1 организует исполнение по wolf-sdd; назначенный L2 применяет wolf-execute. Реализация не является частью планирования.
|
|
52
69
|
|
|
53
70
|
## Не пропускай процесс
|
|
54
71
|
|
package/update-map.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.
|
|
3
|
-
"prev": "2.
|
|
2
|
+
"version": "2.30.0",
|
|
3
|
+
"prev": "2.29.0",
|
|
4
4
|
"files": [
|
|
5
5
|
{
|
|
6
6
|
"path": "base/agents/executor-lead.md",
|
|
7
7
|
"kind": "agent",
|
|
8
|
-
"category": "
|
|
8
|
+
"category": "changed"
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"path": "base/agents/mr-wolf.md",
|
|
12
12
|
"kind": "agent",
|
|
13
|
-
"category": "
|
|
13
|
+
"category": "changed"
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
16
|
"path": "base/agents/steward.md",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
{
|
|
26
26
|
"path": "base/agents/worker-researcher.md",
|
|
27
27
|
"kind": "agent",
|
|
28
|
-
"category": "
|
|
28
|
+
"category": "unchanged"
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
"path": "base/agents/worker-reviewer.md",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
{
|
|
61
61
|
"path": "base/skills/requesting-code-review/SKILL.md",
|
|
62
62
|
"kind": "skill",
|
|
63
|
-
"category": "
|
|
63
|
+
"category": "unchanged"
|
|
64
64
|
},
|
|
65
65
|
{
|
|
66
66
|
"path": "base/skills/test-driven-development/references/test-quality.md",
|
|
@@ -78,15 +78,25 @@
|
|
|
78
78
|
"category": "unchanged"
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
|
-
"path": "base/skills/using-skills/references/
|
|
81
|
+
"path": "base/skills/using-skills/references/agent-language.md",
|
|
82
82
|
"kind": "skill",
|
|
83
83
|
"category": "unchanged"
|
|
84
84
|
},
|
|
85
|
+
{
|
|
86
|
+
"path": "base/skills/using-skills/references/context-and-memory.md",
|
|
87
|
+
"kind": "skill",
|
|
88
|
+
"category": "changed"
|
|
89
|
+
},
|
|
85
90
|
{
|
|
86
91
|
"path": "base/skills/using-skills/references/contracts.md",
|
|
87
92
|
"kind": "skill",
|
|
88
93
|
"category": "unchanged"
|
|
89
94
|
},
|
|
95
|
+
{
|
|
96
|
+
"path": "base/skills/using-skills/references/division-of-labor.md",
|
|
97
|
+
"kind": "skill",
|
|
98
|
+
"category": "new"
|
|
99
|
+
},
|
|
90
100
|
{
|
|
91
101
|
"path": "base/skills/using-skills/references/project-rules.md",
|
|
92
102
|
"kind": "skill",
|
|
@@ -115,12 +125,12 @@
|
|
|
115
125
|
{
|
|
116
126
|
"path": "base/skills/using-skills/references/routes-intent.md",
|
|
117
127
|
"kind": "skill",
|
|
118
|
-
"category": "
|
|
128
|
+
"category": "unchanged"
|
|
119
129
|
},
|
|
120
130
|
{
|
|
121
131
|
"path": "base/skills/using-skills/references/routes-quality.md",
|
|
122
132
|
"kind": "skill",
|
|
123
|
-
"category": "
|
|
133
|
+
"category": "unchanged"
|
|
124
134
|
},
|
|
125
135
|
{
|
|
126
136
|
"path": "base/skills/using-skills/references/routes-state.md",
|
|
@@ -130,7 +140,7 @@
|
|
|
130
140
|
{
|
|
131
141
|
"path": "base/skills/using-skills/SKILL.md",
|
|
132
142
|
"kind": "skill",
|
|
133
|
-
"category": "
|
|
143
|
+
"category": "changed"
|
|
134
144
|
},
|
|
135
145
|
{
|
|
136
146
|
"path": "base/skills/verification-before-completion/SKILL.md",
|
|
@@ -145,12 +155,12 @@
|
|
|
145
155
|
{
|
|
146
156
|
"path": "base/skills/wolf-code-craft/SKILL.md",
|
|
147
157
|
"kind": "skill",
|
|
148
|
-
"category": "
|
|
158
|
+
"category": "unchanged"
|
|
149
159
|
},
|
|
150
160
|
{
|
|
151
161
|
"path": "base/skills/wolf-code-simplify/SKILL.md",
|
|
152
162
|
"kind": "skill",
|
|
153
|
-
"category": "
|
|
163
|
+
"category": "unchanged"
|
|
154
164
|
},
|
|
155
165
|
{
|
|
156
166
|
"path": "base/skills/wolf-debug/references/techniques.md",
|
|
@@ -165,7 +175,7 @@
|
|
|
165
175
|
{
|
|
166
176
|
"path": "base/skills/wolf-design/SKILL.md",
|
|
167
177
|
"kind": "skill",
|
|
168
|
-
"category": "
|
|
178
|
+
"category": "unchanged"
|
|
169
179
|
},
|
|
170
180
|
{
|
|
171
181
|
"path": "base/skills/wolf-execute/references/technical-helpers.md",
|
|
@@ -180,7 +190,7 @@
|
|
|
180
190
|
{
|
|
181
191
|
"path": "base/skills/wolf-execute/SKILL.md",
|
|
182
192
|
"kind": "skill",
|
|
183
|
-
"category": "
|
|
193
|
+
"category": "unchanged"
|
|
184
194
|
},
|
|
185
195
|
{
|
|
186
196
|
"path": "base/skills/wolf-explain/SKILL.md",
|
|
@@ -220,12 +230,12 @@
|
|
|
220
230
|
{
|
|
221
231
|
"path": "base/skills/wolf-handoff/SKILL.md",
|
|
222
232
|
"kind": "skill",
|
|
223
|
-
"category": "
|
|
233
|
+
"category": "changed"
|
|
224
234
|
},
|
|
225
235
|
{
|
|
226
236
|
"path": "base/skills/wolf-plan/SKILL.md",
|
|
227
237
|
"kind": "skill",
|
|
228
|
-
"category": "
|
|
238
|
+
"category": "changed"
|
|
229
239
|
},
|
|
230
240
|
{
|
|
231
241
|
"path": "base/skills/wolf-release-docs/SKILL.md",
|
|
@@ -240,7 +250,7 @@
|
|
|
240
250
|
{
|
|
241
251
|
"path": "base/skills/wolf-sdd/SKILL.md",
|
|
242
252
|
"kind": "skill",
|
|
243
|
-
"category": "
|
|
253
|
+
"category": "unchanged"
|
|
244
254
|
},
|
|
245
255
|
{
|
|
246
256
|
"path": "base/skills/wolf-skill-intake/SKILL.md",
|
|
@@ -250,7 +260,7 @@
|
|
|
250
260
|
{
|
|
251
261
|
"path": "base/skills/wolf-software-design/SKILL.md",
|
|
252
262
|
"kind": "skill",
|
|
253
|
-
"category": "
|
|
263
|
+
"category": "unchanged"
|
|
254
264
|
},
|
|
255
265
|
{
|
|
256
266
|
"path": "base/skills/wolf-testplan/SKILL.md",
|