Files
transcriber/tasks/items/gate-step-exit-codes.md
T
av 8739b18a9f tasks: очередь расставлена от базы к деталям
- порядок беклога и роадмапа назначен слоями: проверки, которым можно
  верить → долги входа → владелец записи и контракт API → конвейер под
  тестами → приложение и возможности поверх; у каждого движения записана
  причина;
- заведены восемь задач под пункты «Завершения», которых не закрывала ни
  одна запись, — цель any-audio-source была без задач вовсе;
- у четырёх задач сняты критерии, требовавшие того, что делает задача ниже
  по очереди; исправлены ссылки на несуществующий repo/sqlite и на
  отменённую разведку об очереди.
2026-08-12 20:48:53 +03:00

36 lines
2.9 KiB
Markdown

# 🧹 Привести коды выхода шагов гейта к общему словарю
- **Тип:** chore
- **Категория:** Очередь — Словарь кодов уже разъехался с обёртками: три новых шага гейта ниже напишутся по неверному образцу и попадут под переписывание.
- **Зачем:** CLAUDE.md объявляет словарь кодов общим для четырёх проверочных шагов и описывает код 3 как «каталог или файл не найден», но все четыре обёртки в Taskfile.yml при отсутствующем скрипте отдают 1 («дрейф»), из-за чего читатель кода идёт искать разъехавшееся там, где просто неполно дерево.
Расхождение старое и повторено всеми четырьмя обёртками одинаково — дефектом
одного изменения оно не является. Сами скрипты словарю следуют: при пропавшем
источнике `scripts/check-go-version.sh` выходит с кодом 3, проверено прогоном
2026-08-12.
Развилка тут есть, и решать её придётся: либо обёртки приводятся к 3, либо из
описания кода 3 в памятке убирается «или файл не найден» и `exit 1` объявляется
нормой для «скрипта шага нет». Второй вариант меняет только текст памятки, а не
код всех четырёх обёрток, и тоже не расходится с фактами.
## Затрагивает
- шаги `docs`, `tasks`, `openspec` и `go-version` в `Taskfile.yml`;
- словарь кодов в `CLAUDE.md`, раздел «Гейт».
## Критерии приёмки
- Один и тот же исход даёт один и тот же код у всех четырёх шагов. Оракул —
убрать по очереди каждый из четырёх скриптов и прогнать его шаг: коды
совпадают между собой и с тем, что обещает памятка.
- Памятка и поведение сошлись. Оракул — прочитать словарь в `CLAUDE.md` и
сверить с четырьмя прогонами выше поимённо.
- Гейт зелёный целиком. Оракул — `task gate`.
## Рамки
Скрипты плагинов (`docs.py`, `tasks.py`, `openspec.py`) не правятся: они живут
вне репозитория, и их коды уже следуют словарю. Правятся только обёртки в
`Taskfile.yml` и текст памятки.