Index: src/server.js
===================================================================
--- src/server.js	(revision 8ef8c3eac2476504a52ea0e74c93a6692330eecb)
+++ src/server.js	(revision d71ed0317f432dcfec0a7c029d67f8d6f429ff9f)
@@ -58,5 +58,5 @@
 import ogRoutes from './routes/og.js';
 import apRoutes from './routes/activitypub.js';
-import { apWants, startDeliveryWorker } from './services/ActivityPubService.js';
+import { apWants, startDeliveryWorker, autoMigrateCircles } from './services/ActivityPubService.js';
 
 // SESSION_SECRET: use the env var if set. Otherwise auto-generate a strong one
@@ -161,4 +161,5 @@
 startScheduler(); // release planning: publish scheduled posts when publish_at is reached
 startDeliveryWorker(); // retry failed fediverse deliveries with backoff
+autoMigrateCircles(); // one-time: convert legacy circle_links -> AP auto-boost follows
 
 // Safety net: guarantee that there is always a primary site (solo/hub/circle).
