Index: src/services/ap-transport.js
===================================================================
--- src/services/ap-transport.js	(revision 4ae254a5fe167b4e8ad9f22bbd40480efde820f1)
+++ src/services/ap-transport.js	(revision bfa3ba3ce26883066a0df7053c97b2067ddaa1e6)
@@ -278,5 +278,6 @@
   } catch { /* health tracking is non-fatal */ }
 }
-// Deliver now; queue for retry if it fails.
+// Deliver now, or queue: zegt welke van de twee het werd ('sent' | 'queued'),
+// voor de aanroepers die tellen wat er meteen aankwam.
 //
 // Niet meteen als er voor deze inbox al iets in de wachtrij staat (dan zou dit
@@ -284,12 +285,21 @@
 // server net faalde en in zijn backoff zit (dan kost het alleen acht seconden
 // time-out om hetzelfde te horen). Dan achteraan in de rij.
+//
+// DE ENIGE WEG om iets direct te versturen dat bij een mislukking in de rij
+// hoort (shaer-xzab.3). Drie plekken deden eerst zelf deliver() en pas bij een
+// mislukking enqueueDelivery(), en gingen zo langs de volgorde per inbox.
+export async function deliverNowOrQueue(slug, inbox, activity, keyId, privPem) {
+  if (!inbox) return 'queued';
+  try {
+    const st = deliveryStmts();
+    if (st.pendInbox.get(inbox) || st.hostWaits.get(inboxHost(inbox))) { enqueueDelivery(slug, inbox, activity); return 'queued'; }
+  } catch { /* geen wachtrij te lezen: gewoon proberen */ }
+  try { const st = await deliver(inbox, activity, keyId, privPem); if (st >= 200 && st < 300) { markFollowerDelivery(slug, inbox, true); return 'sent'; } } catch { /* queue below */ }
+  enqueueDelivery(slug, inbox, activity);
+  return 'queued';
+}
+// Deliver now; queue for retry if it fails.
 export async function deliverWithRetry(slug, inbox, activity, keyId, privPem) {
-  if (!inbox) return;
-  try {
-    const st = deliveryStmts();
-    if (st.pendInbox.get(inbox) || st.hostWaits.get(inboxHost(inbox))) { enqueueDelivery(slug, inbox, activity); return; }
-  } catch { /* geen wachtrij te lezen: gewoon proberen */ }
-  try { const st = await deliver(inbox, activity, keyId, privPem); if (st >= 200 && st < 300) { markFollowerDelivery(slug, inbox, true); return; } } catch { /* queue below */ }
-  enqueueDelivery(slug, inbox, activity);
+  await deliverNowOrQueue(slug, inbox, activity, keyId, privPem);
 }
 let _processingDeliv = false;
