- Зачем: - подстраховать продолжение работы в новой сессии: #5 реализован, но не закоммичен, два ревью в полёте. - Что: - новый handoff с состоянием конвейера #5 (CODE-1 High про лимит Kafka, порядок триажа) и уроками приёмки этой сессии; - отработанный handoff от 20:29 удалён по ADR-0003; - обменные файлы прогона #5 скопированы в .scratch/issue5-run/ (без коммита — локальная копия на случай потери /tmp). - Проверка: - git show --stat HEAD; чтение handoff свежим взглядом. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5.9 KiB
5.9 KiB
Handoff: mentee-path, issue #5 в середине конвейера
Дата: 2026-07-22 22:22. Ветка: feature/mentee-path (запушена, ac7a973).
Фокус: дожать #5 «Инкрементальные счётчики manifest», затем корень #9.
Уже сделано (не переделывать)
- #4 закрыт коммитом
ac7a973: пульт →world_init(дефолтimport), беспараметрныйworld_next_day(*/30 * * * *, paused, catchup=False), доки и контрактные тесты. Живая приёмка пройдена, детали — в комментарии к issue #4. - #5 реализован исполнителем (Codex, gpt-5.6-sol high), НЕ закоммичен —
лежит в рабочем дереве. Дизайн: счётчики засеваются при
importиз уже прочитанного артефакта и приbackfillиз потока;next-dayбез перечитки Kafka; катящаяся сумма = SHA-256 по модулю 2^256 (коммутативна, инкремент == полный пересчёт); артефакт в git не тронут.make test(214+31) иmake lintзелёные.
Где мы сейчас: два адверсариальных ревью #5
Обменные файлы прогона скопированы в .scratch/issue5-run/
(оригиналы — в scratchpad сессии 0836e970 в /tmp/claude-1000):
мандат, отчёт исполнителя, отчёт линии B, фокус линии A.
- Линия B (Opus, качество кода) — готова: CHANGES_REQUESTED.
- CODE-1 (High): manifest хранит точные множества click_id/uid — уже ~0,81 МБ на эталонном мире; лимит сообщения Kafka 1 МБ нигде не переопределён → запись manifest упадёт примерно через один next-day. Болезнь перенесена из чтения в потолок записи.
- CODE-2 (Low): в next-day state пишется раньше manifest (import — наоборот); окно полупродвинутого стенда шире нужного.
- Математика суммы и legacy-валидация старого артефакта подтверждены.
- Линия A (Codex, соответствие задаче) — ещё работала на момент
handoff. Статус задач Codex смотреть в JSON:
~/.claude/plugins/data/codex-openai-codex/state/clickstream-ch-kafka-superset-demo-*/jobs/*.json(поле status/phase). Отчёт линия A пишет в scratchpad сессии:review-issue5-task.md(если появился — скопировать в.scratch/issue5-run/).
Дальше по конвейеру (договор ревью из скилла codex-subagent-playbook)
- Дождаться линию A. Оба полных отчёта БЕЗ изменений → исполнителю (Codex, тот же тред/задача) на пофиндинговый триаж + короткая шапка координатора (совпадения/противоречия). CODE-1 почти наверняка — смена представления множеств; НЕ проектировать решение за исполнителя.
- Фикс-раунд → узкая перепроверка тем же ревьюером (линия B по CODE-1/2).
- Живая приёмка на чистом стенде:
import, 2–3 прогонаworld_next_dayс замером «день N ≈ день 1»,make generated-history-chain-check. - Коммит (conventional, русский, Зачем/Что/Проверка), закрыть #5, затем корень #9; слияние ветки обсудить с пользователем.
Уроки приёмки этой сессии (сэкономят круги)
- REST API Airflow на стенде — только session-auth: живую приёмку водить
через
docker compose exec -T airflow-scheduler airflow dags ...(unpause/trigger/list-runs — эквивалент кликов UI и пустой формы). - Webserver поднимается позже парсинга DAG'ов — проверять
/login/циклом с ретраями, не одним запросом. - В
dm.v_events_enrichedколонка даты —event_date(не event_time). make superset-initсам поднимает Superset и создаёт дашборд (ecommerce-analytics) — отдельный make-шаг не нужен.- Субагент
codex:codex-rescue— только пускатель: задачу Codex он не ждёт; мониторить JSON статуса задачи самому (фоновый bash-цикл). - Приёмку #4 трижды ронял сам сценарий приёмки, не реализация — проверять команды сценария на живом стенде до полного прогона.
Состояние стенда
После приёмки #4: мир 5 дней (эталонные 3 + два плановых прогона),
world_next_day возвращён на паузу. Для приёмки #5 стенд всё равно
чистить (make clean).
Остальной трекер (не трогать)
- Карта #10: фронтир #18 «Модель данных» —
/wayfinder 10свежей сессией. - #7, #8 ждут решения #18. #1, #2 — фоновые багфиксы UI.
Suggested skills
codex-subagent-playbook— конвейер #5 (ревью/триаж — по его договору).conventional-commits— коммиты.