# Handoff: старт редизайна пути менти — спека и пилот GitHub Issues

Дата: 2026-07-19 22:29.
Жанр: handoff по ADR-0003 — точка входа в новую фичу на чистой ветке.

## Контекст

- `feature/data-generator` (146 коммитов) влита в main (`0e312b3`) и
  запушена. Перед слиянием закрыта задача 21: баг F1 (необязательные поля
  формы `generator_control` требовались как обязательные) починен через
  `Param(None, type=["null", "string"])`, `.gitignore` покрыл артефакты
  `data/*.json`, доки (`ARCHITECTURE.md`, `REPO_MAP.md`) догнали код.
  `make test` (205 + 31) и `make lint` зелёные.
- `.scratch` очищен целиком (решение пользователя 2026-07-19): задачи
  01–21, PRD, журналы и старые handoff'ы — одноразовые материалы, всё
  долговечное перенесено в `docs/` (ADR 0004–0006, спеки, runbook
  `startup-history`). История доступна в git: см. состояние на `0e312b3`,
  ключевой файл находок —
  `.scratch/generator-model-time-startup-history/hitl-findings.md@0e312b3`.

## Направление работ: редизайн пути менти

Рамочная модель (из ручного HITL 2026-07-19, подтверждена по
`launch.py`): основной режим менти — **`import` готового артефакта**
(база), от одного восстановленного состояния две ветки-лабы:
**`next-day`** (пакетно добавить сутки) и **`continue`** (живой поток,
оправдывает скорость ×60). `backfill` в целевой модели — инструмент
мейнтейнера для сборки артефакта, не первый шаг менти.

Ориентировочно 4 задачи:

1. **Ядро: эталонный 3-дневный артефакт** на профиле `daily-wave` как
   база менти через `import`. Факты: артефакт 6h = 49 МБ raw; `xz -9e`
   жмёт 48× (1,1 МБ за 13,5 с); 3 дня ≈ 13 МБ сжатого — кладётся в
   обычный git. Паттерн-образец: `airflow-greenplum-solution`
   (`bookings/seed/demo.sql.xz`). Открыто: нужен ли артефакту
   `raw_topics` или хватит компактного `state`.
2. **Один учебный профиль**: `daily-wave` (волна, ×60) — учебный,
   `ci` (×1, плоский) — служебный для тестов; форма не должна
   подсовывать `ci` первым. Перед слиянием проверить, не зависит ли
   runtime-seam-тест от скорости ×1.
3. **Расписание + инкремент**: беспараметрный DAG `next-day` (удобство
   менти и пригодность к `schedule`) + инкрементальные счётчики manifest:
   сейчас `next-day` перечитывает всю Kafka-историю с нуля — O(N²) по
   дням и рост RAM (риск OOM); замер: день 2 = 638 с, узкое место —
   генерация+пересчёт, не ETL (30 с). Параллелить нельзя (детерминизм),
   правильный рычаг — накопленное состояние счётчиков в manifest/state.
4. **Баг-фиксы**: F5 — быстрый разлогин Airflow и Superset (ротация
   секрета исключена; копать время жизни сессии/cookie); F4 — JS-ошибка
   авто-refresh в Airflow Grid (косметика, низкий приоритет).

Отдельная линия (после инфраструктуры): три режима → свои лабы в
`docs/course/` (`import` — общая база; `next-day` — пакетная
инкрементальная обработка; `continue` — потоковый приём).

## Пилот GitHub Issues (решение пользователя 2026-07-19)

Новый процесс для этой фичи:

- Спека редизайна — файлом в репозитории (материал — hitl-findings из
  истории git, см. выше).
- Тонкий корневой issue на GitHub со ссылкой на спеку и чекбоксами на
  дочерние issues; дочерние — полноценные самодостаточные постановки.
- Triage-метки — пять канонических ролей из `docs/agents/triage-labels.md`
  как настоящие метки GitHub.
- В том же заходе поправить контракт: AGENTS.md и
  `docs/agents/issue-tracker.md` сейчас говорят «GitHub Issues не
  используются» — заменить на правила пилота. Старые задачи не
  мигрировать (архив в истории git).

## Что дальше (порядок; обновлено 2026-07-19 23:0x)

Сделано в тот же вечер: контракт трекера переведён на GitHub Issues
(метки созданы), спека написана и проверена свежим взглядом —
`docs/specs/2026-07-19-mentee-path-redesign.md` (источник истины: путь
менти, `world_init`, `world_next_day`, эталонный мир, 4 дочерних issue).
`hitl-findings.md` восстановлен в `.scratch/` как рабочий материал.
Термины «мир», «эталонный мир», «три режима менти» — в CONTEXT.md.

Осталось:

1. Корневой issue + 4 дочерних на GitHub по спеке (раздел «Форма работ»).
   Багфиксы уже в трекере: #1 (F5, разлогин), #2 (F4, JS Grid).
   Осталось завести два issue «не забыть»: редизайн лаб курса (отстали
   от реальности, не заработают) и инкрементальный ETL (техдолг:
   `full_refresh` пересчитывает весь мир на каждый `world_next_day`;
   растёт с миром; исторический контекст — `plans/incremental-etl-v2.md`;
   кандидат в материал лабы про инкрементальную обработку).
2. Работа по задачам конвейером `claude-subagent-playbook`.
3. Решить судьбу локальной ветки `feature/data-generator-kimi`
   (пользователь ещё не ответил).

## Состояние стенда

Стенд поднят: мир 1,25 суток на профиле `ci`, `model_t_end` =
`2026-01-02 06:00`, live-генератор не запущен, дашборд — Superset id 1.
Для новой работы, скорее всего, понадобится чистый прогон (`make clean`).

## Suggested skills

- `claude-subagent-playbook` — конвейер задач.
- `conventional-commits` — коммиты.
- `research` / Context7 — фактура для спеки (формат артефакта, Airflow
  `schedule`).
