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

2.9 KiB

🧹 Привести коды выхода шагов гейта к общему словарю

  • Тип: 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 и текст памятки.