- Зачем: - handoff должен отражать, что уже в трекере, а что осталось завести. - Что: - список «не забыть» сокращён: #1 и #2 созданы, остались лабы и инкрементальный ETL. - Проверка: - gh issue list — два открытых issue.
7.5 KiB
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, спеки, runbookstartup-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 задачи:
- Ядро: эталонный 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. - Один учебный профиль:
daily-wave(волна, ×60) — учебный,ci(×1, плоский) — служебный для тестов; форма не должна подсовыватьciпервым. Перед слиянием проверить, не зависит ли runtime-seam-тест от скорости ×1. - Расписание + инкремент: беспараметрный DAG
next-day(удобство менти и пригодность кschedule) + инкрементальные счётчики manifest: сейчасnext-dayперечитывает всю Kafka-историю с нуля — O(N²) по дням и рост RAM (риск OOM); замер: день 2 = 638 с, узкое место — генерация+пересчёт, не ETL (30 с). Параллелить нельзя (детерминизм), правильный рычаг — накопленное состояние счётчиков в manifest/state. - Баг-фиксы: 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.
Осталось:
- Корневой issue + 4 дочерних на GitHub по спеке (раздел «Форма работ»).
Багфиксы уже в трекере: #1 (F5, разлогин), #2 (F4, JS Grid).
Осталось завести два issue «не забыть»: редизайн лаб курса (отстали
от реальности, не заработают) и инкрементальный ETL (техдолг:
full_refreshпересчитывает весь мир на каждыйworld_next_day; растёт с миром; исторический контекст —plans/incremental-etl-v2.md; кандидат в материал лабы про инкрементальную обработку). - Работа по задачам конвейером
claude-subagent-playbook. - Решить судьбу локальной ветки
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 — фактура для спеки (формат артефакта, Airflowschedule).