# kb-ingest.timer — module 5 phase 3 step 5 (kb/phases/kb-m5-faza3.md §7.1). # # Every 2 hours since 2026-08-06. It used to be daily at 03:30, which was right when the only # producer was Paperless: full-corpus re-scans, 186 documents, and a low-traffic window. # # Two facts made that schedule wrong (recon kb/audits/mail-sync-2026-08-06.md §3.3, operator # Decyzja (d)): # 1. SOLARIA is powered off ~16 h/day BY DESIGN, and 03:30 falls inside that window. # Measured on PIHA 2026-08-06: `kb_ingest_embed_skipped 1` — that morning's tick # skipped both embed stages because the Ollama probe got no answer. # 2. From 2026-08-06 this tick also drains the mail queue that kb-mail-sync fills: roughly # 60 new chunks a day. Skipped every single night, the embed backlog would grow # monotonically and KbEmbedBacklogGrowing (`> 0` for 72h) would light up permanently — # signalling nothing but a schedule that never coincides with the GPU being on. An # alert that is always firing has stopped being an alert. # # Two hours, rather than a fixed hour chosen to match when SOLARIA is usually up: the Ollama # probe already picks the working window on its own, so some tick lands in it whatever the # operator's habits are that week. Ticks that miss it skip the embed stages and cost nothing; # the write stages are idempotent and the queue is derived from the data. # # Persistent=true catches up after a PIHA reboot instead of silently skipping a run. [Unit] Description=Run kb-ingest.service every 2 hours (module 5 phase 3 step 5) [Timer] OnCalendar=0/2:00:00 Persistent=true RandomizedDelaySec=300 [Install] WantedBy=timers.target