Files
clickstream-ch-kafka-supers…/.scratch/handoffs/20260730-1003-spec-v2-realism-review.md
T
ddadminandClaude Fable 5 1fccaf8599 chore(scratch): handoff по ревью и приёмке спеки v2
- Зачем:
  - сохранить состояние сессии ревью спеки #17 на случай сбоя
    инфраструктуры (ADR-0003: handoff'ы живут в .scratch/handoffs/).
- Что:
  - добавлена записка 20260730-1003: состояние спеки, открытые вопросы
    владельцу, рецепт запуска ревью Сола, грабли с 529.
- Проверка:
  - чтение записки в свежей сессии по шагам раздела «Дальше».

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 15:00:49 +03:00

5.8 KiB

Handoff: спека «Боевой реализм стенда (v2)» — ревью и приёмка (#17)

Дата: 2026-07-30 10:03. Сессия работала над issue #17 (Gitea, CLI tea): сборка спеки из резолюций карты #10.

Состояние

  • Спека: docs/specs/2026-07-30-stand-v2-realism.md (Draft). Файл untracked — при сбое машины git его не защитит; владельцу предложен WIP-коммит.
  • Источники истины: резолюции в комментариях issues #14, #15, #16, #18; карта #10 (там же решение: v2 — новый пустой репозиторий, рабочее имя clickstream-data-platform, v1 замораживается). Фактура: docs/research/2026-07-26-yandex-clickstream-format.md.

Что сделано

  1. Спека собрана и прошла четыре волны правок (всё уже в файле): владельца (v2 — новый репозиторий; доки переосмыслить, не копировать; лабы с нуля, вне скоупа; генератор с нуля), вычитки (термины, K только как окно), сверки с резолюциями (12 правок: бюджет 16 ГБ, «ландшафт итогом», потерянные отклонения, помеченные отступления) и грилинга (17 решений: расщеплённый дедуп заказов, пересборка K+1 партиций, сессии по границе суток, обязательный заказ с каждой куки двухкукового, сверка по сравнимой базе, строгий приём JSON, dds.v_event, SAMPLE BY, «схема как контракт», объём ~80–110 файлов, этапы слиты и дополнены этапом Airflow).
  2. Решение владельца по генератору: Python с производительной архитектурой; компилируемый язык — только если замеры не пройдут (в спеке, раздел 11).

Открытые вопросы владельцу (спека их пометила как отступления)

  • Порядок страховочных срезов: #15 предписывал 1→2→3, спека применяет 3 и 2, срез 1 (статусы) держит в резерве.
  • Sign на хитах: исследование советовало взять колонку, спека не берёт.
  • VisitID оставлен в событии как эталон самопроверки лабы сессий.

В полёте на момент записки

  • Sonnet-агент довносил 17 правок грилинга: маркеры всех правок в файле уже есть; свежей сессии — убедиться, что файл цел (маркеры: skip_unknown_fields, _ingested_at, dds.v_event, SAMPLE BY, «сравнимой базе», «80–110», «Схема как контракт», «каждой куки»).
  • Слепое ревью спеки Кодексом подготовлено, НЕ запущено. Промпт собран в $SCRATCH/spec-review/review-prompt.md (скретчпад сессии в /tmp — мог не пережить сбой). Пересборка: параметрический блок (роль: ревью постановки, не реализации; префикс находок SOL; вне скоупа — стиль и вкусовщина) + references/prompts/review-boilerplate.md из скилла claude-subagent-playbook. Запуск — по ветке «ревьюер» references/codex-exec.md: codex exec, модель gpt-5.6-sol, effort high, фоновым Bash, вердикт в -o-файл. Песочница проверена — жива. Предупреждение владельца: у Сола плохой вкус и тяга к деталям реализации раньше времени — рамка в промпте это прижимает, остаток фильтровать на триаже.

Дальше (по порядку)

  1. Проверить целостность 17 правок; финальное сквозное чтение спеки.
  2. Запустить ревью Сола, триаж находок (вкусовые — отклонять), правки.
  3. Вердикт владельца по трём открытым вопросам → статус Accepted.
  4. Коммит (/conventional-commits), комментарий-резолюция в #17.
  5. Разбиение через /to-tickets — уже отдельным заходом (спека и карта переедут в v2-репозиторий после его создания).

Грабли сессии

  • Дважды 529 Overloaded на Opus-субагентах: правки терялись ДО записи. Рецепт: проверять маркеры в файле, затем возобновлять агента SendMessage'ем; после второго падения — свежий Sonnet-агент с самодостаточным списком правок (сработало).

Suggested skills

  • /claude-subagent-playbook — продолжить конвейер ревью (этапы 4–6).
  • /conventional-commits — при коммите спеки.
  • /grilling — если владелец захочет добить три открытых вопроса.
  • Контракт трекера — docs/agents/issue-tracker.md (Gitea, tea).