- Зачем:
- следующая сессия после compaction продолжает конвейерное
исполнение фичи; нужен свежий вход без потери уроков приёмки #3.
- Что:
- новый handoff 20260722-2029: порядок #4 → #5, уроки приёмки,
сводная карта работ (карта #10 и бэклог ждут решения #18).
- удалены два отработанных handoff'а (одноразовые по ADR-0003).
- Проверка:
- cat .scratch/handoffs/20260722-2029-finish-mentee-path.md
66 lines
4.4 KiB
Markdown
66 lines
4.4 KiB
Markdown
# 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.
|