diff --git a/family/projects/watchlist-sync.md b/family/projects/watchlist-sync.md index 6fee0cc2..5fc99403 100644 --- a/family/projects/watchlist-sync.md +++ b/family/projects/watchlist-sync.md @@ -107,7 +107,16 @@ WATCHLIST_PATH=/vault/family/documents/movies-watchlist.md **Jellyfin userId:** получать через `GET /Users` (admin user = alex) -### 1.5 AI Curation Job (Hermes Kraken) +### 1.5 Cron Jobs (Hermes Eagle) + +Два детерминированных shell-script крона: + +| Job | Расписание | Скрипт | +|-----|-----------|--------| +| `watchlist-nightly` | ежедн. 01:00 | `~/.hermes/scripts/watchlist-nightly.sh` | +| `watchlist-discover` | вс 09:00 | `~/.hermes/scripts/watchlist-discover.sh` | + +Используют `~/scripts/sync-vault.sh` для всех git-операций (stash/pull/pop/commit/push). **Не агентные** — скрипты вызывают CLI напрямую, никакого LLM в pipeline. **Cron: каждые 6 часов** diff --git a/wiki/concepts/watchlist-automation.md b/wiki/concepts/watchlist-automation.md index 5b7d65b2..506458b8 100644 --- a/wiki/concepts/watchlist-automation.md +++ b/wiki/concepts/watchlist-automation.md @@ -46,17 +46,38 @@ Jellyfin (8096) → rescan → виден контент |--------|---------|---------| | `[ ]` | не смотрел, в очереди | sync-down добавляет в Radarr/Sonarr | | `[x]` | просмотрено | sync-up из Jellyfin watched history | +| `⬇️` | добавлено в Radarr/Sonarr | ждёт скачки | | `👍` | нравится (новинка) | process-thumbs переносит в начало → попадёт в sync-down | -| `👎` | не хочу (новинка) | process-thumbs перемещает в "Новинки 👎" | +| `👎` | не хочу (новинка) | process-thumbs перемещает в `## Новинки👎` | | `🗓️` | upcoming (ещё не вышел) | discover помечает, не скачивается | +| `❓` | не найдено / ambiguous | ждёт ручного уточнения | +| `🧟‍♀️` | horror (genre_id=27) | информационный маркер | + +## Структура секций movies-watchlist.md + +``` +## Новинки - 👍/👎 ← discover добавляет сюда +## Фильмы ← основной список, отступ 2 пробела ( - [ ]) +## Мультфильмы +## Аниме +## Новинки👎 ← ← без пробела перед 👎 +## Связанные заметки +``` + +**Важно:** `process_thumbs` автоматически определяет отступ из `## Фильмы` и сохраняет при переносе. `SECTION_THUMBDN = "## Новинки👎"` (без пробела) — должно точно совпадать с заголовком. ## Cron Jobs на Eagle -| Job | ID | Расписание | -|-----|-----|-----------| -| `watchlist-discover` | `6aba6979b8c4` | вс 09:00 | -| `watchlist-resolve` | `16438138c8c5` | ежедн. 09:00 | -| `watchlist-sync-down` | `7d12b6d48786` | ежедн. 10:00 | +Два shell-script крона (не агентные — детерминированы): + +| Job | ID | Расписание | Скрипт | +|-----|-----|-----------|--------| +| `watchlist-nightly` | `93619b22b330` | ежедн. 01:00 | `~/.hermes/scripts/watchlist-nightly.sh` | +| `watchlist-discover` | `8f219dfe8f0f` | вс 09:00 | `~/.hermes/scripts/watchlist-discover.sh` | + +**watchlist-nightly.sh** (Mac → Kraken → Mac): +1. `sync-vault.sh` (pull Mac) → `process-thumbs --apply` → `sync-vault.sh` (push Mac) +2. SSH Kraken: `sync-vault.sh` (pull) → `resolve --recheck --apply` → `sync-down --apply --batch 5` → `sync-up --apply` → `sync-vault.sh` (push) ## Discover — Фильтрация