Kodiak ECM cleanup — removes orphaned records and clears space. Timer: daily at 04:39. Job: kodiak_ecmcleanup. Python venv: kodiak. Settings: settings_info.json.
KNOWN ISSUE (2026-04-20): currently Type=simple with Restart=no, blocking on a Python process that regularly overruns the 24h timer interval. While the service is active(running), systemd dedupes subsequent timer fires as no-ops — ExecStart does not re-run, so job_process_ctl.sh never evicts the overrun process. Observed: 28h+ active run on 2026-04-19–20, today's 04:39 timer fire suppressed. PLANNED REFACTOR: convert to the Detached Worker Pattern (Type=oneshot + KillMode=process + bash -c 'nohup … &'), which releases the unit to inactive within a second so the timer fires on schedule and job_process_ctl can do its job. See wiki: Detached Worker Pattern + Cron Wrapper & Action Script Standard → Service Type Rules (corrected 2026-04-20).