tasks: остаток урожая ревью разнесён по домам

- tests-convention: два кандидата про тесты — один стенд чужого API на пакет,
  интеграционный тест обязан утверждать
- convention-candidates: язык вывода в пяти местах без связывающего правила
- quality-review-agents: четыре прохода не сообщили потолок находок —
  первый замер калибровки
This commit is contained in:
av
2026-08-07 17:09:52 +03:00
parent 397f8aa2c3
commit 9a624d4e13
3 changed files with 30 additions and 0 deletions
+11
View File
@@ -46,3 +46,14 @@
- **Время.** Явный TZ всегда, хранение и логи в UTC. Уже частично в `CLAUDE.md`
и `conventions/logging.md`, а `time.Now` вне `store` запрещён линтером — этот
пункт, вероятно, закрыт и подлежит вычёркиванию.
- **Язык вывода связан с мапперами.** Провенанс — ревью `tvdb-title-locale`
(2026-08-07,
[отчёт триажа](../../../openspec/changes/archive/2026-08-07-tvdb-title-locale/review/report.md),
находка R2 прохода `architecture`). Язык вывода живёт в пяти местах четырёх
пакетов, и теста, связывающего множество кодов языка с мапперами, нет:
забытая ветка молча даст английский вывод вместо ошибки. Кандидат в правило
`internal/archrules`, а не в прозу. **Дешёвый паллиатив, если правило окажется
дорогим:** строка «язык вывода» в `docs/architecture.md` → «Единые точки
проекта» — тогда расхождение хотя бы спросит проход по теме `architecture`.
Число мест перед правкой перепроверить: оно снято ревью одной задачи и с тех
пор могло измениться.
@@ -51,6 +51,13 @@ OpenSpec в сторону воспроизводимых автопроверо
- **Калибровка проходов** по процедуре `references/calibration.md` скилла
`av-dev-pipeline:review-pipeline` — ни один проход ещё не замерен инъекцией.
До замера ничего не удаляем и промпты не правим.
- **Проходы не сообщают свой потолок находок.** На прогоне `tvdb-title-locale`
(2026-08-07) о потолке промолчали четверо из шести — `autotests`, `specs`,
`architecture`, `ops`; триаж свой назвал («6 из 7, потолок не выбран»).
Устав требует объявлять сработавший потолок строкой, и без неё «находок
больше нет» неотличимо от «больше не поместилось» — то есть ровно тот сигнал,
ради которого потолок и заведён. Первый замер калибровки стоит начать с этого:
дефект прогона виден без инъекции.
- **Заполнить журнал дефектов** в [docs/review.md](../../review.md) случаями,
которые уже проскочили ревью, — они станут первыми пробами калибровки.
- **Решить судьбу упразднённых проходов:** нужен ли проекту свой `idiom` поверх
+12
View File
@@ -23,6 +23,18 @@
а дома у неё нет — источником ей служит только семантика гейта из `CLAUDE.md`,
то есть «что краснеет», а не «что стоит проверять».
**Два кандидата пришли из ревью `tvdb-title-locale`** (2026-08-07,
[отчёт триажа](../../../openspec/changes/archive/2026-08-07-tvdb-title-locale/review/report.md)
→ «Promote candidates»), оба с провенансом прохода, а не из головы:
- **один стенд чужого API на пакет.** В `tvdb_test.go` завелись два фейка одного
и того же API. Когда форма ответа поменяется по факту разведки, забытый
`fakeTVDB` останется зелёным и продолжит подтверждать опровергнутое
предположение;
- **интеграционный тест обязан утверждать, а не печатать.** `TestIntegration_TVDB`
печатает результат и ничего не проверяет: `PASS` с пустым выводом неотличим от
подтверждения. Тест, который нельзя провалить, оракулом не является.
## Затрагивает
- `docs/conventions/tests.md` — новый файл записи конвенции;