# 61. Разведка и решение — два сценария одного скилла, а не два скилла (2026-08-11) Скилл `resolve` вёл обе работы одной цепочкой: у исследовательской задачи были свои три шага и свой чекпоинт вариантов, после которого она **вливалась в общую ветку** и продолжалась кодом. Разведка тем самым была не работой со своим исходом, а прологом к коду: её ответ оседал в `design.md` будущего change, и разведка, кончившаяся знанием, документов проекта не касалась вовсе. Сперва я развёл их на два скилла — `resolve` и `research`, с исходом и стопом с обеих сторон. Через час работы стало видно, чем это плохо: **классифицировать задачу приходится человеку до вызова**, а «есть ли у неё очевидный способ решения» видно только после чтения записи. Разделение переносило самое трудное суждение туда, где для него меньше всего данных. **Р213. Точка входа одна, сценария два, выбирает сценарий скилл.** Оба сценария живут справочниками — `references/solve.md` и `references/research.md`, — а в `SKILL.md` остались вход, развилка и правила, не зависящие от сценария. Тем же приёмом сложен скилл задач: общая часть в `SKILL.md`, алгоритм каждого типа в `references/task-*.md`. **Р214. Порознь и одинаково — это отдельное решение.** Сперва разведка уехала в справочник, а решение осталось в теле скилла: так вышло само, потому что решение там уже лежало. Асимметрия читается как старшинство — сценарий в теле выглядит основным, а сценарий в справочнике оговоркой, — и удерживает шестисотстрочный файл, который грузится целиком даже ради разведки. **Р215. Что у разведки появилось своего.** Исход — знание, а не пролог: ответ уезжает в документы канона (`av-dev-docs:docs`), задачи заводятся и уточняются (`av-dev-tasks:tasks`), написанное коммитится, запись закрывается. Кода сценарий не пишет вовсе. OpenSpec ему не нужен — это единственное место скилла, где тот не предпосылка. **Р216. Переход между сценариями — событие с названным исходом.** Решение, упёршееся в незнание способа, останавливается; разведка, выбравшая способ, доводится до конца и **не переходит в код тем же прогоном** — следующий запускает человек. Причина не в церемонии: разведка только что переписала постановку, и брать её в работу тем же заходом значит решать за человека, стоит ли делать это сейчас, — а это приоритет. **Р217. Канон пришлось тронуть, и это версия 14.** ADR цитировал только архивный `design.md`. У решения, принятого разведкой, `design.md` нет по построению — change по нему не будет никогда, — и такое решение либо не попадало в `adr/` вовсе, либо попадало сочинённым заново. Теперь источников два, и оба называются в записи. ## Что из этого следует **С204. Разделять работы стоит по моменту для человека, а не по роду работы.** У разведки и решения он разный: варианты обсуждают до первого требования, объяснение — после ревью дизайна. Всё остальное различие (пишем код или нет) из этого уже следует. **С205. Точку входа не разделяют по признаку, который виден только внутри.** Классификация, требующая прочитать запись, не может быть условием вызова: человек либо ошибётся, либо прочитает запись сам — и тогда скилл ему не нужен. **С206. Сценарий в справочнике дешевле скилла.** Скилл стоит описания, границ, копии правил и своего места в графе вызовов; справочник наследует их у хозяина. Заводить второй скилл имеет смысл, когда его зовут отдельно, а не когда он просто длинный. **С207. Равные сценарии лежат одинаково.** Оставить один в теле скилла, а второй вынести — значит назначить первому старшинство, которого в замысле нет. Читатель это старшинство считывает, даже когда о нём не сказано ни слова. **С208. Работа без своего исхода вырождается в пролог.** Разведка, кончавшаяся переходом к коду, не имела причины писать в документы: её ответ и так уезжал в `design.md`. Дом для исхода — вот что делает работу работой.