- условие самообновления — доменный предикат store.State.IsObservable() вместо
фазы catched; один поллер на поверхность, интервалы 5 с и 15 с
- отказ тика отвечает 200 и самозавершающимся фрагментом с корневым id цели
вместо 404/500, который htmx не свопит
- заведён ADR-2026-08-10-observability-is-not-terminality, переписан раздел
«Живой поллинг» в конвенции веб-UI
- предел длины компонента (255 байт) проверяется в BuildLinks до первой
операции с ФС: ни каталога, ни ссылки при отказе не создаётся
- причина пустого предпросмотра считается на показе (ReviewData.PreviewError)
и печатается в панели действий и в карточке Telegram: у задачи без
записанной причины взять её больше неоткуда
- чистка стоит на каждой точке входа значения метабазы в план — сборка матча,
копия кандидата для ревью, набор закреплённых значений источника и его
чтение: гарантия, поставленная только на запись, обходится данными,
сохранёнными прежними версиями
- название, непригодное как имя каталога (пустое или без единой буквы и
цифры), не подставляется — раздача уходит в review с названной причиной
- гейт подтверждения матча не сдвинут: сравнение с планом идёт по значениям
провайдера, чистится только копия, уходящая дальше
- перечень команд пользователя убран из architecture.md в спеки review и
state-reconciliation, где ему дом: обзор успел разойтись с ними в обе стороны
- README перестал дублировать деплой и статус — теперь ссылается на дом
- статус «заведена ли задача под пробел» сведён в один регистр открытых вопросов
- шаги tasks.py и openspec.py названы в перечне «что красит безусловно»
- из спеки download-tracking сняты числа умолчаний: их дом — database.md
- каталог задач переехал в tasks/ в корне, спринт упразднён — приоритет
теперь порядок строк в BACKLOG.md, четыре задачи набора вернулись в беклог
- гейт: путь docs.py переведён на av-dev-docs вместо снесённого av-dev-pm,
добавлены шаги tasks.py check и openspec.py check
- относительные ссылки внутри задач и ссылки из docs/ на задачи починены
- локаль из [general].language применяется при разборе ответа /search, а в
запрос не уходит: параметр language у TVDB — фильтр выдачи, а не селектор
перевода (ADR-2026-08-07)
- Title берётся из блока translations с тотальным фолбэком на primary name,
OriginalTitle — из primary name; форма ответа сверена по документации и
живым прогоном не подтверждена (docs/research)
- неожиданная форма ответа даёт WARN: признак — отсутствие во всей выдаче
ключей языка ожидаемого вида, а не неудача разбора блока
- re-read `source_type` перечитывается под блокировкой после тик-снимка, а
остаточное окно вывода имени названо известным ограничением с ценой и
достоверным маршрутом восстановления (ручной шаг + `Retry`, не самоисцеление)
- в `ingest` снята парная ложная гарантия «воркер добавит раздачу файлом»,
добавлены сценарии на оба окна апгрейда и на недоступные байты `.torrent`
- заведён ADR о том, что при разрыве спека↔код двигается тот, чья формулировка
сильнее рационали
- каталог задач: PLAN.md → ROADMAP.md с каноническими секциями, все 44
записи получили тип, заголовки приведены к форме своего типа
- расхождения, найденные судьями канона: исключения инварианта «источник
неприкосновенен», инвариант про один активный infohash, UTC в logging.md,
поведение из architecture.md заменено ссылками на спеки
- триггеры профиля ревью переписаны под умолчание standard
- Заведена запись ADR-2026-08-04: пайплайн и ревью переехали в
av-dev-pipeline и av-dev-pm, причина — расхождение копий между
jellybit и healthlog и переиспользуемость пайплайна.
- Упразднение прохода idiom записано отдельным последствием со ссылкой
на «Перестали проверять сознательно» в docs/review.md.
- Раскладка docs/ приведена к канону 2: заведены passport/architecture/
database/security/review и research; docs/specs, drafts, backlog, review/
и BRIEF.md разобраны и удалены, беклог переехал в docs/tasks (34 задачи,
6 целей, слаги на английский).
- Нарративы specs удалены как дубли openspec-спек после поимённой сверки;
остаток заведён задачами (редактор маппинга ревью, крайние случаи
именования), отказ от сущности title промоутнут в ADR.
- Проектные копии агентов и скиллов ревью/пайплайна удалены в пользу
плагинов av-dev-pm и av-dev-pipeline; в task gate добавлен шаг canon
вместо er-schema.
- task image принимает BUILD_ID и тегает <app>:$BUILD_ID (контракт роли app_image в umbar)
- добавлен ADR-2026-07-24-local-image-build, старый docker-deploy помечен superseded
- README/architecture/roadmap/Dockerfile обновлены под новую схему (без сборки на сервере)
ADR фиксирует «почему»: recall чек-листа равен его длине, ценность верификатора
определяется оракулом и декорреляцией с автором (а не числом ролей), отчёт без
границ покрытия хуже отсутствия отчёта.
В беклоге закрыт открытый вопрос «дробить ли review-code на узкие оптики» — не
дробим; осталась калибровка проходов и ревьювер наименований.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>