The service no longer schedules work itself. POST /api/v1/encyclopedia/run syncs and runs the encyclopedia; it answers 502 when the run fails or the text model stopped it, so a CronJob shows a failed run as a failed Job. The sync loop keeps its startup sync and the webhook trigger; the 30-min interval is a CronJob calling POST /api/v1/sync. Removed: EncyclopediaBackgroundService, Encyclopedia RunAt/TimeZone, Wiki:Sync IntervalSeconds/RetrySeconds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>