@gian-tiaga/eda 0.6.2 → 0.7.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 +35 -12
- package/bin/cli.js +5 -1
- package/lib/install.js +158 -6
- package/package.json +2 -2
- package/skills/eda-automate.md +61 -52
- package/skills/eda-commit.md +2 -9
- package/skills/eda-docs.md +7 -18
- package/skills/eda-execute.md +10 -11
- package/skills/eda-explore.md +17 -49
- package/skills/eda-fix-by-review.md +12 -14
- package/skills/eda-fix.md +1 -12
- package/skills/eda-merge-worktree.md +2 -17
- package/skills/eda-plan.md +120 -338
- package/skills/eda-polish.md +113 -0
- package/skills/eda-review-check.md +147 -0
- package/skills/eda-review.md +28 -108
- package/skills/eda-roadmap.md +3 -23
- package/skills/eda-send-review.md +2 -10
- package/skills/eda-worktree.md +2 -15
package/skills/eda-plan.md
CHANGED
|
@@ -1,257 +1,94 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: eda-plan
|
|
3
|
-
description: 'Пишет план реализации
|
|
3
|
+
description: 'Пишет исполнимый план реализации через стандартный Plan Mode Claude Code / Codex и сохраняет его в docs/plans/. Перед планированием читает docs/rules.md и docs/arch.md как обязательную рамку, подтягивает указанный research, фиксирует strict/short, decision_mode, test_strategy и logging_strategy из docs/settings.yaml или текущего запроса. Не оставляет неподтверждённых существенных решений, явно описывает БД/API-контракты, проверяет версии пакетов и ПО по актуальным источникам. После сохранения всегда запускает три параллельных мета-ревьюера; strict добавляет кросс-CLI.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Скил: Планировщик (eda-plan)
|
|
7
7
|
|
|
8
|
-
Собираешь контекст,
|
|
8
|
+
Собираешь контекст, запускаешь стандартный Plan Mode хост-агента, нормализуешь результат в файл `docs/plans/`, затем проверяешь план тремя параллельными субагентами/моделями. В `strict` добавляешь кросс-CLI проверку.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Режим запуска
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Прочитай `docs/settings.yaml`, если файл есть. Прямое указание пользователя в текущем сообщении важнее настроек.
|
|
13
|
+
|
|
14
|
+
Дефолты: `defaults.strict: false`, `defaults.plan_size: normal`, `defaults.decision_mode: recommend_and_ask`, `defaults.test_strategy: ask_each_time`, `defaults.logging_strategy: ask_each_time`.
|
|
15
|
+
|
|
16
|
+
| Настройка | Значения | Аргументы в сообщении |
|
|
13
17
|
|---|---|---|
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
+
| `defaults.strict` | `true`, `false` | `strict`; выключение: `normal`, `без strict`, `без строгого режима` |
|
|
19
|
+
| `defaults.plan_size` | `normal`, `short`, `ask_each_time` | `short`; обычный: `обычный план`, `не short` |
|
|
20
|
+
| `defaults.decision_mode` | `autonomous`, `recommend_and_ask`, `ask_each_time` | `autonomous`, `recommend_and_ask`, `ask_each_time`, «сам выбирай», «рекомендуй и спрашивай», «спрашивай всё» |
|
|
21
|
+
| `defaults.test_strategy` | `after_each_phase`, `tdd_each_phase`, `end_of_plan`, `ask_each_time` | явное указание стратегии тестов |
|
|
22
|
+
| `defaults.logging_strategy` | `debug_precise`, `standard`, `ask_each_time` | явное указание стратегии логирования |
|
|
18
23
|
|
|
19
|
-
Если
|
|
24
|
+
Если значение из настроек неизвестно, используй дефолт. Если итоговое значение `plan_size`, `test_strategy` или `logging_strategy` равно `ask_each_time`, задай блокирующий вопрос, кроме случая, когда пользователь уже выбрал значение в текущем сообщении.
|
|
20
25
|
|
|
21
|
-
|
|
26
|
+
Варианты вопросов: размер плана — `normal` / `short`; тесты — `after_each_phase` / `tdd_each_phase` / `end_of_plan`; логирование — `debug_precise` / `standard`.
|
|
27
|
+
|
|
28
|
+
`test_strategy` обязан менять план: `tdd_each_phase` начинает каждую фазу с тестов, `after_each_phase` добавляет тесты после реализации каждой фазы, `end_of_plan` выносит тесты в отдельную финальную фазу. `logging_strategy` обязан отражаться в алгоритме, фазах и разделе `Логирование`.
|
|
22
29
|
|
|
23
30
|
## Вход из сообщения пользователя
|
|
24
31
|
|
|
25
|
-
Текст рядом с вызовом скилла в текущем сообщении пользователя — главный вход.
|
|
32
|
+
Текст рядом с вызовом скилла в текущем сообщении пользователя — главный вход. Разбери тему, задачу, путь к файлу, режим, ограничения и прямые указания.
|
|
26
33
|
|
|
27
|
-
Если
|
|
34
|
+
Если входа достаточно, продолжай без вопроса. `AskUserQuestion` задавай только если входа нет, он противоречивый, найдено несколько равных вариантов или есть риск выполнить не ту задачу. Старое обсуждение в истории не считай входом, если пользователь не связал его с текущим вызовом явно.
|
|
28
35
|
|
|
29
|
-
##
|
|
36
|
+
## Вопросы и решения
|
|
30
37
|
|
|
31
|
-
|
|
38
|
+
`decision_mode`: `autonomous` — выбирай сам и записывай причину; `recommend_and_ask` — рекомендуй вариант и спрашивай по существенным решениям; `ask_each_time` — спрашивай по каждой значимой развилке.
|
|
32
39
|
|
|
33
|
-
|
|
34
|
-
- `defaults.strict: false`
|
|
35
|
-
- `defaults.plan_size: normal`
|
|
36
|
-
- `defaults.decision_mode: recommend_and_ask`
|
|
37
|
-
- `defaults.test_strategy: ask_each_time`
|
|
38
|
-
- `defaults.logging_strategy: ask_each_time`
|
|
40
|
+
Существенные решения: новые зависимости, БД/ORM/очереди/кэш/storage/search, миграции, схемы таблиц, API и внешние контракты, auth/permissions/payments/secrets/персональные данные, cloud/provider/cost/lock-in/SLA, архитектурные паттерны и публичные контракты.
|
|
39
41
|
|
|
40
|
-
|
|
42
|
+
Если research содержит подтверждённый ответ пользователя, не спрашивай повторно. Если есть только рекомендация агента, спрашивай в `recommend_and_ask` и `ask_each_time`.
|
|
41
43
|
|
|
42
|
-
|
|
44
|
+
Если задача меняет БД или API/внешний контракт, проверь, подтверждены ли конкретные схемы таблиц или API-контракты пользователем в текущем сообщении, правилах, архитектуре или research с подтверждённым ответом; если конкретные схемы БД или API-контракты не подтверждены явно, получи подтверждение пользователя и не проектируй таблицы и маршруты молча внутри Plan Mode.
|
|
45
|
+
|
|
46
|
+
Когда инструкция говорит `AskUserQuestion`, это блокирующий вопрос:
|
|
43
47
|
|
|
44
|
-
| Ключ | Значения | Что значит |
|
|
45
|
-
|---|---|---|
|
|
46
|
-
| `defaults.strict` | `true`, `false` | Включает или выключает строгий режим по умолчанию. |
|
|
47
|
-
| `defaults.plan_size` | `normal`, `short`, `ask_each_time` | Размер плана по умолчанию для `eda-plan`: обычный, короткий или спрашивать каждый раз. |
|
|
48
|
-
| `defaults.decision_mode` | `autonomous`, `recommend_and_ask`, `ask_each_time` | Как `eda-explore` и `eda-plan` закрывают существенные решения: сами, через рекомендацию с подтверждением или через вопрос по каждой значимой развилке. |
|
|
49
|
-
| `defaults.test_strategy` | `after_each_phase` | Тесты пишутся и запускаются после каждой фазы плана. |
|
|
50
|
-
| `defaults.test_strategy` | `tdd_each_phase` | В начале каждой фазы сначала пишутся тесты, затем код под них. |
|
|
51
|
-
| `defaults.test_strategy` | `end_of_plan` | Тесты пишутся в конце плана отдельной финальной фазой. |
|
|
52
|
-
| `defaults.test_strategy` | `ask_each_time` | В начале каждого планирования задай пользователю вопрос о стратегии тестов. |
|
|
53
|
-
| `defaults.logging_strategy` | `debug_precise` | Дебаг-логирование на каждом важном шаге для точной отладки. |
|
|
54
|
-
| `defaults.logging_strategy` | `standard` | Стандартные `info`, `warning`, `error` там, где это нужно для эксплуатации и диагностики. |
|
|
55
|
-
| `defaults.logging_strategy` | `ask_each_time` | В начале каждого планирования задай пользователю вопрос о стратегии логирования. |
|
|
56
|
-
|
|
57
|
-
Если `defaults.plan_size` отсутствует или неизвестен, считай его `normal`. Если настройка равна `ask_each_time`, в начале каждого планирования задай пользователю вопрос о размере плана.
|
|
58
|
-
|
|
59
|
-
Если `defaults.decision_mode` отсутствует или неизвестен, считай его `recommend_and_ask`.
|
|
60
|
-
|
|
61
|
-
Если `defaults.test_strategy` или `defaults.logging_strategy` отсутствует или неизвестен, считай его `ask_each_time`.
|
|
62
|
-
|
|
63
|
-
В самом начале составления плана, после чтения текущего сообщения и `docs/settings.yaml`, но до Plan Mode и до содержательного планирования, зафиксируй:
|
|
64
|
-
- размер плана;
|
|
65
|
-
- режим принятия решений;
|
|
66
|
-
- стратегию тестов;
|
|
67
|
-
- стратегию логирования.
|
|
68
|
-
|
|
69
|
-
Если в `defaults.plan_size`, `defaults.test_strategy` или `defaults.logging_strategy` стоит `ask_each_time`, задай блокирующий `AskUserQuestion` с вариантами для этой настройки. Если пользователь уже явно выбрал размер плана или стратегию в текущем сообщении, используй её без дополнительного вопроса.
|
|
70
|
-
|
|
71
|
-
Варианты вопроса про размер плана:
|
|
72
|
-
1. `normal` — обычный план без искусственного ограничения по количеству фаз.
|
|
73
|
-
2. `short` — короткий план на 1–2 фазы для локальной правки.
|
|
74
|
-
|
|
75
|
-
Варианты вопроса про тесты:
|
|
76
|
-
1. `after_each_phase` — писать и запускать тесты после каждой фазы.
|
|
77
|
-
2. `tdd_each_phase` — начинать каждую фазу с тестов, затем писать код.
|
|
78
|
-
3. `end_of_plan` — писать тесты в конце плана отдельной фазой.
|
|
79
|
-
|
|
80
|
-
Варианты вопроса про логирование:
|
|
81
|
-
1. `debug_precise` — дебаг-логи в каждом важном шаге для точной отладки.
|
|
82
|
-
2. `standard` — `info`, `warning`, `error` там, где это нужно.
|
|
83
|
-
|
|
84
|
-
Выбранные значения передай в Plan Mode и обязательно зафиксируй в финальном плане в YAML-шапке, `Принятых решениях`, `Фазах выполнения`, `Тестах` и `Логировании`.
|
|
85
|
-
|
|
86
|
-
## Режим принятия решений
|
|
87
|
-
|
|
88
|
-
`decision_mode: autonomous` — агент сам выбирает по коду, правилам, архитектуре, источникам и рискам, затем записывает причину.
|
|
89
|
-
|
|
90
|
-
`decision_mode: recommend_and_ask` — дефолт. Агент исследует варианты, рекомендует один, но по существенным решениям задаёт блокирующий вопрос до Plan Mode или до финализации.
|
|
91
|
-
|
|
92
|
-
`decision_mode: ask_each_time` — агент спрашивает по каждой значимой развилке, даже если есть сильная рекомендация.
|
|
93
|
-
|
|
94
|
-
Существенные решения — это решения, которые меняют архитектуру, зависимости, стоимость, безопасность, эксплуатацию или будущую миграцию проекта. Всегда считай существенными:
|
|
95
|
-
- выбор нового пакета, библиотеки, фреймворка, SDK, CLI или сервиса;
|
|
96
|
-
- выбор базы данных, ORM/query builder, очереди, кэша, storage, search, background jobs;
|
|
97
|
-
- миграции данных, изменение схемы, формат хранения или стратегия совместимости;
|
|
98
|
-
- новые или изменённые схемы таблиц: поля, типы, связи, индексы, уникальные ограничения;
|
|
99
|
-
- новые или изменённые API/внешние контракты: маршруты, auth/permissions, request/query/body, response, ошибки и статус-коды;
|
|
100
|
-
- auth, permissions, payments, crypto, secrets, персональные данные и другие security-sensitive решения;
|
|
101
|
-
- cloud/provider choices, managed services, лицензии, cost/lock-in и SLA;
|
|
102
|
-
- архитектурные паттерны, затрагивающие несколько модулей или публичные контракты.
|
|
103
|
-
|
|
104
|
-
Если research уже содержит вопрос и ответ пользователя по конкретному существенному решению, используй этот ответ без повторного вопроса. Если research содержит только рекомендацию или выбор агента без ответа пользователя, в `recommend_and_ask` и `ask_each_time` спроси подтверждение до Plan Mode.
|
|
105
|
-
|
|
106
|
-
## Главные правила
|
|
107
|
-
|
|
108
|
-
1. **Никаких правок кода.** Запись только в `docs/plans/`.
|
|
109
|
-
2. **Интерактивные вопросы** — по разделу ниже.
|
|
110
|
-
3. **`docs/rules.md` и `docs/arch.md` — обязательная рамка планирования, а не справочный контекст.** Перед Plan Mode прочитай оба файла, если они есть, выдели применимые к задаче правила и архитектурные ограничения и передай их в Plan Mode как обязательные требования. Финальный план должен строго следовать этим правилам и архитектуре.
|
|
111
|
-
4. **Конфликт с рамкой проекта блокирует финализацию.** Если запрос пользователя, research, черновик Plan Mode или отдельное решение противоречит `docs/rules.md` или `docs/arch.md`, не скрывай конфликт и не сохраняй план как готовый. Остановись и задай `AskUserQuestion`: изменить подход под правила/архитектуру, изменить сами правила/архитектуру отдельной задачей или прервать планирование.
|
|
112
|
-
5. **Plan Mode — главный инструмент.** Он даёт содержательный черновик, но финальный файл обязан быть нормализован в формат этого скилла.
|
|
113
|
-
6. **Не переформулируй запрос пользователя** перед Plan Mode. Уйдёт оригинал + ответы на уточнения. Своя цель/критерии разводят смысл.
|
|
114
|
-
7. **План сохраняется в файл до любой верификации** — иначе ревьюеру нечего читать.
|
|
115
|
-
8. **Максимально простой язык.** Пиши план так, чтобы его понял человек без глубокого погружения в код. Избегай жаргона, сокращений и внутренних названий без необходимости. Термины используй только когда без них нельзя точно донести смысл, и сразу объясняй их простыми словами.
|
|
116
|
-
9. **Диаграммы — желательно, не любой ценой.** Линейный план — диаграмма не нужна.
|
|
117
|
-
10. **Таблицы > сплошной текст** для структурируемых данных.
|
|
118
|
-
11. **Финальный план — не исследование.** Исследовательские факты идут в контекст, выбранные подходы — в решения, исполнимые шаги — в фазы.
|
|
119
|
-
12. **Не оставляй неоднозначности.** Если в плане остаётся «выбрать», «решить», «можно так или так», «предпочтительно» — задай вопрос до финализации или зафиксируй одно принятое решение. Существенные решения фиксируй только по правилам `decision_mode`.
|
|
120
|
-
13. **Версии пакетов и ПО проверяй до планирования.** Если для задачи нужно устанавливать пакет, библиотеку, сервис, CLI или другое ПО, а версия не указана в контексте, используй `context7`, если он доступен, или веб-поиск, чтобы найти актуальную последнюю стабильную версию. Зафиксируй найденную версию и источник в контексте/решениях плана. Не оставляй в плане «установить latest» без конкретной версии.
|
|
121
|
-
|
|
122
|
-
## Размер плана
|
|
123
|
-
|
|
124
|
-
`plan_size: normal` — обычный план без искусственного ограничения по количеству фаз.
|
|
125
|
-
|
|
126
|
-
`plan_size: short` — план для небольшой фичи или локальной правки, которую можно легко отревьюить за один проход.
|
|
127
|
-
|
|
128
|
-
Ограничения `short`:
|
|
129
|
-
- 1–2 фазы максимум;
|
|
130
|
-
- ориентир: до 5–10 затронутых файлов;
|
|
131
|
-
- ориентир: до 400 строк осмысленного diff;
|
|
132
|
-
- изменения должны быть локальными и понятными для ревью за один проход;
|
|
133
|
-
- если файлов больше 10, но изменения однотипные и маленькие, `short` допустим только если это явно объяснено в плане;
|
|
134
|
-
- сгенерированные файлы, lock-файлы, форматирование и механические snapshot-обновления не считаются как основной объём, но должны быть отдельно перечислены.
|
|
135
|
-
|
|
136
|
-
Если по контексту видно, что задача не укладывается в `short`:
|
|
137
|
-
- не составляй и не сохраняй `short`-план;
|
|
138
|
-
- коротко объясни, почему `short` не подходит;
|
|
139
|
-
- напиши примерную оценку: сколько фаз и какой крупный объём нужен;
|
|
140
|
-
- задай блокирующий вопрос: продолжать в `normal` или сузить задачу до `short`;
|
|
141
|
-
- жди ответа пользователя.
|
|
142
|
-
|
|
143
|
-
## Интерактивные вопросы
|
|
144
|
-
|
|
145
|
-
Когда инструкция говорит `AskUserQuestion`, это означает блокирующий интерактивный вопрос.
|
|
146
48
|
- Claude Code: используй `AskUserQuestion`.
|
|
147
|
-
- Codex interactive: если доступен `request_user_input`, используй
|
|
148
|
-
- Codex exec /
|
|
149
|
-
- Не запускай команды, которые ждут интерактивного
|
|
49
|
+
- Codex interactive: если доступен `request_user_input`, используй его; иначе задай один короткий вопрос в чат с вариантами 1–3 и остановись до ответа.
|
|
50
|
+
- Codex exec / non-interactive: не читай stdin; если без ответа нельзя безопасно продолжать, заверши со статусом `blocked: нужен ответ пользователя`, перечисли вопросы и варианты.
|
|
51
|
+
- Не запускай команды, которые ждут интерактивного ввода.
|
|
52
|
+
|
|
53
|
+
## Обязательные правила
|
|
54
|
+
|
|
55
|
+
1. Никаких правок кода, миграций, конфигов и зависимостей. Запись только в `docs/plans/`.
|
|
56
|
+
2. `docs/rules.md` и `docs/arch.md` — обязательная рамка планирования, а не справочный контекст. Прочитай их, выдели применимые правила и архитектурные ограничения, передай их в Plan Mode как обязательные требования.
|
|
57
|
+
3. Если запрос, research, черновик Plan Mode или шаг плана конфликтует с `docs/rules.md` или `docs/arch.md`, не финализируй план. Спроси: адаптировать подход под правила/архитектуру, изменить правила/архитектуру отдельной задачей или прервать планирование.
|
|
58
|
+
4. Не переформулируй запрос пользователя перед Plan Mode: передавай оригинал, ответы на вопросы и найденную рамку.
|
|
59
|
+
5. План сохраняется до мета-ревью, иначе ревьюерам нечего читать.
|
|
60
|
+
6. Финальный план должен быть простым, исполнимым и без альтернатив вида «выбрать», «решить», «можно так или так», «предпочтительно».
|
|
61
|
+
7. Если нужны пакеты, библиотеки, CLI, сервисы или другое ПО, а версия не указана в контексте или lock/config-файлах, найди последнюю стабильную версию через context7 или web search по официальным источникам. Не пиши `latest` без конкретной версии и источника.
|
|
62
|
+
8. Если `plan_size: short` не укладывается в ограничения, не сохраняй short-план: объясни причину, оцени нужный объём и спроси, продолжать в `normal` или сузить задачу.
|
|
150
63
|
|
|
151
64
|
## Этапы
|
|
152
65
|
|
|
153
|
-
### 1.
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
- если
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
- если значение отсутствует или неизвестно — `recommend_and_ask`.
|
|
167
|
-
|
|
168
|
-
Прочитай `docs/rules.md`, `docs/arch.md` (если есть) и строго следуй им при планировании. Выдели применимые правила и архитектурные ограничения: команды проверки, требования к тестам, границы модулей, зависимости, API, миграции, безопасность, документацию и локальные запреты. Передай эту рамку в Plan Mode как обязательные требования, а не как справочный контекст.
|
|
169
|
-
|
|
170
|
-
Если задача, research или очевидный подход конфликтует с `docs/rules.md` или `docs/arch.md`, остановись до Plan Mode и задай `AskUserQuestion`: изменить подход под правила/архитектуру, изменить сами правила/архитектуру отдельной задачей или прервать планирование.
|
|
171
|
-
|
|
172
|
-
Research подтягивай так:
|
|
173
|
-
- если в сообщении указан путь к `docs/researches/...` или другой research-файл — прочитай его без вопроса;
|
|
174
|
-
- если в сообщении есть описание задачи без research-файла — используй описание как контекст и не спрашивай research автоматически;
|
|
175
|
-
- если пользователь явно просит использовать research, но файл не указал — через `AskUserQuestion` выбери из последних файлов `docs/researches/` + опция «нет»;
|
|
176
|
-
- если `docs/researches/` отсутствует или пуста, а research явно нужен — сообщи об этом и продолжай без research, если задачи достаточно; если без research нельзя безопасно планировать, задай один блокирующий вопрос;
|
|
177
|
-
- если текста задачи нет совсем — спроси через `AskUserQuestion`, что нужно планировать.
|
|
178
|
-
|
|
179
|
-
Если из задачи следует установка пакетов или ПО:
|
|
180
|
-
- проверь, указана ли версия в сообщении пользователя, правилах, архитектуре, research или существующих lock/config-файлах;
|
|
181
|
-
- если версия не указана, используй `context7`, если он доступен, или веб-поиск по официальным источникам, чтобы найти последнюю стабильную версию;
|
|
182
|
-
- сохрани название, выбранную версию и источник — это пойдёт в Plan Mode и финальный план;
|
|
183
|
-
- если источники противоречат друг другу или последняя версия нестабильна/preview, задай блокирующий вопрос.
|
|
184
|
-
|
|
185
|
-
До Plan Mode закрой существенные решения:
|
|
186
|
-
- выпиши существенные развилки, которые следуют из задачи и контекста;
|
|
187
|
-
- если research содержит подтверждённый ответ пользователя по развилке — используй его и запиши как подтверждённое решение;
|
|
188
|
-
- если задача меняет БД или API/внешний контракт, проверь, подтверждены ли конкретные схемы таблиц или API-контракты пользователем в текущем сообщении, правилах, архитектуре или research с подтверждённым ответом пользователя;
|
|
189
|
-
- если конкретные схемы БД или API-контракты не подтверждены явно, до Plan Mode задай блокирующий вопрос и получи подтверждение пользователя; не проектируй таблицы и маршруты молча внутри Plan Mode;
|
|
190
|
-
- если `decision_mode: autonomous` и выбор можно обосновать кодом, правилами, архитектурой, источниками и рисками — выбери сам и запиши почему;
|
|
191
|
-
- если `decision_mode: recommend_and_ask` — задай `AskUserQuestion`: 2–3 варианта, первым рекомендованный, короткая причина рекомендации, вариант «свой вариант», фраза «Я продолжу только после ответа.»;
|
|
192
|
-
- если `decision_mode: ask_each_time` — задай `AskUserQuestion` по каждой значимой развилке, даже при сильной рекомендации;
|
|
193
|
-
- если выбор зависит только от пользователя — задай `AskUserQuestion` в любом режиме.
|
|
194
|
-
|
|
195
|
-
Не запускай Plan Mode, пока в `recommend_and_ask` или `ask_each_time` есть неподтверждённое существенное решение. Например, если нужен пакет для базы данных, сначала сравни 2–3 варианта и получи подтверждение выбора БД/пакета.
|
|
196
|
-
|
|
197
|
-
Если `plan_size: short`, до Plan Mode оцени задачу по найденному контексту:
|
|
198
|
-
- можно ли уложиться в 1–2 фазы;
|
|
199
|
-
- ожидается ли не больше 5–10 затронутых файлов или есть понятное объяснение для большего числа маленьких однотипных правок;
|
|
200
|
-
- ожидается ли не больше 400 строк осмысленного diff;
|
|
201
|
-
- можно ли будет отревьюить изменения за один проход.
|
|
202
|
-
|
|
203
|
-
Если ответ «нет» хотя бы по одному пункту, остановись по правилам раздела `Размер плана`.
|
|
204
|
-
|
|
205
|
-
### 2. Зафиксировать стратегии тестов и логирования
|
|
206
|
-
Это обязательный ранний шаг. Выполни его до содержательных уточнений и до Plan Mode.
|
|
207
|
-
|
|
208
|
-
Определи `test_strategy`:
|
|
209
|
-
- если пользователь явно указал стратегию тестов в текущем сообщении — используй её;
|
|
210
|
-
- иначе возьми `defaults.test_strategy` из `docs/settings.yaml`;
|
|
211
|
-
- если значение равно `ask_each_time`, отсутствует или неизвестно — задай `AskUserQuestion` с тремя вариантами: `after_each_phase`, `tdd_each_phase`, `end_of_plan`.
|
|
212
|
-
|
|
213
|
-
Определи `logging_strategy`:
|
|
214
|
-
- если пользователь явно указал стратегию логирования в текущем сообщении — используй её;
|
|
215
|
-
- иначе возьми `defaults.logging_strategy` из `docs/settings.yaml`;
|
|
216
|
-
- если значение равно `ask_each_time`, отсутствует или неизвестно — задай `AskUserQuestion` с двумя вариантами: `debug_precise`, `standard`.
|
|
217
|
-
|
|
218
|
-
Сохрани итоговые значения как обязательные входные данные Plan Mode.
|
|
219
|
-
|
|
220
|
-
Как отражать `test_strategy` в плане:
|
|
221
|
-
- `after_each_phase` — в каждой фазе есть шаги написания/обновления тестов после реализации и проверка запуском этих тестов;
|
|
222
|
-
- `tdd_each_phase` — каждая фаза начинается с тестов, затем идут изменения кода, затем запуск тестов;
|
|
223
|
-
- `end_of_plan` — в фазах реализации не планируй написание тестов, кроме технически неизбежных; добавь отдельную финальную фазу написания и запуска тестов по всем ключевым сценариям.
|
|
224
|
-
|
|
225
|
-
Как отражать `logging_strategy` в плане:
|
|
226
|
-
- `debug_precise` — запланируй дебаг-логи на каждом важном шаге целевого алгоритма, с идентификаторами операций и без секретов/персональных данных;
|
|
227
|
-
- `standard` — запланируй только необходимые `info`, `warning`, `error` для эксплуатации, ошибок и важных переходов состояния, без лишнего debug-шума.
|
|
228
|
-
|
|
229
|
-
### 3. Уточнить, если есть неясность
|
|
230
|
-
Не переформулируй запрос. Если есть конкретная неясность, без которой планировать нельзя — задай 1–4 точечных вопроса через `AskUserQuestion`. Не задавай «на всякий случай». Пары «вопрос → ответ» сохрани — они идут в Plan Mode.
|
|
231
|
-
|
|
232
|
-
### 4. Спланировать через Plan Mode
|
|
233
|
-
Войди в Plan Mode хост-агента (`EnterPlanMode` в Claude Code, встроенный план-режим в Codex). На вход:
|
|
66
|
+
### 1. Собрать контекст
|
|
67
|
+
|
|
68
|
+
- Разбери текущий вход и настройки.
|
|
69
|
+
- Прочитай `docs/rules.md`, `docs/arch.md`, если они есть; выпиши применимые команды проверки, требования к тестам, границы модулей, зависимости, API, миграции, безопасность, документацию и локальные запреты.
|
|
70
|
+
- Research подтягивай без вопроса, если путь указан; если в сообщении есть описание задачи без research-файла — используй описание как контекст и не спрашивай research автоматически. Если пользователь явно просит research, но файл не указал, предложи последние файлы из `docs/researches/` и вариант «нет».
|
|
71
|
+
- Проверь версии нужных пакетов/ПО, если они не зафиксированы в запросе, правилах, архитектуре, research или lock/config-файлах.
|
|
72
|
+
- Закрой существенные решения по `decision_mode`.
|
|
73
|
+
- Для `short` оцени число фаз, файлов, строк diff и ревьюируемость за один проход.
|
|
74
|
+
|
|
75
|
+
### 2. Запустить Plan Mode
|
|
76
|
+
|
|
77
|
+
Передай в Plan Mode:
|
|
78
|
+
|
|
234
79
|
1. Дословный запрос пользователя.
|
|
235
|
-
2.
|
|
236
|
-
3.
|
|
237
|
-
4.
|
|
238
|
-
5.
|
|
239
|
-
6.
|
|
240
|
-
7.
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
14. Инструкция: «не добавляй неподтверждённые существенные решения в финальный план; если они возникли внутри Plan Mode, остановись и спроси пользователя».
|
|
248
|
-
|
|
249
|
-
Не выходи, пока пользователь не подтвердил план.
|
|
250
|
-
|
|
251
|
-
### 5. Сохранить файл
|
|
252
|
-
Перед сохранением нормализуй подтверждённый черновик Plan Mode в обязательную структуру. Смысл решений не меняй без вопроса пользователю, но форму, порядок и ясность правь обязательно.
|
|
253
|
-
|
|
254
|
-
Финальный план должен быть пригоден для `eda-execute` без дополнительного исследования. Структура файла `docs/plans/{YYYY-MM-DD}_{HH-MM}_{slug}.md`:
|
|
80
|
+
2. `plan_size`, `decision_mode`, `test_strategy`, `logging_strategy`.
|
|
81
|
+
3. Все подтверждённые существенные решения и пары «вопрос → ответ».
|
|
82
|
+
4. Найденные версии пакетов/ПО и источники.
|
|
83
|
+
5. Пути к `docs/rules.md`, `docs/arch.md`, research и выписку применимых правил.
|
|
84
|
+
6. Требование: план строго следует `docs/rules.md` и `docs/arch.md`; при конфликте остановиться и спросить пользователя.
|
|
85
|
+
7. Требование: финальный план нормализуется в структуру ниже, не смешивает исследование с исполнением и не добавляет неподтверждённые существенные решения.
|
|
86
|
+
|
|
87
|
+
Не выходи из Plan Mode, пока пользователь не подтвердил план.
|
|
88
|
+
|
|
89
|
+
### 3. Нормализовать и сохранить
|
|
90
|
+
|
|
91
|
+
Сохрани подтверждённый план в `docs/plans/{YYYY-MM-DD}_{HH-MM}_{slug}.md`. Смысл решений не меняй без вопроса, но форму, порядок и ясность правь обязательно.
|
|
255
92
|
|
|
256
93
|
```markdown
|
|
257
94
|
---
|
|
@@ -280,175 +117,120 @@ sources:
|
|
|
280
117
|
Факты из кода, правил, архитектуры и исследований. Здесь можно объяснять причины, но не хранить исполнимые шаги.
|
|
281
118
|
|
|
282
119
|
## Принятые решения
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
Если `plan_size: short`, добавь решение про ожидаемый объём: сколько фаз, сколько примерно файлов и строк осмысленного diff.
|
|
120
|
+
Выбранные архитектурные и продуктовые решения без вариантов. Для существенных решений укажи источник подтверждения: ответ пользователя, research с ответом пользователя или `decision_mode: autonomous` с причиной. Для `short` укажи ожидаемый объём.
|
|
286
121
|
|
|
287
122
|
## Целевой алгоритм
|
|
288
|
-
|
|
123
|
+
Сквозное поведение системы от входного события до финального состояния.
|
|
289
124
|
|
|
290
125
|
## Контракты реализации
|
|
291
126
|
|
|
292
127
|
### Данные и БД
|
|
293
|
-
Если БД не меняется: `Не затрагивается`.
|
|
294
|
-
|
|
295
|
-
Если меняется, явно укажи таблицы, поля, типы, обязательность, default, связи, индексы, уникальные ограничения, миграции и совместимость со старыми данными. Backfill и rollback укажи, если они нужны.
|
|
128
|
+
Если БД не меняется: `Не затрагивается`. Если меняется, укажи таблицы, поля, типы, обязательность, default, связи, индексы, unique, миграции, совместимость со старыми данными, backfill и rollback при необходимости.
|
|
296
129
|
|
|
297
130
|
### API и внешние контракты
|
|
298
|
-
Если API и внешние контракты не меняются: `Не затрагивается`.
|
|
299
|
-
|
|
300
|
-
Если меняются, явно укажи метод и путь, auth/permissions, request/query/body, response, ошибки и статус-коды. Webhooks, events, queues и внешние сервисы укажи, если они есть.
|
|
131
|
+
Если API и внешние контракты не меняются: `Не затрагивается`. Если меняются, укажи метод и путь, auth/permissions, request/query/body, response, ошибки/status codes, webhooks/events/queues/внешние сервисы при наличии.
|
|
301
132
|
|
|
302
133
|
## Фазы выполнения
|
|
303
134
|
|
|
304
135
|
### 1. <Название фазы>
|
|
305
|
-
Цель:
|
|
136
|
+
Цель: <зачем нужна фаза>.
|
|
306
137
|
|
|
307
138
|
Что сделать:
|
|
308
|
-
-
|
|
139
|
+
- <конкретные шаги>
|
|
309
140
|
|
|
310
|
-
Результат:
|
|
141
|
+
Результат: <готовое состояние>.
|
|
311
142
|
|
|
312
143
|
Сценарии тестирования:
|
|
313
|
-
-
|
|
144
|
+
- <сценарии>
|
|
314
145
|
|
|
315
146
|
Проверка:
|
|
316
|
-
-
|
|
147
|
+
- <команда или критерий>
|
|
317
148
|
|
|
318
149
|
## Тесты
|
|
319
|
-
Стратегия:
|
|
150
|
+
Стратегия: <как применён test_strategy>.
|
|
320
151
|
|
|
321
152
|
## Логирование
|
|
322
|
-
Стратегия:
|
|
153
|
+
Стратегия: <как применён logging_strategy>.
|
|
323
154
|
|
|
324
155
|
## Документация и эксплуатация
|
|
325
156
|
Что обновить в env/docs/runbook и что важно для релиза.
|
|
326
157
|
```
|
|
327
158
|
|
|
328
159
|
Правила структуры:
|
|
329
|
-
|
|
330
|
-
-
|
|
331
|
-
- Риски не выносятся в отдельный обязательный раздел. Закрытые риски из research, контекста и мета-ревью должны быть встроены туда, где они исполняются: в `Принятые решения`, фазы, сценарии тестирования, проверки, логирование или эксплуатационные шаги.
|
|
332
|
-
- Существенные решения в `Принятых решениях` имеют источник подтверждения или явное обоснование автономного выбора.
|
|
333
|
-
- В `Целевой алгоритм` попадает сквозная картина процесса.
|
|
334
|
-
- В `Контракты реализации` попадают схемы данных, БД, API и внешние контракты. Если область не затрагивается, напиши `Не затрагивается`.
|
|
335
|
-
- Если план меняет БД, `Данные и БД` обязаны явно описывать таблицы, поля, типы, обязательность/default, связи, индексы/unique, миграции и совместимость со старыми данными.
|
|
336
|
-
- Если план меняет API или внешний контракт, `API и внешние контракты` обязаны явно описывать method/path, auth/permissions, request/query/body, response, ошибки/status codes и внешние каналы при наличии.
|
|
337
|
-
- В `Фазы выполнения` попадают только исполнимые шаги.
|
|
338
|
-
- Каждая фаза обязана иметь `Цель`, `Что сделать`, `Результат`, `Сценарии тестирования`, `Проверка`.
|
|
339
|
-
- В фазах нельзя ограничиваться общими формулировками вроде «обновить UI», «добавить сервис», «реализовать логику». Если фаза затрагивает UI, опиши пользовательский сценарий, состояния успеха/ошибки и видимый результат. Если фаза затрагивает внутреннюю логику, опиши ответственность изменяемых частей, поток данных, новые состояния/ошибки и существующие места, которые нужно адаптировать.
|
|
160
|
+
|
|
161
|
+
- Риски не выносятся в отдельный обязательный раздел; закрытые риски встраиваются в решения, фазы, сценарии тестирования, проверки, логирование или эксплуатацию.
|
|
340
162
|
- Отдельный раздел порядка выполнения не нужен: линейный порядок задаётся номерами фаз и шагами внутри фаз.
|
|
341
|
-
-
|
|
342
|
-
-
|
|
343
|
-
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
- есть `Целевой алгоритм`;
|
|
349
|
-
- есть `Контракты реализации` с подразделами `Данные и БД` и `API и внешние контракты`;
|
|
163
|
+
- В `Контракты реализации` попадают схемы данных, БД, API и внешние контракты; если область не затрагивается, напиши `Не затрагивается`.
|
|
164
|
+
- В фазах нельзя ограничиваться общими формулировками вроде «обновить UI», «добавить сервис», «реализовать логику». Для UI опиши пользовательский сценарий, состояния успеха/ошибки и видимый результат; для внутренней логики — ответственность частей, поток данных, состояния и ошибки.
|
|
165
|
+
- Если нужен раздел `Открытые вопросы`, оставь `status: draft`, сохрани файл и не запускай мета-ревью до ответа пользователя.
|
|
166
|
+
|
|
167
|
+
Quality gate перед сохранением и после мета-ревью:
|
|
168
|
+
|
|
169
|
+
- есть `Целевой алгоритм` и `Контракты реализации` с подразделами `Данные и БД`, `API и внешние контракты`;
|
|
350
170
|
- план строго следует `docs/rules.md` и `docs/arch.md`;
|
|
351
|
-
-
|
|
352
|
-
-
|
|
353
|
-
-
|
|
354
|
-
-
|
|
355
|
-
-
|
|
356
|
-
-
|
|
357
|
-
-
|
|
358
|
-
- UI и внутренняя логика в фазах описаны через конкретное поведение, поток данных, состояния и ошибки, если задача их затрагивает;
|
|
359
|
-
- нет неразрешённых формулировок «выбрать», «решить», «можно так или так», «предпочтительно», «при необходимости»;
|
|
360
|
-
- текст написан простым языком: без лишнего жаргона, непояснённых сокращений и тяжёлых терминов;
|
|
361
|
-
- мета-уровень не смешан с шагами исполнения;
|
|
362
|
-
- стратегия тестов зафиксирована в разделе `Тесты` и последовательно применена в фазах, сценариях тестирования и проверках;
|
|
363
|
-
- стратегия логирования зафиксирована и последовательно применена в алгоритме, фазах и разделе `Логирование`;
|
|
364
|
-
- тесты связаны с ключевыми сценариями и закрытыми рисками из research/контекста, если такие риски есть;
|
|
365
|
-
- если `plan_size: short`, фаз не больше 2, ожидаемый объём укладывается в ориентиры short или исключение явно объяснено;
|
|
366
|
-
- все пакеты/ПО, которые нужно установить, имеют конкретные версии или явное объяснение, почему версия берётся из существующего lock/config-файла;
|
|
367
|
-
- нет неподтверждённых существенных решений при `decision_mode: recommend_and_ask` или `decision_mode: ask_each_time`;
|
|
171
|
+
- нет конфликтов с правилами, архитектурой, границами модулей, API, миграциями, зависимостями и командами проверки;
|
|
172
|
+
- БД/API изменения описаны конкретно, а не общими словами;
|
|
173
|
+
- каждая фаза имеет цель, шаги, результат, сценарии тестирования и проверку;
|
|
174
|
+
- `test_strategy` и `logging_strategy` применены в фазах и отдельных разделах;
|
|
175
|
+
- для `short` не больше 2 фаз и явно указан ожидаемый объём;
|
|
176
|
+
- пакеты/ПО имеют конкретные версии или ссылку на существующий lock/config;
|
|
177
|
+
- нет неподтверждённых существенных решений и неразрешённых альтернатив;
|
|
368
178
|
- план можно передать в `eda-execute` без нового исследования.
|
|
369
179
|
|
|
370
|
-
|
|
180
|
+
### 4. Мета-ревью тремя субагентами/моделями
|
|
371
181
|
|
|
372
|
-
|
|
373
|
-
Запусти **в одном сообщении и одним batch** трёх агентов на трёх разных моделях — слабая, средняя, мощная. В интерактивном Codex это означает субагентов, а не отдельные процессы `codex exec`. Не запускай сначала одного-двух, не жди их ответы и не запускай третьего позже: все три проверки должны стартовать до чтения любого результата.
|
|
182
|
+
Запусти три проверки параллельно, в одном batch, до чтения любого результата. Главный планировщик сам решает, что применять; предложения не вставляются механически.
|
|
374
183
|
|
|
375
|
-
| Среда |
|
|
184
|
+
| Среда | Быстрая | Кодовая | Флагман |
|
|
376
185
|
|---|---|---|---|
|
|
377
|
-
| Claude Code (`Agent` tool) | `
|
|
186
|
+
| Claude Code (`Agent` tool) | `haiku` | `sonnet` | `opus` |
|
|
378
187
|
| Codex interactive (`spawn_agent`) | `gpt-5.4-mini` | `gpt-5.3-codex` | `gpt-5.5` |
|
|
379
|
-
| Codex exec / non-interactive fallback
|
|
380
|
-
|
|
381
|
-
В Claude Code запускай три параллельных `Agent` tool в одном ответе/tool-use batch с моделями из таблицы и передавай им промпты нужной глубины из таблицы ниже.
|
|
382
|
-
|
|
383
|
-
В интерактивном Codex, если доступен инструмент субагентов (`spawn_agent` или аналог), запускай три параллельных субагента через него. Не используй отдельные `codex exec` для обычного мета-ревью, когда субагенты доступны.
|
|
384
|
-
|
|
385
|
-
В `codex exec`, другом неинтерактивном режиме или Codex без инструмента субагентов используй fallback: три параллельных `codex exec --model <id>` одной Bash-командой с `&` и общим `wait`.
|
|
386
|
-
|
|
387
|
-
Если `gpt-5.5` недоступен (ограничение account/auth) — возьми `gpt-5.4` как мощную. Если какой-либо идентификатор отсутствует у тебя — возьми ближайший аналог того же тира из доступных в твоей версии Codex.
|
|
188
|
+
| Codex exec / non-interactive fallback | `gpt-5.4-mini` | `gpt-5.3-codex` | `gpt-5.5` |
|
|
388
189
|
|
|
389
|
-
|
|
190
|
+
В интерактивном Codex, если доступен инструмент субагентов (`spawn_agent` или аналог), используй его. Не используй отдельные `codex exec` для обычного мета-ревью, когда субагенты доступны. В неинтерактивном fallback запускай три `codex exec --model <id>` параллельно одной Bash-командой с `&` и общим `wait`.
|
|
390
191
|
|
|
391
|
-
|
|
192
|
+
Промпт всем: прочитать план, `docs/rules.md`, `docs/arch.md`, research из `sources.research` при наличии и релевантный код по глубине модели. Найти пропущенные шаги, нарушения правил/архитектуры, скрытые риски, риски для смежного кода, недостающие тесты и шаги без критериев готовности. Формат ответа: `+ N | − N | ~ N: причина`; флагману явно скажи открывать файлы модулей, API, тестов и сценариев, на которые ссылается план.
|
|
392
193
|
|
|
393
|
-
|
|
394
|
-
|---|---|
|
|
395
|
-
| Слабая | Быстро проверить план, правила, архитектуру и исследование; код смотреть только точечно, если без этого нельзя оценить риск. |
|
|
396
|
-
| Средняя | Проверить план по исследованию и прочитать релевантные файлы/контракты, которые прямо следуют из плана; найти пропущенные шаги, зависимости и тесты. |
|
|
397
|
-
| Мощная | Провести глубокую проверку: прочитать план, правила, архитектуру, исследование и релевантный код настолько глубоко, чтобы подтвердить реализуемость шагов, совместимость со смежным кодом, нужные тесты и отсутствие скрытых архитектурных рисков. |
|
|
398
|
-
|
|
399
|
-
Базовый формат ответа для всех: `+ N | − N | ~ N: причина`, без воды. Для мощной модели добавь явную инструкцию: «Если план ссылается на модуль, API, тесты или сценарий, открой соответствующие файлы и проверь фактическую структуру проекта.»
|
|
400
|
-
|
|
401
|
-
Когда все три ответили — прочитай ответы, **сам реши**, что применять (не вставляй чужие пункты механически). Принятые замечания сначала интегрируй в основные разделы плана: решения, алгоритм, фазы, тесты, логирование, документацию и эксплуатацию. Не оставляй важные требования только в changelog.
|
|
402
|
-
|
|
403
|
-
После интеграции снова прогони quality gate из этапа 5. Затем допиши в конец короткий раздел:
|
|
194
|
+
После ответов интегрируй принятые замечания в основные разделы плана, снова прогони quality gate и добавь:
|
|
404
195
|
|
|
405
196
|
```markdown
|
|
406
197
|
## Изменения после мета-ревью
|
|
407
198
|
|
|
408
199
|
### После моделей
|
|
409
|
-
- **+ Добавлено:** 3–7 главных
|
|
410
|
-
- **~ Изменено:** 1–5
|
|
411
|
-
- **− Убрано:**
|
|
412
|
-
- **Отклонено:**
|
|
200
|
+
- **+ Добавлено:** <3–7 главных изменений>
|
|
201
|
+
- **~ Изменено:** <1–5 уточнений>
|
|
202
|
+
- **− Убрано:** <если удалено>
|
|
203
|
+
- **Отклонено:** <существенные отклонённые предложения и причина>
|
|
413
204
|
```
|
|
414
205
|
|
|
415
|
-
В YAML
|
|
206
|
+
В YAML поменяй `status: draft` на `meta-reviewed`, в `meta_reviewers` запиши модели.
|
|
416
207
|
|
|
417
|
-
###
|
|
418
|
-
Обычный режим — пропусти этапы 7–8, иди на финал.
|
|
208
|
+
### 5. Strict: кросс-CLI и допил
|
|
419
209
|
|
|
420
|
-
В `strict
|
|
210
|
+
Обычный режим пропускает этот этап. В `strict` отдай файл соседнему CLI:
|
|
421
211
|
|
|
422
212
|
```bash
|
|
423
213
|
codex exec "Прочитай $PLAN_FILE, docs/rules.md, docs/arch.md, связанное исследование из sources.research при наличии. Затем глубоко проверь план по релевантному коду: открой файлы, модули, API и тесты, которые следуют из плана, и оцени фактическую реализуемость. Критическое ревью на русском: пропущенные шаги, неучтённые зависимости, нарушения правил и архитектуры, скрытые риски, риски для смежного кода, недостающие тесты, шаги без критериев готовности. Список '- [тип] описание — что предлагаешь'." > "${PLAN_FILE%.md}_review.md"
|
|
424
214
|
```
|
|
425
215
|
|
|
426
|
-
Если ты в Codex — запускай
|
|
216
|
+
Если ты в Codex — запускай `claude -p` с тем же заданием. Если соседней CLI нет, спроси, продолжать без ревью или прервать.
|
|
427
217
|
|
|
428
|
-
|
|
429
|
-
claude -p "Прочитай $PLAN_FILE, docs/rules.md, docs/arch.md, связанное исследование из sources.research при наличии. Затем глубоко проверь план по релевантному коду: открой файлы, модули, API и тесты, которые следуют из плана, и оцени фактическую реализуемость. Критическое ревью на русском: пропущенные шаги, неучтённые зависимости, нарушения правил и архитектуры, скрытые риски, риски для смежного кода, недостающие тесты, шаги без критериев готовности. Список '- [тип] описание — что предлагаешь'." > "${PLAN_FILE%.md}_review.md"
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
Соседней CLI нет — `AskUserQuestion`: продолжать без ревью или прервать.
|
|
218
|
+
Бесспорные замечания внеси в план, спорные вынеси через `AskUserQuestion`, отклонённые зафиксируй с причиной в `## Реакция на ревью`. Поменяй `status: meta-reviewed` на `reviewed`, покажи дифф.
|
|
433
219
|
|
|
434
|
-
###
|
|
435
|
-
Бесспорные замечания → правишь сразу. Спорные → `AskUserQuestion`. Отклонённые → оставляешь, причина в журнал. В конец файла добавь раздел `## Реакция на ревью` (Принято / Отклонено / Спорное). Поменяй `status: meta-reviewed` → `reviewed`. Покажи дифф.
|
|
220
|
+
### 6. Финал
|
|
436
221
|
|
|
437
|
-
|
|
438
|
-
Короткое сообщение: режим, путь к плану, путь к ревью (если был `strict`), 3–5 главных шагов простыми словами, что предлагаешь дальше (но не делай — это `eda-execute`).
|
|
222
|
+
Коротко сообщи режим, путь к плану, путь к review-файлу в `strict`, 3–5 главных шагов простыми словами и что дальше делает `eda-execute`.
|
|
439
223
|
|
|
440
224
|
## Чего НЕ делать
|
|
441
|
-
|
|
225
|
+
|
|
226
|
+
- Править код, миграции, конфиги или зависимости.
|
|
442
227
|
- Считать `docs/rules.md` и `docs/arch.md` просто контекстом для ознакомления.
|
|
443
|
-
-
|
|
228
|
+
- Сохранять план, который противоречит правилам или архитектуре проекта.
|
|
444
229
|
- Обходить правило или архитектурное ограничение без явного решения пользователя.
|
|
445
|
-
- Задавать вопросы без блокировки и продолжать
|
|
230
|
+
- Задавать вопросы без блокировки и продолжать до ответа.
|
|
446
231
|
- Переформулировать запрос пользователя своими словами перед Plan Mode.
|
|
447
|
-
-
|
|
448
|
-
-
|
|
449
|
-
-
|
|
450
|
-
-
|
|
451
|
-
- Пропускать
|
|
452
|
-
- Запускать мета-ревьюеров частями: сначала 1–2 агента, потом третьего. Все три стартуют сразу.
|
|
453
|
-
- Вставлять предложения мета-ревьюеров механически — каждое решение принимаешь ты.
|
|
454
|
-
- Пропускать кросс-CLI молча в `strict` (если CLI нет — спроси).
|
|
232
|
+
- Сохранять сырой текст Plan Mode без нормализации.
|
|
233
|
+
- Оставлять финальный план исследованием, списком наблюдений или журналом мета-ревью.
|
|
234
|
+
- Смешивать альтернативы с принятыми решениями.
|
|
235
|
+
- Пропускать мета-ревью тремя моделями или запускать ревьюеров частями.
|
|
236
|
+
- Пропускать кросс-CLI молча в `strict`: если CLI нет, спроси.
|