sprint: набран спринт 2026-08-06 под цель распознавания

- в наборе шесть задач: локаль TVDB и confidence-гейт под цель, плюс баги и
  техдолг помимо неё
- взятым дописаны разделы своего типа: «Затрагивает», критерии с оракулами,
  воспроизведение
- решены развилки: оба расхождения код↔спека правятся спекой (и потому стали
  chore), опрос qBittorrent тормозится бэкоффом до минутного потолка
This commit is contained in:
av
2026-08-06 13:57:33 +03:00
parent d2d386945e
commit f42db0a275
8 changed files with 197 additions and 65 deletions
@@ -49,6 +49,31 @@
которому порог можно было бы подобрать заранее, решено не собирать
(`../REJECTED.md`, 2026-08-06), так что первое значение остаётся оценкой.
## Затрагивает
- `internal/recognize``decide`/`validate.go` (четвёртое условие) и
`recognize.go` (пере-применение дефолта, из-за которого `0` не выключает
гейт);
- секция `[recognition]` конфига, `config.example.toml` и значение по умолчанию
в `internal/config`;
- `openspec/specs/recognition/spec.md` — требование «Модель уверенности и
решение auto/review»;
- `docs/database.md` (дом числа) и `docs/conventions/config.md` (описание ключа).
## Критерии приёмки
- `auto_confidence_threshold = 0` выключает гейт: при чистых условиях 1–3
раздача уходит в авто независимо от `confidence` (оракул: тест `decide` с
нулевым порогом).
- При `confidence` ниже порога и выполненных условиях 1–3 раздача уходит в
review (оракул: табличный тест на границе порога — ниже, равно, выше).
- Умолчание равно 0.7 в одном месте — загрузке конфига; `recognize.go` своего
дефолта не применяет (оракул: тест, что пустой конфиг даёт 0.7, плюс
отсутствие `defaultAutoThreshold` в диффе).
- Спека называет `confidence` четвёртым конфигурируемым блокирующим условием и
несёт сценарий «матч чист, но уверенность ниже порога → review» (оракул:
`openspec validate --strict`).
Оформить как OpenSpec-change (дельта `recognition` + правки
`validate.go`/`recognize.go`/`config`).