docs(scratch): handoff обновлён — фокус на добивание mentee-path (#4, #5)

- Зачем:
  - следующая сессия после compaction продолжает конвейерное
    исполнение фичи; нужен свежий вход без потери уроков приёмки #3.
- Что:
  - новый handoff 20260722-2029: порядок #4#5, уроки приёмки,
    сводная карта работ (карта #10 и бэклог ждут решения #18).
  - удалены два отработанных handoff'а (одноразовые по ADR-0003).
- Проверка:
  - cat .scratch/handoffs/20260722-2029-finish-mentee-path.md
This commit is contained in:
2026-07-22 20:29:48 +03:00
parent 65cb88fa4f
commit 76ff669cf7
3 changed files with 65 additions and 166 deletions
@@ -0,0 +1,65 @@
# Handoff: добить mentee-path (#4, затем #5)
Дата: 2026-07-22 20:29. Ветка: `feature/mentee-path` (запушена).
Фокус следующей сессии: конвейерное исполнение оставшихся issues фичи.
## Ближайшая работа
Корень фичи — issue #9, спека —
`docs/specs/2026-07-19-mentee-path-redesign.md` (источник истины).
Осталось два дочерних issue, оба `ready-for-agent`:
1. **#4 «Поверхность DAG'ов»** — брать первым (виден менти сразу):
`generator_control``world_init`, дефолт операции `import`,
беспараметрный `world_next_day` с paused-расписанием, синхронная
правка доков и контрактных тестов.
2. **#5 «Инкрементальные счётчики manifest»** — `next-day` без
перечитки всей Kafka; предусловие включения расписания.
Конвейер — скилл `codex-subagent-playbook`: координатор здесь, Codex
(gpt-5.6-sol, medium) исполняет, независимое ревью по риску, живая
приёмка на стенде. После закрытия обоих — закрыть корень #9 и обсудить
с пользователем слияние ветки.
## Уроки прошлой приёмки (issue #3) — применить в #4/#5
- Перед живой приёмкой — предполётный чек: `[ -S /var/run/docker.sock ]`
(Docker Desktop WSL отвечает через Windows-CLI раньше сокета) и что
подняты все сервисы шага, включая Superset. В #3 один круг приёмки
ушёл впустую именно из-за неподнятого Superset.
- При постановке исполнителю сверять границы («что не трогать»)
с критериями приёмки issue — в #3 они противоречили друг другу.
- Хостовые `uv run` с модулями генератора требуют
`--with-requirements generator/requirements.txt`.
- Автотесты не ловят дефекты интеграции (bind-mount путей, стыковку
профиля с эталоном) — живую приёмку на чистом стенде не пропускать.
## Внимание в #4
Переименование dag_id теряет историю прогонов старого — принято спекой
(решение 2). Эталонный мир уже в git
(`data/startup_history/reference-world.json.xz`, 3 дня `daily-wave`);
пустая форма пульта уже читает его по умолчанию (сделано в #3) —
в #4 меняется имя DAG и дефолт операции, не пути.
## Остальной трекер (не трогать в этой сессии)
- **Карта #10 «Боевой реализм стенда»**: фронтир — #18 «Модель данных»
(HITL-гриллинг, вход `/wayfinder 10`, лучше отдельной свежей сессией).
За ним каскад #14 кластер → #15 purchase → #16 identity → #17 спека.
- **#7 (лабы курса) и #8 (инкрементальный ETL) сознательно ждут решения
#18**: смена модели данных обесценила бы работу по ним.
- #1, #2 — независимые багфиксы UI, фоном.
## Состояние стенда
Полный стенд поднят (11 контейнеров), эталонный мир импортирован,
Superset инициализирован (дашборд id 1). Для приёмки #4 нужен живой
Airflow; чистка стенда перед работой не обязательна, но приёмку #4
делать на чистом стенде (путь менти с пустыми формами).
## Suggested skills
- `codex-subagent-playbook` — конвейер для #4/#5.
- `conventional-commits` — коммиты (русский, Зачем/Что/Проверка).
- `wayfinder` — только если пользователь сам переключится на карту #10.