fix(stand): находки ревью — диагноз не утверждает причину, комментарии не врут

Зачем
Холодное ревью нашло три места, где написанное сильнее сделанного.

Что
- Непустая таблица брака больше не выдаётся за доказательство сломанного
  разбора. Модельного дня у брака нет, обрамить его нечем, и строки прежних
  уроков лежат в нём месяц: после первого же урока с мусором проверка
  давала бы неверный диагноз навсегда. Теперь она даёт признак, по которому
  причину отличают, — сошлась недостача с числом брака или нет.
- Комментарий у world-init обещал, что расхождение числа дней с
  STARTING_DAYS поймают счётчики. Это неправда в одну сторону: лишний день
  ложится за рамкой дат описи. Обещание убрано, дыра названа.
- Довод «даг next_day этапа 5 продолжит ось» опирался на несуществующий
  этап; заменён настоящей причиной — заливка замыкает цепь разовых служб.
- Потолок ожидания 300 с получил обоснование замером с кратностью, а сам
  скрипт — честную оговорку: его обещание работает на пустом стенде, на
  живом ждать нечего.
- Третья, пропущенная ссылка на снятый порог скорости дня убрана из спеки.
- Даты замеров в карте целей разведены: #42 менял три цели, а не шесть.

Проверка
Обе ветви диагноза сняты заново на живом стенде: без брака — «не доехали»,
с браком — признак различения. Стенд восстановлен, все 9 проверок зелёные,
брака 0. make lint, typecheck, config-test, test (407 тестов) зелёные.

Ссылка: #42
This commit is contained in:
2026-08-07 18:47:13 +03:00
parent 7c9eeedc40
commit c696fce40b
5 changed files with 36 additions and 21 deletions
+9
View File
@@ -15,10 +15,19 @@
# брака. Сломайся разбор — события уедут в `*_errors`, сумма сойдётся, ожидание
# кончится, и поломку назовёт `make check-clickhouse`. Ждать здесь одних годных
# событий значило бы висеть пять минут вместо внятного ответа.
#
# Обещание у скрипта ровно одно и только на пустом стенде: «мир доехал». На
# живом стенде мир уже лежит в ODS, условие истинно на первой же попытке, и
# ждать тут нечего — повторная заливка ничего не добавляет, её схлопнет
# дедупликация. Утверждать после неё «доехала именно эта заливка» скрипт не
# может и не пытается: у события нет отметки, которым прогоном оно приехало.
set -Eeuo pipefail
readonly ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
readonly INVENTORY="${ROOT_DIR}/data/world-inventory.json"
# Потолок ожидания — 300 с: больше чем вдесятеро от замеренных 22,5 с, за
# которые заливка отдаёт восемь дней в Kafka (карта проверок, «Что проверено»).
# Это не бюджет, а предел, за которым ждать бессмысленно и надо читать журнал.
readonly ATTEMPTS=100
readonly PAUSE_SECONDS=3
# Как часто отчитываться о ходе: молчащая минуту команда выглядит зависшей.