# Формат беклога Заголовок, мета-строку и строку индекса ставит `backlog.py add` — руками их не пишут. Этот файл описывает, что именно скрипт создаёт и что проверяет `check`; тело задачи (контекст, шаги, ссылки) дописывает агент. ## Файл задачи `.md` в каталоге беклога: ```markdown # Раздачи с докачиванием (merge при повторном добавлении) **Приоритет:** высокий — блокирует типовой сценарий свежих сериалов · **Теги:** layout, ingest Свежий сериал раздают по мере выхода: торрент с 5 из 10 эпизодов позже перезаливают целиком, пользователь добавляет раздачу повторно. … Шаги: - в плане раскладки отличать «путь занят живой ссылкой того же матча» от коллизии - merge-раскладка: существующее пропустить, недостающее доложить Зависит от правила сходимости. Связано: drafts/logical-title-model.md §6.2. ``` - **Заголовок H1** — он же заголовок строки в индексе, дословно. Тип кодируется префиксом `[idea]` / `[epic]`; обычная задача без префикса. Отдельного поля типа **нет**: два места для одного факта разъезжаются, а префикс виден прямо в индексе, где и принимается решение «брать или не брать». - **Мета-строка** — первая непустая строка после заголовка. Обязателен приоритет, причина после тире желательна, теги опциональны. Поля разделяются ` · `, их порядок свободный. `·` — служебный разделитель: в тексте причины его быть не должно, иначе причина обрежется по нему. - **Тело** — контекст (почему это вообще задача), принятые решения, шаги, ссылки на спеки, ADR, черновики, прошлые ревью. Пишется на языке документации проекта. Тело — не план реализации и не спецификация: принятое и реализованное переезжает в документацию проекта, а файл задачи удаляется. ## Слаг Латиница и цифры, kebab-case, без ведущих, хвостовых и двойных дефисов (`foo-bar`, не `-foo`, `a--b`). Именуется **по сути задачи, а не по текущей формулировке**: заголовок будет переписан на груминге, а слаг стоит в ссылках из других задач, коммитов и черновиков. Транслит русского названия допустим, если суть иначе не выражается коротко. ## Индекс `README.md` в том же каталоге: преамбула, затем секции по приоритетам, в каждой — строки вида ```markdown - [Заголовок задачи дословно](slug.md) — хук ``` Хук отвечает на «почему это лежит в беклоге» одним предложением: состояние, остаток, боль. Пересказ первого абзаца бесполезен — он уже есть по ссылке. Порядок секций задаёт порядок приоритетов, их названия — единственный словарь уровней. Внутри секции порядок значения не имеет. Секции приоритетов — **единственные заголовки `##` в индексе**: любой другой `##` в преамбуле проверка сочтёт уровнем приоритета. Индекс **производен**: расходится с файлом — правим индекс. Строку индекса руками не пишут — её ставит `backlog.py add` в секцию приоритета и двигает `move`. ## Кладбище — `CLOSED.md` Туда уходит задача, покинувшая беклог **без реализации**. Строку пишет `backlog.py close --reason`, а `check` следит за её форматом: ```markdown - 2026-07-23 `versii-kachestvo-repaki` — Версии/качество одного тайтла (репаки, апгрейд 1080p → 2160p). Причина: калибровка болей — не боль, ни разу не возникло за полгода. Был приоритет: низкий. ``` Реализованные сюда не попадают: у них остаётся коммит, спека, ADR. У выкинутой не остаётся ничего — и через квартал она возвращается тем же текстом через инбокс. Кладбище — первое место, куда смотрит дедупликация при заведении. Запись на кладбище не запрещает завести задачу заново: изменился контекст — заводим и ссылаемся на строку кладбища, объясняя, что изменилось. ## Тест «готова к взятию» Задача готова, если из файла отвечаются три вопроса: 1. **Что станет наблюдаемо иначе**, когда она сделана — снаружи: пользователю, владельцу сервиса или разработчику. «Отрефакторить X» — не ответ; «перестанет ломаться Y при Z» — ответ. 2. **По чему видно, что закончено.** Признак завершённости, а не список работ. 3. **Почему приоритет такой** — одна строка. Не отвечается первый или второй вопрос → это **идея**, её место в штурме, а не в приоритизации. Приоритизировать идеи бессмысленно: сравнивается неизвестно что. Отвечается всё, но задача не делается одним заходом и не мерджится целиком → **эпик**, сперва декомпозиция. Тест применяется при заведении и на груминге. К старым задачам, которых операция не касается, задним числом не применяется — беклог не переоформляют «заодно».