Index: src/config/database.js
===================================================================
--- src/config/database.js	(revision f5c3870ac3f184f2c36420726af8895b46458f19)
+++ src/config/database.js	(revision 5a6a457ca2bf625de84ec03d20f7757480337fde)
@@ -389,4 +389,14 @@
     );
     CREATE INDEX IF NOT EXISTS idx_ap_blocks_target ON ap_blocks(target);
+    CREATE TABLE IF NOT EXISTS ap_delivery (
+      id INTEGER PRIMARY KEY AUTOINCREMENT,
+      slug TEXT NOT NULL,          -- our site/actor that signs the delivery
+      inbox TEXT NOT NULL,         -- recipient inbox URL
+      body TEXT NOT NULL,          -- the activity JSON to POST
+      attempts INTEGER NOT NULL DEFAULT 0,
+      next_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+      created_at DATETIME DEFAULT CURRENT_TIMESTAMP
+    );
+    CREATE INDEX IF NOT EXISTS idx_ap_delivery_due ON ap_delivery(next_at);
   `);
 }
