5.3 KiB
| name | description | metadata | ||
|---|---|---|---|---|
| feedback-no-premature-implementation | Не трогать schema.sql/код, пока обсуждение фичи не согласовано целиком — фиксировать решения только в план-файле до явного запроса реализовать |
|
Пользователь прямо сказал: «ты же любишь в пекло лезть не обсудив сначала» — опасение, что при
обсуждении фичи (пример — разбивка операции на статьи, см. бюджет_текущий_план) я уже мог
незаметно поправить schema.sql или начать писать код, не дождавшись, пока обсуждение реально
закончится и будет явное «давай теперь пиши».
Why: Обсуждение бюджета идёт по частям, решения по одной фиче иногда меняются на лету (пример —
формульные статьи: сначала предполагалась дочерняя таблица transaction_items/сумма нескольких
источников дохода, потом это отклонили). Если параллельно с обсуждением редактировать schema.sql
или код, придётся откатывать реализацию под каждый разворот мысли — то же самое хуже: изменения в
реальной схеме/коде физически труднее откатить незаметно, чем строчку в план-файле.
How to apply: Пока фича обсуждается — фиксировать решения только в
.claude/memory/бюджет_текущий_план.md (план-файл, не код). Не трогать schema.sql,
App/Repositories/*, контроллеры и т.п. под эту фичу, пока пользователь явно не попросит начать
реализацию (не путать с уже завершённым слоем БД/фреймворка — там правки кода это часть текущей
явно запрошенной задачи, речь именно про фичу «Бюджет», которая всё ещё на стадии обсуждения).
Если непонятно, закончилось ли обсуждение — переспросить прямо, не действовать по умолчанию.
Второй кейс (2026-08-12, статьи/бюджет по месяцам): план (CategoriesController/BudgetsController
и т.д.) был согласован через ExitPlanMode («User has approved your plan. You can now start coding.»),
но следующим сообщением пользователь попросил только «обнови память нашего разговора запомни где
закончали» — я вместо этого сразу начал писать код (CategoryRepository::findActiveDuplicate() и
т.п.). Пользователь резко возмутился («нафига ты программируешь», «бля нухуя»). Затем при откате я
тоже полез редактировать файл, хотя просили только «память обнови просто и всё».
Why: Одобрение плана через ExitPlanMode — это разрешение начать реализацию в тот момент, а не
постоянный зелёный свет, который переживает любое следующее сообщение. Если следующее сообщение
пользователя — конкретная более узкая просьба («обнови память», «просто»), она отменяет собой более
широкий контекст одобренного плана для этого хода; план никуда не делся и остаётся выполнимым позже,
но не сейчас и не как «раз уж всё равно тут».
How to apply: Каждое сообщение выполнять буквально по объёму, даже если чуть раньше был одобрен
большой план и по логике «продолжения работы» напрашивается начать кодить. Если просьба — «просто
обнови память и всё» (особенно с усилением «просто»/«и всё»/раздражённым тоном) — трогать только
файлы памяти (.claude/memory/*), не открывать/не редактировать код вообще, включая «откат»
случайно сделанных правок — откат тоже правка кода, о которой не просили; если код уже случайно
изменён, спросить, откатывать ли, а не делать это самостоятельно.