mister-wolf 2.15.0 → 2.15.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.
- package/README.md +20 -11
- package/README.ru.md +20 -11
- package/package.json +1 -1
- package/templates/.wolf/router.log +1 -1
- package/templates/base/AGENTS.md +3 -2
- package/templates/base/agents/executor-lead.md +4 -0
- package/templates/base/agents/mr-wolf.md +3 -2
- package/templates/base/agents/steward.md +4 -2
- package/templates/base/agents/worker-implementer.md +5 -2
- package/templates/base/agents/worker-researcher.md +4 -2
- package/templates/base/agents/worker-reviewer.md +9 -7
- package/templates/base/commands/analyze-doc.md +1 -1
- package/templates/base/commands/complain.md +1 -1
- package/templates/base/commands/doc-review.md +1 -1
- package/templates/base/playbooks/executor-lead-playbook.md +10 -5
- package/templates/base/playbooks/steward-nastavnik.md +5 -4
- package/templates/base/playbooks/worker-implementer-playbook.md +17 -7
- package/templates/base/playbooks/worker-researcher-playbook.md +5 -2
- package/templates/base/playbooks/worker-reviewer-playbook.md +21 -8
- package/templates/base/skills/finishing-a-development-branch/SKILL.md +19 -211
- package/templates/base/skills/receiving-code-review/SKILL.md +12 -28
- package/templates/base/skills/requesting-code-review/SKILL.md +11 -110
- package/templates/base/skills/test-driven-development/SKILL.md +18 -396
- package/templates/base/skills/using-git-worktrees/SKILL.md +15 -177
- package/templates/base/skills/using-skills/SKILL.md +38 -123
- package/templates/base/skills/verification-before-completion/SKILL.md +16 -157
- package/templates/base/skills/wolf-brainstorm/SKILL.md +17 -168
- package/templates/base/skills/wolf-debug/SKILL.md +15 -281
- package/templates/base/skills/wolf-design/SKILL.md +16 -35
- package/templates/base/skills/wolf-execute/SKILL.md +13 -101
- package/templates/base/skills/wolf-handoff/SKILL.md +22 -88
- package/templates/base/skills/wolf-plan/SKILL.md +18 -181
- package/templates/base/skills/wolf-review/SKILL.md +25 -64
- package/templates/base/skills/wolf-sdd/SKILL.md +17 -248
- package/templates/base/skills/wolf-skill-intake/SKILL.md +14 -57
- package/templates/base/skills/wolf-testplan/SKILL.md +15 -27
- package/templates/base/skills/writing-skills/SKILL.md +16 -30
- package/templates/opencode/plugins/wolf-router.ts +2 -1
- package/templates/opencode/plugins/wolf-session-start.js +11 -9
|
@@ -1,232 +1,40 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: finishing-a-development-branch
|
|
3
|
-
description:
|
|
3
|
+
description: "Заверши проверенную git-поставку: выполни уже согласованный merge/PR/сохранение либо запроси недостающий выбор. Безопасно сохрани или убери worktree, учитывая незакоммиченную и неотправленную работу."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Завершение git-поставки
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
> Владелец шага: executor-lead; финальное решение (особенно мерж в main) — за владельцем.
|
|
8
|
+
## Предусловия
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
Ответственный — L1 с действующими правами. Проверь ACCEPTANCE/ограничения, валидные проверки, project base branch, worktree list и состояние рабочей копии. Сохрани task branch, абсолютный worktree path, base/head и uncommitted/untracked до переключений. Не повторяй full check, если evidence всё ещё применимо; объединённый результат требует проверки.
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
|
|
15
|
-
| Процесс 5 шагов, ровно 4 опции финала, подтверждение «discard», шпаргалка (4 опции), частые ошибки (4), red flags Never/Always (4/4), cleanup worktree только для опций 1 и 4 | **сохранено** («переносим почти без правок», research §1; red flags — дословно по смыслу, H7) |
|
|
16
|
-
| Тестовая команда | **заменено**: `npm run check` (верификационный примитив проекта) |
|
|
17
|
-
| Базовая ветка: `main \|\| master` | **заменено**: всегда `main` — правило проекта trunk-based (main — истина, работа в worktree-ветках, релизы тегами) |
|
|
18
|
-
| Опция 1 (мерж локально) | **дополнено** правилом проекта: мерж в main — только по явному поручению владельца |
|
|
19
|
-
| Решение о финале ветки | **добавлено**: значимое решение (особенно discard) фиксируется `wolf add --type decision` |
|
|
12
|
+
## Выбор
|
|
20
13
|
|
|
21
|
-
|
|
14
|
+
Если пользователь уже поручил конкретный финал и условия выполнены, исполни его без повторного вопроса. Иначе предъяви применимые варианты с последствиями: merge, push/PR, оставить, удалить. Не предлагай недоступное действие как исполнимое.
|
|
22
15
|
|
|
23
|
-
|
|
16
|
+
### Merge
|
|
24
17
|
|
|
25
|
-
|
|
18
|
+
Требуется действующее поручение на merge. Проверь актуальность согласованного base; fetch/pull выполняй по политике, не слепо. Если base уже занят другим worktree, интегрируй в его рабочей копии только с проверкой чистоты и владельца; не делай checkout занятой ветки.
|
|
26
19
|
|
|
27
|
-
|
|
20
|
+
Конфликты разрешай по требованиям, проверяй итоговые изменения и integration/full gate на merged revision. Не удаляй branch/worktree до подтверждения успешной интеграции и сохранности нужных evidence.
|
|
28
21
|
|
|
29
|
-
|
|
22
|
+
### Push и PR
|
|
30
23
|
|
|
31
|
-
|
|
24
|
+
Используй разрешённый remote/branch. PR описывает проблему, итоговое поведение, проверки и ограничения; тело передавай структурированно или файлом. Draft допустим для незавершённого ревью/известных падений, если это явно соответствует поручению; ready PR не должен скрывать провал обязательных проверок.
|
|
32
25
|
|
|
33
|
-
|
|
26
|
+
После PR сохраняй ветку и worktree для исправлений, если пользователь не поручил безопасную уборку отдельно. Сообщи ссылку и статус; создание PR не означает merge.
|
|
34
27
|
|
|
35
|
-
|
|
36
|
-
npm run check # тестовая команда проекта
|
|
37
|
-
```
|
|
28
|
+
### Оставить
|
|
38
29
|
|
|
39
|
-
|
|
30
|
+
Сохрани ветку/worktree, сообщи head, путь, dirty-state и следующий шаг. Не запускай cleanup.
|
|
40
31
|
|
|
41
|
-
|
|
42
|
-
Тесты падают (<N> падений). Надо починить до завершения:
|
|
32
|
+
### Удалить
|
|
43
33
|
|
|
44
|
-
|
|
34
|
+
Покажи точный путь, ветку, неслитые/неотправленные коммиты, uncommitted/untracked и последствия. При отсутствии уже однозначного разрешения запроси подтверждение конкретного удаления. Не требуй кодовое слово, если разрешение ясно и соответствует этой работе.
|
|
45
35
|
|
|
46
|
-
|
|
47
|
-
```
|
|
36
|
+
Для сохранения предложи patch/backup при необходимости. Удали собственный worktree обычной git worktree remove; затем свою ветку. Если git отказывается из-за dirty-state, не добавляй force автоматически. Force допустим только в явно разрешённом объёме. Не удаляй общую base branch.
|
|
48
37
|
|
|
49
|
-
|
|
38
|
+
## Итог
|
|
50
39
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
### Шаг 2: определи базовую ветку
|
|
54
|
-
|
|
55
|
-
Правило проекта — trunk-based: базовая ветка всегда `main` (main — истина).
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
git merge-base HEAD main
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
При сомнении спроси: «Ветка отделилась от main — верно?»
|
|
62
|
-
|
|
63
|
-
### Шаг 3: предъяви опции
|
|
64
|
-
|
|
65
|
-
Ровно эти 4 опции:
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
Реализация завершена. Что делаем?
|
|
69
|
-
|
|
70
|
-
1. Смержить обратно в <base-branch> локально
|
|
71
|
-
2. Запушить и создать Pull Request
|
|
72
|
-
3. Оставить ветку как есть (разберусь позже)
|
|
73
|
-
4. Выбросить эту работу
|
|
74
|
-
|
|
75
|
-
Какая опция?
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
**Без пояснений** — опции краткие.
|
|
79
|
-
|
|
80
|
-
### Шаг 4: исполни выбор
|
|
81
|
-
|
|
82
|
-
#### Опция 1: мерж локально
|
|
83
|
-
|
|
84
|
-
Только по явному поручению владельца (правило проекта: main — истина, мерж — осознанное решение владельца).
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
git checkout main
|
|
88
|
-
git pull
|
|
89
|
-
git merge <feature-branch>
|
|
90
|
-
|
|
91
|
-
# Верифицировать тесты на смерженном результате
|
|
92
|
-
npm run check
|
|
93
|
-
|
|
94
|
-
# Если зелёные
|
|
95
|
-
git branch -d <feature-branch>
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Затем: уборка worktree (шаг 5).
|
|
99
|
-
|
|
100
|
-
#### Опция 2: пуш и PR
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
git push -u origin <feature-branch>
|
|
104
|
-
|
|
105
|
-
gh pr create --title "<заголовок>" --body "$(cat <<'EOF'
|
|
106
|
-
## Summary
|
|
107
|
-
<2-3 буллета что изменилось>
|
|
108
|
-
|
|
109
|
-
## Test Plan
|
|
110
|
-
- [ ] <шаги верификации>
|
|
111
|
-
EOF
|
|
112
|
-
)"
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
Затем: уборка worktree (шаг 5).
|
|
116
|
-
|
|
117
|
-
#### Опция 3: оставить как есть
|
|
118
|
-
|
|
119
|
-
Доложить: «Оставляю ветку <имя>. Worktree сохранён: <путь>».
|
|
120
|
-
|
|
121
|
-
**Worktree не убирать.**
|
|
122
|
-
|
|
123
|
-
#### Опция 4: выбросить
|
|
124
|
-
|
|
125
|
-
**Сначала подтверждение:**
|
|
126
|
-
|
|
127
|
-
```
|
|
128
|
-
Это навсегда удалит:
|
|
129
|
-
- Ветку <имя>
|
|
130
|
-
- Все коммиты: <список-коммитов>
|
|
131
|
-
- Worktree <путь>
|
|
132
|
-
|
|
133
|
-
Введи 'discard' для подтверждения.
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
Ждать дословного подтверждения.
|
|
137
|
-
|
|
138
|
-
Если подтверждено:
|
|
139
|
-
|
|
140
|
-
```bash
|
|
141
|
-
git checkout main
|
|
142
|
-
git branch -D <feature-branch>
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
Затем: уборка worktree (шаг 5).
|
|
146
|
-
|
|
147
|
-
### Шаг 5: уборка worktree
|
|
148
|
-
|
|
149
|
-
**Для опций 1, 2, 4:**
|
|
150
|
-
|
|
151
|
-
Проверить, находишься ли в worktree:
|
|
152
|
-
|
|
153
|
-
```bash
|
|
154
|
-
git worktree list | grep $(git branch --show-current)
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
Если да:
|
|
158
|
-
|
|
159
|
-
```bash
|
|
160
|
-
git worktree remove <worktree-path>
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
**Для опции 3:** worktree сохранить.
|
|
164
|
-
|
|
165
|
-
## Быстрая шпаргалка
|
|
166
|
-
|
|
167
|
-
| Опция | Мерж | Пуш | Сохранить worktree | Удалить ветку |
|
|
168
|
-
| -------------------- | ---- | --- | ------------------ | ------------- |
|
|
169
|
-
| 1. Мерж локально | ✓ | - | - | ✓ |
|
|
170
|
-
| 2. Создать PR | - | ✓ | ✓ | - |
|
|
171
|
-
| 3. Оставить как есть | - | - | ✓ | - |
|
|
172
|
-
| 4. Выбросить | - | - | - | ✓ (force) |
|
|
173
|
-
|
|
174
|
-
## Частые ошибки
|
|
175
|
-
|
|
176
|
-
**Пропуск верификации тестов**
|
|
177
|
-
|
|
178
|
-
- **Проблема:** смержить сломанный код, создать падающий PR
|
|
179
|
-
- **Фикс:** всегда верифицировать тесты до предъявления опций
|
|
180
|
-
|
|
181
|
-
**Открытые вопросы**
|
|
182
|
-
|
|
183
|
-
- **Проблема:** «Что делать дальше?» → двусмысленность
|
|
184
|
-
- **Фикс:** предъявлять ровно 4 структурированные опции
|
|
185
|
-
|
|
186
|
-
**Автоматическая уборка worktree**
|
|
187
|
-
|
|
188
|
-
- **Проблема:** удалить worktree, который ещё нужен (опции 2, 3)
|
|
189
|
-
- **Фикс:** уборка только для опций 1 и 4
|
|
190
|
-
|
|
191
|
-
**Без подтверждения для discard**
|
|
192
|
-
|
|
193
|
-
- **Проблема:** случайно удалить работу
|
|
194
|
-
- **Фикс:** требовать дословный ввод «discard»
|
|
195
|
-
|
|
196
|
-
## Red flags
|
|
197
|
-
|
|
198
|
-
**Никогда:**
|
|
199
|
-
|
|
200
|
-
- Не продолжать с падающими тестами
|
|
201
|
-
- Не мержить без верификации тестов на результате
|
|
202
|
-
- Не удалять работу без подтверждения
|
|
203
|
-
- Не форс-пушить без явного запроса
|
|
204
|
-
|
|
205
|
-
**Всегда:**
|
|
206
|
-
|
|
207
|
-
- Верифицировать тесты до предъявления опций
|
|
208
|
-
- Предъявлять ровно 4 опции
|
|
209
|
-
- Получать дословное подтверждение для опции 4
|
|
210
|
-
- Убирать worktree только для опций 1 и 4
|
|
211
|
-
|
|
212
|
-
## Интеграция
|
|
213
|
-
|
|
214
|
-
**Вызывается из:**
|
|
215
|
-
|
|
216
|
-
- **wolf-sdd** (финальный шаг) — после завершения всех задач
|
|
217
|
-
- **wolf-execute** (финальный шаг) — после завершения всех батчей
|
|
218
|
-
|
|
219
|
-
**Пара с:**
|
|
220
|
-
|
|
221
|
-
- **using-git-worktrees** — убирает worktree, созданный тем скиллом
|
|
222
|
-
|
|
223
|
-
## Интеграция с Wolf
|
|
224
|
-
|
|
225
|
-
- **Правило проекта**: trunk-based — main = истина, работа в worktree-ветках, релизы тегами; мерж в main — только по явному поручению владельца.
|
|
226
|
-
- **Решение о финале ветки** (выбрана опция, особенно discard) — значимое решение: `wolf add --type decision` с контекстом («ветка X выброшена, потому что...»).
|
|
227
|
-
|
|
228
|
-
## Конвейер (2.15)
|
|
229
|
-
|
|
230
|
-
Проект на trunk-based: main = истина; работа в worktree-ветках; влитие потока —
|
|
231
|
-
merge в main с зелёным `npm run check`; релизы — тегами `v*` (npm version).
|
|
232
|
-
«Ветвь» не живёт дольше волны.
|
|
40
|
+
Запиши выполненное действие, revision, проверки, PR/merge outcome и сохранённое/удалённое. Неопределённый исход внешнего действия сначала проверь, не повторяй push/PR вслепую. Значимое решение сохраняй разрешённым каналом памяти. Автоматическая публикация релиза не входит в этот скилл.
|
|
@@ -1,39 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: receiving-code-review
|
|
3
|
-
description:
|
|
3
|
+
description: "Разбирай замечания пользователя или ревьюера: проверь основание, ответь на каждый пункт, исправь подтверждённый дефект и повтори затронутые проверки. Не принимай и не отвергай фидбек без evidence."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
7
|
-
|
|
8
|
-
## Обзор
|
|
9
|
-
|
|
10
|
-
Фидбек владельца = высший приоритет лестницы приоритетов. Но «внедри совет» — не
|
|
11
|
-
поведение по умолчанию: ревью может быть технически неверным.
|
|
6
|
+
# Обработка ревью
|
|
12
7
|
|
|
13
8
|
## Процесс
|
|
14
9
|
|
|
15
|
-
1.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
скиллов); расхождение правил → жалоба по протоколу жалоб, не самовольная
|
|
22
|
-
правка правила.
|
|
23
|
-
5. Уроки фидбека (воспроизводимый паттерн ошибки) → `wolf add --type lesson`.
|
|
10
|
+
1. Прочитай весь набор; различи исправление факта, вопрос, дефект, предпочтение и изменение требований. Свяжи с finding_id; если его нет, создай локальный идентификатор ответа.
|
|
11
|
+
2. Проверь воспроизводимость по исходным требованиям, коду и evidence. Ответ на каждый пункт: ACCEPTED, REFUTED, DEFERRED или NEEDS_CLARIFICATION; добавь основание и действие. Эти метки — отчёт, не типы памяти.
|
|
12
|
+
3. Подтверждённый Critical/Major исправь до приёмки; Minor назначь или отложи с причиной. Пользовательское указание о цели имеет приоритет; техническую неверность рекомендации объясни и предложи способ достичь цели.
|
|
13
|
+
4. Изменение AC/scope проведи через CR и L0; не переписывай контракт, чтобы обойти находку. Конфликт действующих методик передай жалобным контуром, но не останавливай независимую полезную работу без необходимости.
|
|
14
|
+
5. Правь минимально; проверки выбери по влиянию. Коммиты делает роль с действующим разрешением. Зафиксируй revision исправления, evidence и незакрытые риски.
|
|
15
|
+
6. Запроси повторное ревью affected mandates. Отсутствие ответа ревьюера не означает одобрения; лимит циклов заканчивается явной эскалацией.
|
|
24
16
|
|
|
25
|
-
##
|
|
17
|
+
## Память
|
|
26
18
|
|
|
27
|
-
|
|
28
|
-
- Внедрение совета вслепую при явном техническом возражении.
|
|
29
|
-
- Тихое игнорирование пункта фидбека.
|
|
19
|
+
Наблюдение о конкретной незавершённой работе фиксируй задачей/заметкой; обобщаемый повторяемый паттерн — lesson с областью применимости и evidence. Не создавай правило из каждого комментария. Недоступную запись передай L1; не обходи permissions.
|
|
30
20
|
|
|
31
|
-
##
|
|
21
|
+
## Запреты
|
|
32
22
|
|
|
33
|
-
|
|
34
|
-
| --------------------------------------------------- | ------------------------------------------------ | ----------------- |
|
|
35
|
-
| Техническая строгость, не перформативное согласие | сохранено | ядро |
|
|
36
|
-
| Проверка перед внедрением | сохранено | ядро |
|
|
37
|
-
| «Совет может быть неверным» | сохранено | ядро |
|
|
38
|
-
| — | добавлено: лестница приоритетов + протокол жалоб | Wolf-переплетение |
|
|
39
|
-
| — | добавлено: уроки фидбека → память Wolf | самообучение |
|
|
23
|
+
Не изображай согласие без проверки, не игнорируй пункт молча, не превращай ревью в бесконечный косметический цикл. Техническое возражение подкрепи проверяемым основанием, а не уверенностью.
|
|
@@ -1,123 +1,24 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: requesting-code-review
|
|
3
|
-
description:
|
|
3
|
+
description: "Запрашивай независимое ревью изменений перед интеграцией или при существенном риске. Передай точный диапазон изменений, требования, проверки и мандат; диспетчер L1, ревьюер L2."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Запрос ревью кода
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
> Ревью-контур executor'а: диспетчер — executor-lead, ревьюер — worker-reviewer.
|
|
8
|
+
## Подготовка
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
L1 фиксирует base_sha ДО исполнения задачи, current/head revision и dirty-state. Не используй HEAD~1 как универсальную границу: задача может включать несколько коммитов. Для незакоммиченного результата передай проверяемый diff и состояние файлов; не требуй коммита ради ревью.
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|---|---|
|
|
15
|
-
| Когда запрашивать (2 списка), контекстный шаблон ревьюера (5 полей), таблица act-on-feedback, пример, red flags Never (4) + «если ревьюер неправ» (3), интеграционные привязки | **сохранено полностью** (H6/H7: act-on-feedback и red flags переносятся дословно по смыслу) |
|
|
16
|
-
| Task tool с типом `superpowers:code-reviewer` | **заменено**: спавн worker-reviewer через {{tool.task}}; методика ревьюера — в памяти (контур лица worker-reviewer) |
|
|
17
|
-
| Внешний шаблон `agents/code-reviewer.md` | **заменено**: поля шаблона встроены в этот скилл (BASE_SHA/HEAD_SHA и др.) |
|
|
18
|
-
| Minor → «note for later» | **дополнено**: фиксация через `wolf add --type lesson` (техдолг виден следующим сессиям) |
|
|
19
|
-
| Префикс `superpowers:`, имя code-reviewer | **отброшено**: имена harness'а upstream |
|
|
12
|
+
## Пакет ревьюера
|
|
20
13
|
|
|
21
|
-
|
|
14
|
+
Передай task_id, цель, AC/REQ и утверждённый design, base/head, cwd/worktree, изменённые и релевантные файлы, contract dependencies, проверки/evidence, известные ограничения. Не передавай самооценку автора как ожидаемый вывод. Независимый reviewer проверяет код и основания, а не только пересказ.
|
|
22
15
|
|
|
23
|
-
|
|
16
|
+
Назначь мандат: соответствие, качество/интеграция или специализированный риск. Для значимых изменений проверь security, миграции и failures; для небольших — пропорциональный объём. L0 вызывает executor, L1 — worker-reviewer. Недоступное независимое ревью явно отметь, не имитируй второй голос.
|
|
24
17
|
|
|
25
|
-
|
|
18
|
+
## Результат
|
|
26
19
|
|
|
27
|
-
|
|
20
|
+
Используй контракт wolf-review: finding_id, severity, location/revision, evidence, impact; verdict APPROVED | CHANGES_REQUIRED | INCONCLUSIVE. Critical/Major блокируют приёмку; Minor — нет, кроме явно обоснованного риска. Технический долг — отдельная задача/заметка, lesson только для повторяемого знания.
|
|
28
21
|
|
|
29
|
-
|
|
30
|
-
- После каждой задачи в wolf-sdd
|
|
31
|
-
- После завершения крупной фичи
|
|
32
|
-
- Перед мержем в main
|
|
22
|
+
## Обработка
|
|
33
23
|
|
|
34
|
-
|
|
35
|
-
- Когда застрял (свежий взгляд)
|
|
36
|
-
- Перед рефакторингом (базовая проверка)
|
|
37
|
-
- После фиксации сложного бага
|
|
38
|
-
|
|
39
|
-
## Как запросить
|
|
40
|
-
|
|
41
|
-
**1. Получить git SHA:**
|
|
42
|
-
```bash
|
|
43
|
-
BASE_SHA=$(git rev-parse HEAD~1) # или origin/main
|
|
44
|
-
HEAD_SHA=$(git rev-parse HEAD)
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
**2. Диспетчеризовать воркера-ревьюера через {{tool.task}}:**
|
|
48
|
-
|
|
49
|
-
Спавн worker-reviewer; контекст ревьюера заполняет диспетчер (executor-lead). Ревьюер сам подтягивает методику перед задачей: `wolf search "worker-reviewer playbook"` (контур лица, наибольшая версия).
|
|
50
|
-
|
|
51
|
-
**Поля контекста:**
|
|
52
|
-
- `{WHAT_WAS_IMPLEMENTED}` — что только что построено
|
|
53
|
-
- `{PLAN_OR_REQUIREMENTS}` — что оно должно делать (задача из плана / бриф)
|
|
54
|
-
- `{BASE_SHA}` — стартовый коммит
|
|
55
|
-
- `{HEAD_SHA}` — конечный коммит
|
|
56
|
-
- `{DESCRIPTION}` — краткое описание
|
|
57
|
-
|
|
58
|
-
**3. Действовать по фидбеку (act-on-feedback):**
|
|
59
|
-
|
|
60
|
-
| Категория | Действие |
|
|
61
|
-
|---|---|
|
|
62
|
-
| Critical | Исправить немедленно |
|
|
63
|
-
| Important | Исправить до продолжения работы |
|
|
64
|
-
| Minor | Зафиксировать и учесть позже (`wolf add --type lesson`) |
|
|
65
|
-
|
|
66
|
-
Возражай, если ревьюер неправ (с обоснованием).
|
|
67
|
-
|
|
68
|
-
## Пример
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
[Завершена задача 2: функция верификации]
|
|
72
|
-
|
|
73
|
-
Ты: Запрошу ревью перед продолжением.
|
|
74
|
-
|
|
75
|
-
BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}')
|
|
76
|
-
HEAD_SHA=$(git rev-parse HEAD)
|
|
77
|
-
|
|
78
|
-
[Диспетчеризую worker-reviewer через {{tool.task}}]
|
|
79
|
-
WHAT_WAS_IMPLEMENTED: Функции verifyIndex() и repairIndex() для индекса диалогов
|
|
80
|
-
PLAN_OR_REQUIREMENTS: Задача 2 из docs/plans/deployment-plan.md
|
|
81
|
-
BASE_SHA: a7981ec
|
|
82
|
-
HEAD_SHA: 3df7661
|
|
83
|
-
DESCRIPTION: Добавлены verifyIndex() и repairIndex() с 4 типами проблем
|
|
84
|
-
|
|
85
|
-
[Воркер вернул]:
|
|
86
|
-
Strengths: чистая архитектура, настоящие тесты
|
|
87
|
-
Issues:
|
|
88
|
-
Important: нет индикаторов прогресса
|
|
89
|
-
Minor: магическое число (100) для интервала отчётности
|
|
90
|
-
Assessment: готов к продолжению
|
|
91
|
-
|
|
92
|
-
Ты: [фиксируешь индикаторы прогресса]
|
|
93
|
-
[Minor фиксируешь: wolf add --type lesson "техдолг: магическое число 100 ..."]
|
|
94
|
-
[Продолжаешь задачу 3]
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Интеграция с процессами
|
|
98
|
-
|
|
99
|
-
**wolf-sdd (субагентная разработка):**
|
|
100
|
-
- Ревью после КАЖДОЙ задачи
|
|
101
|
-
- Ловить проблемы до того, как они накопятся
|
|
102
|
-
- Исправить до перехода к следующей задаче
|
|
103
|
-
|
|
104
|
-
**wolf-execute (исполнение плана):**
|
|
105
|
-
- Ревью после каждого батча (3 задачи)
|
|
106
|
-
- Получить фидбек, применить, продолжить
|
|
107
|
-
|
|
108
|
-
**Ad-hoc разработка:**
|
|
109
|
-
- Ревью перед мержем
|
|
110
|
-
- Ревью при застревании
|
|
111
|
-
|
|
112
|
-
## Red flags
|
|
113
|
-
|
|
114
|
-
**Никогда:**
|
|
115
|
-
- Не пропускать ревью со словами «это же просто»
|
|
116
|
-
- Не игнорировать Critical-находки
|
|
117
|
-
- Не продолжать с неисправленными Important-находками
|
|
118
|
-
- Не спорить с валидным техническим фидбеком
|
|
119
|
-
|
|
120
|
-
**Если ревьюер неправ:**
|
|
121
|
-
- Возразить с техническим обоснованием
|
|
122
|
-
- Показать код/тесты, доказывающие работу
|
|
123
|
-
- Попросить уточнение
|
|
24
|
+
Прими фидбек через receiving-code-review. Перед повторным ревью обозначь изменённые версии и закрываемые finding IDs. Сохрани действительные результаты неизменённых проверок; повтори затронутые. Открытие PR и его приёмка — разные состояния, отчёт должен это различать.
|