2.2 KiB
2.2 KiB
Дорожная карта
Черновик плана реализации. Ориентир, не обязательство; по ходу
уточняется. Что реализовано и как устроено — в docs/specs.
Фазы
- Ф0 — каркас. go.mod, раскладка пакетов, загрузка TOML-конфига, SQLite + миграции, slog-логи, Dockerfile (static → distroless), golangci-lint, lefthook. Документация (этот этап — частично готов).
- Ф1 — ingest + tracking (без LLM).
Ingest()+ добавление в qBittorrent (категорияjellybit) +worker-поллинг завершения + машина состояний. Наружу: HTTP API, список в веб-UI,jellybit add. - Ф2 — распознавание.
go-ptn+ LLM (structured output) → план + оценка уверенности. Без записи на диск. - Ф3 — раскладка + минимальный review. Хардлинки по конвенциям Jellyfin, субтитры, идемпотентность. Авто при высокой уверенности; низкая → экран подтверждения (htmx).
- Ф4 — метаданные. TMDB/TVDB опционально, provider-id в именах, валидация распознавания против числа серий.
- Ф5 — Telegram + UX. Бот-адаптер + парсер сообщений торрент-бота, подтверждение в боте, триггер скана Jellyfin, нотификации.
- Ф6 — деплой. Static-образ/бинарь + обвязка в umbar
(
playbook-jellybit.yml).
Заметки по порядку
- Минимальный review-экран нужен уже в Ф3 (как только появляется режим «спросить при сомнении»), полноценный UX — в Ф5.
- Jellyfin в umbar ещё не развёрнут — раскладку файлов это не блокирует, тестируется без него; триггер скана подключаем, когда Jellyfin поднят.