# 🔬 `research` — исход работы знание, а не изменение системы Ответ на вопрос, замер, разведка, проработка сырой мысли. Приёмка — **записанный ответ**, а не изменённый код. Общая форма записи (мета, слаг, строка индекса) — [task-format.md](task-format.md). Здесь только то, что у этого типа своё. ## Схема | | | | --- | --- | | Заголовок отвечает на | о чём разведка (предмет, а не действие) | | Обязательные разделы | `Вопрос`, `Куда ляжет ответ` | | Допустимые сверх того | `Рамки`, `Вопросы` | | Поле места | **Категория** — полка домена беклога | | Цель (`goal:<слаг>`) | нет | | Индекс | `BACKLOG.md` → `SPRINT.md` | | Берётся в спринт | да — **но только с заполненным «Вопросом»** | **Критериев приёмки у `research` нет, и это не поблажка.** Критерии в форме «оракул: тест» разведке натянуты: проверять нечего, пока ответа нет. Её приёмка описывается раздельно — вопрос, на который отвечаем, и место, куда ляжет ответ. **Заголовок формы действия не несёт намеренно.** Что делать, ещё неизвестно, и заголовок-действие обещал бы решённость, которой нет. «Подсказка следующего хода», а не «Сделать подсказку следующего хода». ## Этот тип вобрал прежний `[idea]` Тип `idea` упразднён. Он значил не род работы, а **состояние незаполненности** — «первый, второй или третий вопрос теста готовности не отвечается», — а состояние типом быть не может: оно меняется по мере того, как запись дописывают, а тип меняют командой. Теперь это состояние называется честно: **`research` без раздела «Вопрос» — это сырьё**. | | сырьё | разведка | | --- | --- | --- | | Раздел `Вопрос` | пуст или отсутствует | заполнен | | `sprint take` | отказ | берёт | | Место в секции беклога | **конец**, `check --fix` сносит туда сам | среди прочих | | `tasks.py list --raw` | показывает | нет | Порядка «по важности» в беклоге по-прежнему нет. Этот порядок **производен от типа и заполненности**, а не назначен человеком, — потому его и проверяет машина, и потому он не противоречит правилу «порядка нет, есть цель». Сырьём заводится и **сырая функция**: «Подсказка следующего хода» — ещё не `feature`, потому что неизвестно, что именно делать. Работа над ней — думание, и её исход — либо задачи, либо отказ. ## Алгоритм 1. **Записать вопрос одной фразой.** Не тему, а вопрос: не «Разобраться с выводом в терминалах», а «Какими символами рамки печатаются одинаково в Терминале, iTerm и `tmux`». Вопроса ещё нет — запись заводится сырьём и лежит в конце секции, пока вопрос не появится. 2. **Назвать, куда ляжет ответ**: `docs/research/<тема>.md`, ADR, тело этой задачи. Место называется **заранее**, иначе ответ остаётся в переписке, а через квартал разведку заказывают заново. 3. **Ограничить рамками**, если разведка может утечь: сколько времени, какие источники, что заведомо вне. 4. **Провести разведку** и **записать ответ по названному адресу**. Числа — с провенансом: с командой или условиями, которыми получены. Число без источника проход ревью обязан читать как условие, а не как замер. 5. **Разложить исход на задачи** — если он их родил. Разведка кончается одним из трёх: заведены задачи, записано знание, отказ. **Отказ — полноправный исход**: «проверили, не проблема» экономит спринт. 6. **Закрыть** — `close <слаг> --implemented`, когда ответ записан. Файл удаляется: запись ответа и есть след, второго не нужно. Ушла без ответа — `close --reason`, и строка уезжает в `REJECTED.md`. ## Что видит машина, а что человек `check` и `sprint take` смотрят на **наличие непустых** разделов `Вопрос` и `Куда ляжет ответ`, считают сырьё отдельной строкой здоровья и держат его в конце секции. Годность вопроса — человеку: «вопрос это или тема» машина не различает, и `check` о годности молчит намеренно. Штурм сырья, дробление исхода на задачи и тест «части мерджатся порознь» — [split.md](split.md).