mister-wolf 2.23.3 → 2.25.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/README.md +1 -1
- package/dist/adapters/cli/commands/memory-tool.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-tool.js +12 -3
- package/dist/adapters/cli/commands/memory-tool.js.map +1 -1
- package/dist/adapters/fs/fs-file-system.d.ts +2 -0
- package/dist/adapters/fs/fs-file-system.d.ts.map +1 -1
- package/dist/adapters/fs/fs-file-system.js +24 -0
- package/dist/adapters/fs/fs-file-system.js.map +1 -1
- package/dist/adapters/render/stamp.d.ts.map +1 -1
- package/dist/adapters/render/stamp.js +9 -2
- package/dist/adapters/render/stamp.js.map +1 -1
- package/dist/app/use-cases/tool-librarian.d.ts +5 -2
- package/dist/app/use-cases/tool-librarian.d.ts.map +1 -1
- package/dist/app/use-cases/tool-librarian.js +98 -15
- package/dist/app/use-cases/tool-librarian.js.map +1 -1
- package/dist/domain/memory-types.d.ts +4 -0
- package/dist/domain/memory-types.d.ts.map +1 -1
- package/dist/domain/memory-types.js +1 -0
- package/dist/domain/memory-types.js.map +1 -1
- package/dist/ports/file-system.port.d.ts +2 -0
- package/dist/ports/file-system.port.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/base/AGENTS.md +10 -0
- package/templates/base/agents/executor-lead.md +34 -26
- package/templates/base/agents/mr-wolf.md +10 -0
- package/templates/base/agents/steward.md +8 -0
- package/templates/base/agents/worker-implementer.md +15 -0
- package/templates/base/agents/worker-researcher.md +12 -0
- package/templates/base/agents/worker-reviewer.md +12 -0
- package/templates/base/commands/complain.md +11 -9
- package/templates/base/playbooks/complaint-protocol.md +14 -112
- package/templates/base/playbooks/executor-lead-playbook.md +28 -19
- package/templates/base/playbooks/worker-implementer-playbook.md +20 -19
- package/templates/base/playbooks/worker-researcher-playbook.md +18 -19
- package/templates/base/playbooks/worker-reviewer-playbook.md +6 -2
- package/templates/base/skills/test-driven-development/SKILL.md +7 -1
- package/templates/base/skills/test-driven-development/references/test-quality.md +22 -0
- package/templates/base/skills/using-skills/SKILL.md +61 -275
- package/templates/base/skills/using-skills/references/context-and-memory.md +77 -0
- package/templates/base/skills/using-skills/references/contracts.md +93 -0
- package/templates/base/skills/using-skills/references/project-rules.md +48 -0
- package/templates/base/skills/using-skills/references/project-tools.md +49 -0
- package/templates/base/skills/using-skills/references/routes-capabilities.md +13 -0
- package/templates/base/skills/using-skills/references/routes-communication.md +13 -0
- package/templates/base/skills/using-skills/references/routes-execution.md +20 -0
- package/templates/base/skills/using-skills/references/routes-intent.md +14 -0
- package/templates/base/skills/using-skills/references/routes-quality.md +14 -0
- package/templates/base/skills/using-skills/references/routes-state.md +15 -0
- package/templates/base/skills/wolf-brainstorm/SKILL.md +7 -7
- package/templates/base/skills/wolf-debug/SKILL.md +7 -0
- package/templates/base/skills/wolf-debug/references/techniques.md +20 -0
- package/templates/base/skills/wolf-execute/SKILL.md +52 -57
- package/templates/base/skills/wolf-execute/references/technical-helpers.md +31 -0
- package/templates/base/skills/wolf-execute/scripts/workflow-helper.py +173 -0
- package/templates/base/skills/wolf-feedback/SKILL.md +35 -0
- package/templates/base/skills/wolf-feedback/references/complaints.md +108 -0
- package/templates/base/skills/wolf-feedback/references/session-diagnosis.md +49 -0
- package/templates/base/skills/wolf-feedback/scripts/session-reader.py +143 -0
- package/templates/base/skills/wolf-handoff/SKILL.md +5 -0
- package/templates/base/skills/wolf-plan/SKILL.md +2 -1
- package/templates/base/skills/wolf-sdd/SKILL.md +9 -0
- package/templates/base/skills/wolf-testplan/SKILL.md +4 -0
- package/templates/base/skills/wolf-visual-dialogue/SKILL.md +47 -0
- package/templates/base/skills/writing-skills/SKILL.md +1 -1
- package/update-map.json +119 -24
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Адресный контекст и рабочая память
|
|
2
|
+
|
|
3
|
+
Загружает владелец состояния при handoff, восстановлении или сохранении значимого результата.
|
|
4
|
+
|
|
5
|
+
## Контекст по ответственности
|
|
6
|
+
|
|
7
|
+
L0 хранит весь контекст цели/критериев и принимает; L1 руководит ограниченной
|
|
8
|
+
поставкой, решениями, параллельными ready-задачами и интеграцией; L2 быстро
|
|
9
|
+
исполняет один конечный мандат и возвращается. Ответственность не передаётся
|
|
10
|
+
вниз вместе со сложностью; сложную работу L1 разрезает до назначений L2. TASK связывает цель владельца одной
|
|
11
|
+
строкой, вклад подзадачи и результат. Методики организации/приёмки L0/L1 не
|
|
12
|
+
назначай L2 по умолчанию. Воркер получает полную методику своего действия,
|
|
13
|
+
относящиеся нормы/исключения, TASK/RESULT/EVIDENCE и нужные инструменты;
|
|
14
|
+
ACCEPTANCE и весь контекст проекта оставь ответственному уровню. Автоматически
|
|
15
|
+
доставленный полный текст повторно не копируй. Обязательную норму не сжимай
|
|
16
|
+
до утраты смысла; дай точный источник и возможность дочитать зависимость.
|
|
17
|
+
|
|
18
|
+
Отдельное исследование требует вопроса, связи с критерием/решением/риском
|
|
19
|
+
и условия остановки. Не ищи «что ещё улучшить» вне поручения. L2 передаёт
|
|
20
|
+
неожиданную сложность/вопрос о полномочиях L1, не выбирает дальнейший поиск.
|
|
21
|
+
Сначала решение L1/контекст/готовое средство, затем при необходимости один
|
|
22
|
+
адресный эксперт. Консилиум — лишь сложное существенно блокирующее решение,
|
|
23
|
+
когда меньшего средства недостаточно и польза оправдывает цену. Дефект правила
|
|
24
|
+
W1–W4 идёт через триаж Стюарду. Совет/мутация не меняют цель и права.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## Рабочая память между агентами и сессиями
|
|
28
|
+
|
|
29
|
+
Короткий RESULT L2 — сообщение. Сохраняй в Wolf только состояние/результат,
|
|
30
|
+
нужные следующему агенту, контрольной точке или приёмке; не каждый шаг/вывод тула.
|
|
31
|
+
Владелец записи L0/L1, один на задачу. L2 без прав записи передаёт ему содержимое.
|
|
32
|
+
Память — основной маршрут обмена; рабочий файл вне docs — fallback при её
|
|
33
|
+
недоступности либо для patch/бинарных данных. Записи создаются штатными командами,
|
|
34
|
+
не ручными файлами в .wolf; скрипт хранится как файл/tool, не как простыня note.
|
|
35
|
+
|
|
36
|
+
- note + context: текущий мандат, исследуемый вопрос, гипотеза, входы и следующий шаг.
|
|
37
|
+
- note + history: RESULT, checkpoint, сводка проверок/ревью и принятый handoff.
|
|
38
|
+
- note + metric: измерения, когда они действительно нужны для сравнения.
|
|
39
|
+
- thread: многошаговая цель; blocked/waiting_answer — реальная зависимость/вопрос
|
|
40
|
+
треда, не обязательный статус из-за возврата любого L2.
|
|
41
|
+
- decision: фактически выбранный уполномоченным уровнем вариант. Частный выбор
|
|
42
|
+
команды/гипотеза остаются в рабочей note, не создают проектного решения.
|
|
43
|
+
- lesson: доказанный переносимый урок с границами применимости и триггером.
|
|
44
|
+
- complaint: доказанный дефект правила W1–W4 с about/rule/evidence/proposal.
|
|
45
|
+
Не используй lesson/complaint для обычного статуса, бага или трения инструмента.
|
|
46
|
+
|
|
47
|
+
Для рабочих note явно сохраняй memory_class=working, truth_role=proposed_knowledge,
|
|
48
|
+
lifetime=short_term, review_state=proposed, status=active. Для строго одноразового
|
|
49
|
+
контекста допустим lifetime=session. review_state здесь не поручение Стюарду:
|
|
50
|
+
это рабочая запись, а не предложенный урок/правило. history-note с accepted может
|
|
51
|
+
попасть в общий brief; не делай частный результат принятой общей памятью.
|
|
52
|
+
Эти поля не обеспечивают TTL, приватность или гарантированное скрытие из поиска.
|
|
53
|
+
Не используй facet=proposal без настоящего структурированного предложения.
|
|
54
|
+
|
|
55
|
+
В теле: task/thread ID, владелец, цель/границы, revision, что сделано/неизвестно,
|
|
56
|
+
evidence, вопрос/следующий шаг. tags — для адресного поиска. Свяжи note с реальным
|
|
57
|
+
thread через related_to; передай получателю точные ID и краткий релевантный фрагмент,
|
|
58
|
+
не весь brief/архив. Не добавляй несуществующие поля task_id/expires_at/thread к note
|
|
59
|
+
через --set. Учитывай scope ворктрии; прямое get/brief не является изоляцией доступа.
|
|
60
|
+
Пример поддержанного пути (ID/тело — реальные, не буквальные плейсхолдеры):
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
wolf add --type note --facet history --title "TASK: контрольная точка" \
|
|
64
|
+
--body "task/thread, revision, результат, evidence, остаток" \
|
|
65
|
+
--tags "working-state" --created-by agent:executor-lead \
|
|
66
|
+
--set memory_class=working --set truth_role=proposed_knowledge \
|
|
67
|
+
--set lifetime=short_term --set review_state=proposed --set status=active
|
|
68
|
+
wolf relation add <note-id> related_to <thread-id>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
После подтверждённой передачи/завершения L1 архивирует только свои/закреплённые
|
|
72
|
+
ненужные рабочие note текущей задачи, не чужое состояние или требуемый аудит,
|
|
73
|
+
сохраняя ссылки и требуемый приёмочный след; lifetime сам ничего не удаляет.
|
|
74
|
+
Смысловая замена checkpoint — новая note + supersede, не дубли копий для каждого
|
|
75
|
+
исполнителя. Урок/жалоба выделяются отдельно только при наличии их оснований;
|
|
76
|
+
новая карточка ссылается на исходное evidence, исходная note не переименовывается
|
|
77
|
+
в lesson/complaint. Стюард не превращает рабочий архив в очередь агрегации.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Поручение и доказательства
|
|
2
|
+
|
|
3
|
+
Загружает L1 перед составлением TASK; L2 получает применимые нормы в поручении.
|
|
4
|
+
|
|
5
|
+
execution в TASK задаёт model/variant/mode и бюджет существующим способом
|
|
6
|
+
запуска, не новой конфигурационной схемой. Иерархия ролей не шкала reasoning.
|
|
7
|
+
Рутинное исполнение — execute, узкий нерешённый вопрос — solve; solve не расширяет мандат. Используй достаточный
|
|
8
|
+
доступный режим; не повышай его сам и не считай просьбу в тексте подтверждением
|
|
9
|
+
фактической настройки. У каждого вызова конечный лимит; без него — возврат
|
|
10
|
+
не позднее 8 инструментальных обращений (дефолт пилота). Два шага без продвижения
|
|
11
|
+
для L2 означают возврат L1, смену способа выбирает L1. Новый вывод, контрпример и обнаруженная ошибка
|
|
12
|
+
прежней проверки — основания пересмотра, даже если исходные данные те же.
|
|
13
|
+
|
|
14
|
+
Плотность density standard|draft — отдельная ось того же блока execution,
|
|
15
|
+
отличная от execute|solve, FULL/LITE/FIX, роли, model и variant: выбирает
|
|
16
|
+
L1 или пользователь, отсутствие поля — standard, не новая конфигурационная схема.
|
|
17
|
+
В draft исполнитель сокращает видимую служебную запись — повторные пересказы,
|
|
18
|
+
дублирующие сводки, действия без конкретного основания, — сохраняя основания
|
|
19
|
+
решений; существенная неопределённость расширяет адресное исследование/проверку
|
|
20
|
+
или даёт запрос L1, а не короткий необоснованный ответ. Обязательные проверки,
|
|
21
|
+
права, независимость приёмки и безопасность не отменяются; FULL/LITE/FIX и
|
|
22
|
+
execute/solve не зависят от плотности. RESULT фиксирует фактическую плотность;
|
|
23
|
+
приёмка сверяет наблюдаемые действия, evidence и результат, а не ярлык draft.
|
|
24
|
+
|
|
25
|
+
Инструментальный сбой не автоматически продуктовый баг и не запускает полный
|
|
26
|
+
wolf-debug: один осмысленный обход в scope, затем FRICTION/ограничение и L1.
|
|
27
|
+
Повторный запуск чтения/проверки обосновывается изменёнными входами, новым
|
|
28
|
+
свидетельством или конкретным обязательным непокрытым критерием.
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## Контракты передачи
|
|
32
|
+
|
|
33
|
+
### Ядро TASK
|
|
34
|
+
|
|
35
|
+
Ядро обязательно для любого поручения; каждый пункт — проверяемое предписание,
|
|
36
|
+
а не перечисление через запятую. Профиль (ниже) добавляет к ядру, не заменяет его.
|
|
37
|
+
|
|
38
|
+
- `task_id` — идентификатор подзадачи, отличный от id сеанса; по нему сверяются отчёт
|
|
39
|
+
и evidence.
|
|
40
|
+
- Цель/ожидаемый результат — что должно быть на выходе, одной проверяемой формулировкой.
|
|
41
|
+
- AC — приёмочные критерии, по каждому из которых можно сказать «подтверждено» или нет.
|
|
42
|
+
- Scope и полномочия — что входит в работу, что запрещено (запись, спавн, коммиты),
|
|
43
|
+
где вести рабочие материалы.
|
|
44
|
+
- Входы и назначенная методика — какие нормы и файлы читать и каким процессом
|
|
45
|
+
исполнять; недостающий обязательный вход запрашивается, не додумывается.
|
|
46
|
+
- Проверка — точные команды или процедуры и ожидаемый результат; запускает исполнитель.
|
|
47
|
+
- Конечный бюджет и stop/return — лимит работы и условия немедленного возврата L1.
|
|
48
|
+
- Ожидаемый RESULT — форма отчёта по роли, включая допустимые статусы и вердикты.
|
|
49
|
+
|
|
50
|
+
Инварианты ядра: применимое ядерное поле нельзя опустить; неизвестный обязательный
|
|
51
|
+
вход явно запрашивается (`NEEDS_CONTEXT`), не заполняется заглушкой. Опускание
|
|
52
|
+
неприменимого профильного поля — не дефект поручения.
|
|
53
|
+
|
|
54
|
+
### Профили поручения
|
|
55
|
+
|
|
56
|
+
Профиль `implement | review | research` добавляет поля к ядру. Неприменимое поле
|
|
57
|
+
опускается, а не заполняется заглушкой; поручение без такого поля корректно.
|
|
58
|
+
|
|
59
|
+
- `implement` добавляет: repo/workspace, `base_sha`, allowlist записи, разрешённые
|
|
60
|
+
области чтения, зависимости, ссылки на design/test-plan. Из ядра не опускает ничего.
|
|
61
|
+
RESULT: `DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED`.
|
|
62
|
+
- `review` добавляет: revision проверяемого артефакта, назначенную линзу, норму
|
|
63
|
+
и evidence-набор. Не требует `base_sha`, allowlist записи, worktree.
|
|
64
|
+
RESULT: `SUMMARY/VERDICT/FINDINGS/SCOPE/LIMITS/EVIDENCE`; вердикты
|
|
65
|
+
`APPROVED | CHANGES_REQUIRED | INCONCLUSIVE`.
|
|
66
|
+
- `research` добавляет: проверяемый вопрос, критерий ответа, revision документа или
|
|
67
|
+
источника, границы поиска и условие остановки. Не требует `base_sha`, allowlist записи.
|
|
68
|
+
RESULT: `FINDINGS/CONFIDENCE/GAPS` с разделением источника, факта, вывода и гипотезы.
|
|
69
|
+
|
|
70
|
+
Формат передачи по умолчанию — сообщение; точные разрешённые выходные файлы, если они
|
|
71
|
+
нужны, и место временной работы вне документации указывает L1. Ответственность
|
|
72
|
+
за общий план и покрытие остаётся у L1.
|
|
73
|
+
|
|
74
|
+
### Словарь контрактов
|
|
75
|
+
|
|
76
|
+
Термины определены статически; определения не описывают поведение механизмов
|
|
77
|
+
и не ссылаются на команды или поля, которых нет. Ниже таблицы — действующие формы
|
|
78
|
+
`RESULT`/`EVIDENCE`/`ACCEPTANCE`: они подробны, таблица даёт только смысл термина.
|
|
79
|
+
|
|
80
|
+
| Термин | Значение |
|
|
81
|
+
| --- | --- |
|
|
82
|
+
| TASK | Поручение исполнителю: ядро из восьми элементов плюс поля применимого профиля. |
|
|
83
|
+
| RESULT | Отчёт исполнителя по форме своей роли: статус или вердикт, изменения, границы. |
|
|
84
|
+
| EVIDENCE | Подтверждение claim/AC: команда или процедура, cwd, revision, exit, результат. |
|
|
85
|
+
| ACCEPTANCE | Сверка каждого AC с evidence и итоговый verdict приёмки у L0. |
|
|
86
|
+
| SCOPE | Границы задачи: что входит и что запрещено. В отчёте worker-reviewer `SCOPE` — покрытие ревью, не границы задачи. |
|
|
87
|
+
| LIMITS/GAPS | Что не проверено, где нет данных или остался риск; отсутствие данных не равно нулю или успеху. |
|
|
88
|
+
|
|
89
|
+
RESULT: task_id, DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED, изменения, проверки и evidence, отклонения, оставшиеся риски. DONE означает готовность к ревью, а не приёмку.
|
|
90
|
+
EVIDENCE: claim/AC, command или процедура, cwd, revision, dirty-state digest при наличии, существенное окружение, время, exit/status, результат и ссылка на имеющееся подтверждение (лог, вывод инструмента, CI-артефакт). Отдельный файл лога не обязателен. Не выдумывай отсутствующие поля.
|
|
91
|
+
ACCEPTANCE: по каждому AC подтверждение/не подтверждено, актуальные evidence, независимое ревью, ограничения; финальный verdict L0: ACCEPTED | PARTIAL | REJECTED | INCONCLUSIVE.
|
|
92
|
+
|
|
93
|
+
Контракты веди сообщениями и адресными note Wolf; файловый fallback — по правилам рабочей памяти выше. Не добавляй команды или типы Wolf без отдельной реализации. Следы жалоб и вердиктов сохраняй разрешённым каналом; при недоступной записи передай L1.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Документы и устройство работы проекта
|
|
2
|
+
|
|
3
|
+
Загружает L0/L1 при выборе места, режима и документного профиля.
|
|
4
|
+
|
|
5
|
+
## Состав документации этапа
|
|
6
|
+
|
|
7
|
+
В FULL папка docs/dev/<date>-<feat>/ содержит основные requirements.md, design.md,
|
|
8
|
+
plan.md и test-plan.md. Это документация для следующих этапов, не рабочий каталог.
|
|
9
|
+
Выводы подзадач L1 встраивает в нужный документ: решения — в ADR design.md,
|
|
10
|
+
состояние/проверки — в plan.md/test-plan.md; значимую память ведёт штатным каналом.
|
|
11
|
+
L2 по умолчанию возвращает RESULT/findings/review сообщением. Право создать файл
|
|
12
|
+
должно содержать точный путь и назначение; разрешения на каталог недостаточно.
|
|
13
|
+
Явное задание обновить основной документ допустимо в назначенном разделе.
|
|
14
|
+
Опциональный итог разговора по wolf-brainstorm — pre-requirements.md в папке той же
|
|
15
|
+
цели: он не входит в эти четыре документа, не запускает scaffold и не означает
|
|
16
|
+
утверждённые требования.
|
|
17
|
+
|
|
18
|
+
Дополнения — единичные самостоятельные документы с пользой после этапа, например
|
|
19
|
+
необходимый migration-guide или итоговое исследование. L1 до создания указывает
|
|
20
|
+
в существующем plan/брифе путь, читателя/назначение, причину отдельного документа
|
|
21
|
+
и владельца актуальности. Сначала проверь, достаточно ли существующего раздела.
|
|
22
|
+
Новый файл не требуется на каждый TASK/раунд. Ресурс документа, например схема,
|
|
23
|
+
допустим при явной необходимости и точном пути в TASK. Согласованные состав и форматы
|
|
24
|
+
сохраняй; меняющий scope вопрос передай L0. Отдельный реестр файлов не создавай.
|
|
25
|
+
|
|
26
|
+
Частные report-*, decisions-*, checkpoint, черновики, логи и исполняемые скрипты
|
|
27
|
+
в docs/dev не размещай, в том числе в подпапке tmp/reports. Рабочие файлы — только
|
|
28
|
+
в назначенной разрешённой области вне документации; временные эксперименты — tmp.
|
|
29
|
+
Постоянные скрипты/тесты — в штатных scripts/tests или библиотеке средств по
|
|
30
|
+
профилю проекта. До очистки/передачи сохрани нужные evidence и незавершённое
|
|
31
|
+
состояние в доступном долговечном месте вне документации. Одна ссылка на tmp
|
|
32
|
+
не является сохранённым evidence. Не удаляй чужие/прежние файлы автоматически.
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Новая цель и рабочий тред
|
|
36
|
+
|
|
37
|
+
При запросе на реальную разработку или изменение продукта L0 сверяет существующие треды и цель. Продолжение той же цели сохраняет тред. Для новой самостоятельной цели без подходящего треда создай его поддержанным механизмом памяти, например wolf thread add с title и goal; запомни фактический ID. Не создавай тред на каждое уточнение, приветствие или вопрос о текущем состоянии.
|
|
38
|
+
|
|
39
|
+
Передай L1 ID треда, цель, известные ограничения и назначенную методику. L1 фиксирует FULL/LITE/FIX до выбора документного профиля. До согласованного перехода к формализации не создавай requirements.md и downstream-шаблоны. По выбору пользователя допустим отдельный итог pre-requirements.md в папке той же цели по wolf-brainstorm; он не запускает scaffold и не означает утверждение требований.
|
|
40
|
+
|
|
41
|
+
В FULL исполнитель использует wolf scaffold artifact <slug>; сохраняет четыре шаблонных файла в docs/dev/<date>-<slug>/. FIX — профиль --fix, когда он подходит задаче; LITE — достаточный бриф. Ссылки на документы и принятые решения связывай с тредом существующим поддержанным способом, не придумывай поля схемы. Если инструменты памяти недоступны, обозначь ограничение и передай запись исполнителю; разговор можно продолжить, нельзя утверждать, что тред создан.
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## Масштаб и профиль проекта
|
|
45
|
+
|
|
46
|
+
FULL — несколько компонентов, новые контракты, миграции или существенные риски. LITE — локальное обратимое изменение без новых контрактов. FIX — подтверждённый дефект с воспроизведением и проверкой. Режим фиксирует L1. Соблюдай протокол ошибки масштаба: если в LITE/FIX обнаружились новые контракты, второй компонент или неочевидная причина — останови затронутое исполнение и передай L1 для пересмотра; режим меняет только L1. Сам не расширяй scope. Одобренную работу повторно не согласовывай без изменения существенных условий.
|
|
47
|
+
|
|
48
|
+
Из AGENTS.md, конфигурации, lockfile и CI определи base branch, package manager, setup, targeted/full checks, worktree policy и права на commit/push/merge. Не предполагай npm, Vitest или main. При конфликте проверь фактический CI и запроси только недостающее решение. Не создавай новую конфигурационную схему автоматически.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Средства проекта и карточки Wolf
|
|
2
|
+
|
|
3
|
+
Загружает L1 при создании/сохранении/обновлении инструмента; L2 получает
|
|
4
|
+
относящиеся нормы и точный контракт, а не весь каталог.
|
|
5
|
+
|
|
6
|
+
## Размещение и регистрация
|
|
7
|
+
|
|
8
|
+
Используй принятый постоянный каталог вспомогательных средств проекта.
|
|
9
|
+
Если его нет, L1 выбирает и создаёт подходящее место; при существенной
|
|
10
|
+
неоднозначности L0 уточняет у пользователя. Путь фиксируется в памяти и не
|
|
11
|
+
согласуется заново. Каталог отделим от функциональности продукта; зависимости
|
|
12
|
+
обслуживающих процедур явны. Компоненты продукта остаются в его структуре.
|
|
13
|
+
|
|
14
|
+
Средство может включать один/несколько файлов, ресурсы и зависимости на удобном
|
|
15
|
+
проекту языке. Исходники живут в Git проекта. Карточка Wolf — назначение,
|
|
16
|
+
когда применять, относительная точка входа, запуск/cwd, вход/выход, среда,
|
|
17
|
+
побочные действия и основание проверки. wolf tool register хранит ссылку,
|
|
18
|
+
не вторую копию; старый файл в .wolf/tools допустимо оставить по его пути.
|
|
19
|
+
Обновляй известную карточку штатным способом, сохраняя ID; не создавай дубликат
|
|
20
|
+
и не используй --force вместо поиска аналога. Новую команду/поле сначала проверь
|
|
21
|
+
в текущем CLI/help.
|
|
22
|
+
|
|
23
|
+
## Что сохранять
|
|
24
|
+
|
|
25
|
+
tmp допустим для одноразовой пробы. Скрипт, необходимый для повторного
|
|
26
|
+
использования, воспроизведения результата или продолжения, сохраняется и
|
|
27
|
+
регистрируется до завершения задачи. Имя «временный» не отменяет зависимости.
|
|
28
|
+
Одной ссылки на tmp недостаточно. Разовая команда без дальнейшей ценности
|
|
29
|
+
не требует упаковки или карточки.
|
|
30
|
+
|
|
31
|
+
Если скрипты создавались, L2 возвращает кратко назначение/путь/проверку/нужность.
|
|
32
|
+
L1 обеспечивает сохранность и регистрацию до приёмки; Git diff не видит все
|
|
33
|
+
созданные в tmp средства. Оформление уже разрешённого средства — часть завершения,
|
|
34
|
+
не новое согласование. Существенное расширение автоматизации — решение владельца.
|
|
35
|
+
|
|
36
|
+
## Поиск, качество и запуск
|
|
37
|
+
|
|
38
|
+
Перед повторяемой работой используй доставленное средство или адресный
|
|
39
|
+
wolf tool list --status active, затем контракт выбранного объекта. Не ищи
|
|
40
|
+
весь каталог на каждую команду. Проверь применимость, версию значимых файлов,
|
|
41
|
+
cwd/ресурсы и права. Изменение несвязанных файлов не отменяет все evidence.
|
|
42
|
+
Отсутствующий путь или устаревшая карточка — ограничение, не повод создавать
|
|
43
|
+
другую копию. Сохраняй исходник при ошибке регистрации.
|
|
44
|
+
|
|
45
|
+
Средство должно быть лёгким, понятным и по возможности переиспользуемым:
|
|
46
|
+
достаточные зависимости, параметры известных повторов, ясные результаты/ошибки,
|
|
47
|
+
проверка назначения и существенных рисков. Не создавай универсальный продукт
|
|
48
|
+
из каждой пробы. wolf tool use — учёт, не запуск и не доказательство успеха;
|
|
49
|
+
реальный запуск разрешённым способом возвращает отдельный исход/evidence.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Развитие возможностей
|
|
2
|
+
|
|
3
|
+
| Когда | Как применить | Результат |
|
|
4
|
+
| --- | --- | --- |
|
|
5
|
+
| Создание/изменение методики | writing-skills: сценарий, канон и проверка поведения | Проверенная методика и откат |
|
|
6
|
+
| Подключение внешнего пакета | wolf-skill-intake: проверить источник/revision и scope | Проверенная доступная методика |
|
|
7
|
+
| Повторяемая техническая операция | [Библиотека проекта](project-tools.md): найти аналог, создать при необходимости | Инструмент и карточка |
|
|
8
|
+
| Дефект действующего правила | wolf-feedback: W1–W4, complaint, действующий триаж | Основание коррекции Стюардом |
|
|
9
|
+
|
|
10
|
+
Новая помощь собирается L1 из L2, подходящего лица, скиллов и доступных средств.
|
|
11
|
+
Скрипт обслуживает повторяемую механику, не является обязательной формой
|
|
12
|
+
помощника. Рабочие записи не становятся автоматически уроками или жалобами.
|
|
13
|
+
Локальная мутация Стюарда не становится глобальным шаблоном без своей проверки.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Объяснение, визуальный диалог и документ
|
|
2
|
+
|
|
3
|
+
| Когда | Как применить | Результат |
|
|
4
|
+
| --- | --- | --- |
|
|
5
|
+
| Нужно объяснить человеку | wolf-explain: восстановить недостающую связь, причины и последствия | Понятное объяснение |
|
|
6
|
+
| Лучше увидеть вариант или механизм | wolf-visual-dialogue: показать, получить feedback, уточнить | Общее понимание либо выбранный вариант |
|
|
7
|
+
| Запрошен самостоятельный документ | wolf-user-report: структурировать достаточный ответ в нужном формате | Читаемый документ с основаниями |
|
|
8
|
+
|
|
9
|
+
Навыки могут создавать один результат без трёх агентов/файлов. L0 ведёт разговор,
|
|
10
|
+
L1 поручает подготовку конечным L2 с нужными лицами и скиллами. HTML-документ —
|
|
11
|
+
по запросу или согласованию; уже данное согласование сохраняется. Для ответа
|
|
12
|
+
в чате и служебного RESULT report не обязателен. Выбор макета не утверждает
|
|
13
|
+
ещё не показанные требования. Показывай графику по пользе, не ради украшения.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Планирование и исполнение
|
|
2
|
+
|
|
3
|
+
L1 до назначения читает [канон TASK](contracts.md). Не передавай L2 всю организацию.
|
|
4
|
+
|
|
5
|
+
| Когда | Как применить | Результат |
|
|
6
|
+
| --- | --- | --- |
|
|
7
|
+
| Есть approved-входы, нужна декомпозиция | wolf-plan: L1 выделяет результаты, зависимости и проверки | Исполнимые конечные TASK |
|
|
8
|
+
| Нужно определить проверки | wolf-testplan: связать критерии с независимым oracle | Сценарии и команды |
|
|
9
|
+
| Начинается поставка | wolf-sdd: L1 выбирает лица/скиллы и назначает ready-задачи L2 | Проверенные и интегрированные результаты |
|
|
10
|
+
| L2 выполняет назначенный мандат | wolf-execute: линейно выполнить только свою часть | RESULT/evidence либо конкретный вопрос L1 |
|
|
11
|
+
| Реализуется поведение или исправление | test-driven-development: наблюдаемые RED/GREEN по применимости | Чувствительная проверка и реализация |
|
|
12
|
+
| Готовится заявление о завершении | verification-before-completion: сверить claim с актуальным evidence | Обоснованное заявление, не автоматический ACCEPTED |
|
|
13
|
+
|
|
14
|
+
Помощник — L2 с лицом, нужными скиллами и конечным TASK. Постоянный агент или новый
|
|
15
|
+
скрипт для каждого вида помощи не нужен. Группируй однотипные малые изменения
|
|
16
|
+
по одному проверяемому результату; не создавай воркера на команду.
|
|
17
|
+
Независимые ready-задачи запускай параллельно с изоляцией; общие контракты сериализуй.
|
|
18
|
+
Новый результат — fresh, исправление того же непринятого — допустимый continue.
|
|
19
|
+
После приёмки сохраняй нужное и закрывай ненужный экземпляр без отдельного отчёта.
|
|
20
|
+
Недоступность L2 — ограничение, а не разрешение L1 выполнить за него всю работу.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Понимание и выбор решения
|
|
2
|
+
|
|
3
|
+
| Когда | Как применить | Результат |
|
|
4
|
+
| --- | --- | --- |
|
|
5
|
+
| Новая цель или существенное разночтение | wolf-brainstorm: L0 сверяет намерение по контексту; адресное чтение поручает через L1 | Понятные цель, границы и выбранный следующий шаг |
|
|
6
|
+
| Ясное поручение с достаточными входами | wolf-brainstorm: показать понимание и продолжить без ритуального вопроса | Исполнение в согласованном scope |
|
|
7
|
+
| Нужен ответ исследованием | L1 назначает вопрос worker-researcher с лицом/скиллом, источниками и остановкой | FINDINGS/CONFIDENCE/GAPS |
|
|
8
|
+
| Утверждены требования, нужен дизайн | wolf-design: контракты и решения по FULL/новым интерфейсам | Проверяемое решение без реализации |
|
|
9
|
+
|
|
10
|
+
Продолжение неизменившейся цели не возвращай в discovery. Понимание цели не
|
|
11
|
+
утверждает ещё не показанные requirements/design. Пользователь может выбирать
|
|
12
|
+
разговор, объяснение или документ; полный пакет разработки не обязателен.
|
|
13
|
+
Для наглядного обсуждения подключи wolf-visual-dialogue, для ясного языка —
|
|
14
|
+
wolf-explain. Исследование и консилиум требуют собственного основания.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Проверка, диагностика и обратная связь
|
|
2
|
+
|
|
3
|
+
| Когда | Как применить | Результат |
|
|
4
|
+
| --- | --- | --- |
|
|
5
|
+
| Назначен баг/неожиданное поведение | wolf-debug: локализовать причину адресными экспериментами | Evidence причины либо предел вывода |
|
|
6
|
+
| Ревью документа | wolf-review: назначенная линза и критерии на revision | SUMMARY/VERDICT/FINDINGS/SCOPE/LIMITS/EVIDENCE |
|
|
7
|
+
| Ревью реализации | requesting-code-review: независимому L2 передать материалы, нормы, evidence | Соответствие, затем качество |
|
|
8
|
+
| Получены замечания | receiving-code-review: проверить основания и исправить относящееся | Решение по finding IDs и адресная перепроверка |
|
|
9
|
+
| Вопрос, FRICTION, отклонение или W1–W4 | wolf-feedback: выбрать адресата, не расследовать всё | Вопрос, коррекция, жалоба либо назначенная диагностика |
|
|
10
|
+
|
|
11
|
+
Первый reviewer не получает ожидаемый verdict и чужие findings. Повторный проход
|
|
12
|
+
проверяет исправления и затронутые изменения; расширение требует основания.
|
|
13
|
+
Не запускай аудит соседнего дефекта. Очевидный W1–W4 не требует повторов или
|
|
14
|
+
диагностики всей сессии. Сбой инструмента не автоматически плохое правило.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Сохранение, Git и передача
|
|
2
|
+
|
|
3
|
+
| Когда | Как применить | Результат |
|
|
4
|
+
| --- | --- | --- |
|
|
5
|
+
| Git-граница: вход, checkpoint, завершение | wolf-git: проверить baseline, сохранность и полномочия | Подтверждённое состояние Git |
|
|
6
|
+
| Нужна изоляция записи | using-git-worktrees: назначить владельца и отдельное место | Рабочая копия по политике |
|
|
7
|
+
| Смена сеанса/исполнителя или восстановление | wolf-handoff: передать состояние и решения адресно | Продолжение без повторной работы |
|
|
8
|
+
| Готовы интеграция и уборка | finishing-a-development-branch: проверить сохранность и доступные действия | Разрешённое завершение |
|
|
9
|
+
| Выбирается режим/место документа | [Правила проекта](project-rules.md): использовать существующее соглашение | FULL/LITE/FIX и правильные материалы |
|
|
10
|
+
| Создан полезный скрипт | [Инструменты проекта](project-tools.md): сохранить и учесть карточкой | Средство для следующих задач |
|
|
11
|
+
|
|
12
|
+
Рабочая память — по [адресному контракту](context-and-memory.md). Принятое на
|
|
13
|
+
применимой revision не повторяется; незавершённое продолжается, устаревшее
|
|
14
|
+
evidence проверяется адресно. Недоступное не превращай в «успешно». Грязная
|
|
15
|
+
рабочая копия не чистится ради удобства; сначала сохраняется нужный результат.
|
|
@@ -34,13 +34,13 @@ L0 использует метаданные. Содержательное из
|
|
|
34
34
|
| Существенно разные прочтения | Покажи различие сценарием или предположением и выясни намерение. |
|
|
35
35
|
| Простой вопрос с ответом в доставленном контексте | Ответь; не запускай тред и исследование ради формальности. |
|
|
36
36
|
|
|
37
|
-
До
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
не
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
До дорогого исследования, scaffold и требований покажи понимание новой цели
|
|
38
|
+
так, чтобы пользователь мог поправить существенное. Используй доставленный
|
|
39
|
+
контекст; при необходимости назначь через L1 короткое адресное ознакомление,
|
|
40
|
+
не полный аудит. Если цель/результат/границы достаточны, продолжай порученное
|
|
41
|
+
без ритуального ожидания ответа. Существенную развилку уточни до зависимой работы;
|
|
42
|
+
молчание не подтверждает неизвестное. Гейты ещё не показанных requirements/design
|
|
43
|
+
сохраняются. Продолжение той же цели не требует повторной сверки.
|
|
44
44
|
|
|
45
45
|
Различай желаемый результат и предложенный способ его получить. Не превращай
|
|
46
46
|
сравнение в обязательную унификацию, совет — в проект внедрения, а подготовку
|
|
@@ -87,3 +87,10 @@ L1 сначала решает сам/уточняет вход/использу
|
|
|
87
87
|
| «Похоже на timeout, увеличу его» | Сначала различи причину и временное снижение ущерба. |
|
|
88
88
|
| «Несколько правок ускорят поиск» | Эксперимент должен различать гипотезы. |
|
|
89
89
|
| «Третья попытка точно сработает» | Проверь модель причины и запроси независимый разбор. |
|
|
90
|
+
|
|
91
|
+
## Прикладные техники
|
|
92
|
+
|
|
93
|
+
Если нужна конкретная техника, читай references/techniques.md: трассировка
|
|
94
|
+
первопричины, диагностика границ, поиск загрязняющего теста и ожидание условия.
|
|
95
|
+
Техника не расширяет диагностический вопрос и не является обязательным аудитом.
|
|
96
|
+
Для вопроса, FRICTION или W1–W4 применяй wolf-feedback в пределах своей роли.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Приёмы адресной диагностики
|
|
2
|
+
|
|
3
|
+
Выбери технику под назначенный вопрос. Она не расширяет полномочия или scope.
|
|
4
|
+
|
|
5
|
+
| Затруднение | Приём | Достаточный результат |
|
|
6
|
+
| --- | --- | --- |
|
|
7
|
+
| Ошибка проявилась глубже причины | Иди назад от неверного значения к месту его получения; на каждой границе сопоставляй вход, преобразование и выход | Первая граница, где нарушен известный контракт, с подтверждением |
|
|
8
|
+
| Несколько компонентов | Поставь минимальную диагностику на подозреваемых границах, передавая корреляционный ID и метаданные без payload/секретов | Различена ошибка отправителя, передачи или получателя |
|
|
9
|
+
| Тест падает только в наборе | Воспроизведи порядок, сузь предшествующий набор делением; проверь общий файл, env, cache, время и cleanup | Минимальная пара/последовательность и нарушенная изоляция |
|
|
10
|
+
| Ожидается асинхронный результат | Жди наблюдаемое условие с конечным timeout и диагностикой последнего состояния | Условие выполнено либо timeout с evidence; увеличение sleep не доказательство исправления |
|
|
11
|
+
|
|
12
|
+
Для поиска загрязняющего теста важен фактический порядок; бинарное деление
|
|
13
|
+
не гарантирует результат при нескольких совместных причинах. Отрицательный
|
|
14
|
+
эксперимент — полезный исход. Не запускай бесконечные прогоны; новый способ L2
|
|
15
|
+
возвращает L1. Временную диагностику убери после сохранения evidence.
|
|
16
|
+
|
|
17
|
+
Пример ожидания: процесс должен зарегистрировать событие с известным ID.
|
|
18
|
+
Проверяй получение этого события до deadline; фиксируй отсутствие и последнее
|
|
19
|
+
состояние. Не считай сам факт ожидания успешной проверкой. Если система не даёт
|
|
20
|
+
наблюдаемого условия, уточни контракт или назначь ограниченную диагностику.
|
|
@@ -1,61 +1,56 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: wolf-execute
|
|
3
|
-
description: "Применять при
|
|
3
|
+
description: "Применять L2 при выполнении назначенной конечной подзадачи по утверждённому плану или разрешённому брифу; при продолжении того же результата."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
4.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
| Мысль | Действие |
|
|
58
|
-
| --- | --- |
|
|
59
|
-
| «Сам проверю и сам приму» | Саморевью не независимо; приёмка остаётся у назначенного уровня. |
|
|
60
|
-
| «Нет агентов, значит L0 может писать код» | Недоступность инструмента не расширяет роль. |
|
|
61
|
-
| «Продолжу после сбоя с того же действия» | Сначала проверь исход предыдущего действия и checkpoint. |
|
|
6
|
+
# Исполнение конечного мандата L2
|
|
7
|
+
|
|
8
|
+
Получай TASK, лицо, полный скилл действия и относящиеся ограничения от L1.
|
|
9
|
+
TASK/RESULT/EVIDENCE — по using-skills/references/contracts.md. L0 не выполняет
|
|
10
|
+
этот процесс. L1 организует через wolf-sdd, принимает и интегрирует; этот навык
|
|
11
|
+
не разрешает ему заменять воркеров универсальным исполнением. Если диспетчеризация
|
|
12
|
+
недоступна, L1 возвращает конкретное ограничение, не имитирует вызов.
|
|
13
|
+
|
|
14
|
+
## Исполнение
|
|
15
|
+
|
|
16
|
+
1. Сверь назначенные входы с фактической revision, allowlist и правами.
|
|
17
|
+
Недостающий обязательный вход — NEEDS_CONTEXT, не догадка. Не повторяй общий
|
|
18
|
+
bootstrap или поиск уже доставленной методики.
|
|
19
|
+
2. Выполни только ready-шаги своего результата: нужное чтение, применимая
|
|
20
|
+
тестовая дисциплина, изменение и назначенная проверка. Не отменяй гейт
|
|
21
|
+
ради краткости; техники выбирай по пользе через wolf-work-strategy.
|
|
22
|
+
3. Проверь результат, существенные инварианты и свой diff. Код-первый, неполная
|
|
23
|
+
проверка и pre-existing failure указываются честно. Саморевью не независимо.
|
|
24
|
+
4. Верни RESULT по роли: статус/вердикт, изменения, evidence на проверенное
|
|
25
|
+
состояние, ограничения и адресный вопрос при необходимости. DONE — готовность
|
|
26
|
+
к независимой проверке, не ACCEPTED. Не коммить, не спавни и не интегрируй.
|
|
27
|
+
5. Если созданы скрипты, верни назначение, пути, проверку и необходимость
|
|
28
|
+
сохранения. L1 обеспечивает постоянное место/карточку по
|
|
29
|
+
using-skills/references/project-tools.md. tmp не единственный источник
|
|
30
|
+
нужного следующему исполнителю средства.
|
|
31
|
+
|
|
32
|
+
## Вопрос, блокер и остановка
|
|
33
|
+
|
|
34
|
+
Вопрос руководителю — нормальное действие до провалов. Используй wolf-feedback
|
|
35
|
+
для относящегося затруднения; сбой инструмента не запускает полный аудит.
|
|
36
|
+
Локальную очевидную коррекцию выполни в лимите; неизвестную причину, новый способ,
|
|
37
|
+
существенный выход за scope верни L1 с установленным и нужным входом.
|
|
38
|
+
Без заданного лимита возврат не позднее 8 обращений; два шага без продвижения —
|
|
39
|
+
раньше. Не повышай model/variant и не продлевай бюджет сам.
|
|
40
|
+
|
|
41
|
+
После результата заверши вызов. Не добавляй соседних исследований и проверок
|
|
42
|
+
без влияющего на вывод основания. При продолжении того же непринятого результата
|
|
43
|
+
используй ответ L1 и сохранённое состояние; уже достаточное не повторяй.
|
|
44
|
+
Новая независимая задача получает fresh по решению L1. После приёмки ненужный
|
|
45
|
+
экземпляр закрывается без отдельной церемонии, с сохранением нужных материалов
|
|
46
|
+
и окончанием записи; закрытие сессии не удаляет worktree/evidence.
|
|
47
|
+
|
|
48
|
+
## Гейт
|
|
49
|
+
|
|
50
|
+
Результат соответствует конечному TASK либо предел явно указан. L1 проверяет
|
|
51
|
+
evidence, назначает независимое ревью, интегрирует и передаёт ACCEPTANCE L0.
|
|
52
|
+
Служебный RESULT не требует отдельного файла или пользовательского отчёта.
|
|
53
|
+
|
|
54
|
+
Для повторяемых технических операций при необходимости читай
|
|
55
|
+
[контракты средств](references/technical-helpers.md). Они не заменяют L2
|
|
56
|
+
и не создают дополнительную процедуру для каждой простой задачи.
|