Files
dev-skills/av-dev/skills/task-track/references/task-research.md
T
av ed83ec7dc0 задачи: починена смена стадии, разобраны находки ревью плагина
Команда stage была дефектна по шести пунктам, и все шесть подтверждены
прогоном: не звала raw_last (переход оставлял каталог красным), не
переписывала шапку беклога (индекс продолжал объявлять прежнюю стадию),
шла в обход write_config, молча пропускала файлы с непересобираемой метой,
ломалась на беклоге без заголовков и схлопывала полки при первом
объявлении стадии.

Объявление и смена разведены: объявление беклога не трогает вовсе, смена
трогает состав секций только по явному --sections, а слить полки скрипт
не берётся ни в одном случае. Абзац шапки размечен парой «стадия», и
расхождение с конфигом стало обычным дрейфом.

Отказ по недостающей строке индекса запирал запись, пережившую упразднение
роадмапа: edit, close и reopen теперь заводят или пропускают строку сами.
Прочее: регистр stage нормализуется при чтении; --fix снимает мёртвые теги
и у неразобранных записей; move отказывает переставлять сырьё; adopt
держит место сырья; docs.py bump двигает одну запись журнала за раз;
tasks.py получил перечень упразднённых адресов, и гейт наконец видит
собственное упразднение ROADMAP.md.

Запись «Версия 3» переписана по прогону на игрушечном проекте: прежний
порядок шагов был неисполним. Закрыты дыры модели стадий (пересмотр плана
стройки стал сценарием, приёмка отвязана от груминга, from-review,
research и adopt получили развилку по стадии, перечень осей пересчитан) и
находки, старшие этой сессии: review-triage получил режим без метки, три
списка проектных копий сведены к дому с проверяемыми копиями, пять
пересказов правил стали помеченными копиями или ссылками, language.md
перестал объявлять юрисдикцию над чужим плагином.
2026-08-13 15:08:29 +03:00

6.7 KiB

🔬 research — исход работы знание, а не изменение системы

Ответ на вопрос, замер, разведка, проработка сырой мысли. Приёмка — записанный ответ, а не изменённый код.

Общая форма записи (мета, слаг, строка индекса) — task-format.md. Здесь только то, что у этого типа своё.

Схема

Заголовок отвечает на о чём разведка (предмет, а не действие)
Обязательные разделы Вопрос, Куда ляжет ответ
Допустимые сверх того Рамки, Вопросы
Поле места Категория — полка домена беклога
Индекс BACKLOG.md
Берётся в работу да — но только с заполненным «Вопросом»

Критериев приёмки у research нет, и это не поблажка. Критерии в форме «оракул: тест» разведке натянуты: проверять нечего, пока ответа нет. Её приёмка описывается раздельно — вопрос, на который отвечаем, и место, куда ляжет ответ.

Заголовок формы действия не несёт намеренно. Что делать, ещё неизвестно, и заголовок-действие обещал бы решённость, которой нет. «Подсказка следующего хода», а не «Сделать подсказку следующего хода».

Этот тип вобрал прежний [idea]

Тип idea упразднён. Он значил не род работы, а состояние незаполненности — «первый, второй или третий вопрос теста готовности не отвечается», — а состояние типом быть не может: оно меняется по мере того, как запись дописывают, а тип меняют командой.

Теперь это состояние называется честно: research без раздела «Вопрос» — это сырьё.

сырьё разведка
Раздел Вопрос пуст или отсутствует заполнен
ready отказ берёт
Место в секции беклога конец, check --fix сносит туда сам среди прочих
tasks.py list --raw показывает нет

Порядок строк в беклоге назначает человек, и стадия решает, что он значит: зависимость на стройке, важность на доработке (правило 4 скилла). Место сырья из него изъято: оно производно от типа и заполненности, а не от чьего-то решения, и потому его проверяет и чинит машина. Приоритетом оно не становится: сырьё не берут вовсе, и место в конце говорит именно это.

Сырьём заводится и сырая функция: «Подсказка следующего хода» — ещё не feature, потому что неизвестно, что именно делать. Работа над ней — думание, и её исход — либо задачи, либо отказ.

Алгоритм

  1. Записать вопрос одной фразой. Не тему, а вопрос: не «Разобраться с выводом в терминалах», а «Какими символами рамки печатаются одинаково в Терминале, iTerm и tmux». Вопроса ещё нет — запись заводится сырьём и лежит в конце секции, пока вопрос не появится.
  2. Назвать, куда ляжет ответ: docs/research/<slug>.md, ADR, тело этой задачи. Место называется заранее, иначе ответ остаётся в переписке, а через квартал разведку заказывают заново.
  3. Ограничить рамками, если разведка может утечь: сколько времени, какие источники, что заведомо вне.
  4. Провести разведку и записать ответ по названному адресу. Числа — с провенансом: с командой или условиями, которыми получены. Число без источника проход ревью обязан читать как условие, а не как замер. Проводит её конвейер проекта — скилл av-dev:code-resolve, сценарий разведки; этот скилл её только заводит и закрывает.
  5. Разложить исход на задачи — если он их родил. Разведка кончается одним из трёх: заведены задачи, записано знание, отказ. Отказ — полноправный исход: «проверили, не проблема» экономит работу.
  6. Закрытьclose <слаг> --implemented, когда ответ записан. Файл удаляется: запись ответа и есть след, второго не нужно. Ушла без ответа — close --reason, и строка уезжает в REJECTED.md.

Что видит машина, а что человек

ready смотрит на наличие непустых разделов Вопрос и Куда ляжет ответ; check считает сырьё отдельной строкой здоровья и держит его в конце секции. Годность вопроса — человеку: «вопрос это или тема» машина не различает, и check о годности молчит намеренно.

Штурм сырья, дробление исхода на задачи и тест «части мерджатся порознь» — split.md.