From 1fccaf8599b8ead1396a7832aa09c63d70a7683d Mon Sep 17 00:00:00 2001 From: Dmitry Dementiev Date: Thu, 30 Jul 2026 15:00:49 +0300 Subject: [PATCH] =?UTF-8?q?chore(scratch):=20handoff=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B2=D1=8C=D1=8E=20=D0=B8=20=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=D1=91=D0=BC=D0=BA=D0=B5=20=D1=81=D0=BF=D0=B5=D0=BA=D0=B8=20v2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - сохранить состояние сессии ревью спеки #17 на случай сбоя инфраструктуры (ADR-0003: handoff'ы живут в .scratch/handoffs/). - Что: - добавлена записка 20260730-1003: состояние спеки, открытые вопросы владельцу, рецепт запуска ревью Сола, грабли с 529. - Проверка: - чтение записки в свежей сессии по шагам раздела «Дальше». Co-Authored-By: Claude Fable 5 --- .../20260730-1003-spec-v2-realism-review.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 .scratch/handoffs/20260730-1003-spec-v2-realism-review.md diff --git a/.scratch/handoffs/20260730-1003-spec-v2-realism-review.md b/.scratch/handoffs/20260730-1003-spec-v2-realism-review.md new file mode 100644 index 0000000..3406e08 --- /dev/null +++ b/.scratch/handoffs/20260730-1003-spec-v2-realism-review.md @@ -0,0 +1,78 @@ +# 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`).