diff --git a/fleetd/src/main/java/dev/ltms/fleet/Fleetd.java b/fleetd/src/main/java/dev/ltms/fleet/Fleetd.java
index 5f66d7a3..c701c2c1 100644
--- a/fleetd/src/main/java/dev/ltms/fleet/Fleetd.java
+++ b/fleetd/src/main/java/dev/ltms/fleet/Fleetd.java
@@ -217,25 +217,28 @@ public final class Fleetd {
/**
* The {@link Injector}'s readiness gate (CB-534): a target is deliverable if it is a spawned
- * member whose agent has connected the bridge MCP, or a lead.
+ * member whose agent has connected the bridge MCP, a lead, or a collaborator.
*
*
The gate exists for one reason — to hold a delivery out of a spawned member's boot
* window, where herdr already reports {@code idle} but the TUI would drop an injected paste. That
* hazard is a property of spawning. A lead is never spawned: the operator started it and named it
- * (or labelled its tab) only once it was up, so there is no boot window to guard.
+ * (or labelled its tab) only once it was up, so there is no boot window to guard. A collaborator
+ * is the same way — a person's own tab, matched to a configured name, never spawned.
*
- *
A lead is also never enrolled in {@link MemberPresence} — {@code FleetMcp} marks presence
- * for every spawned member (worker and architect), deliberately, since that map doubles as the
- * member roster's availability signal and a lead counted there would show up as an available
- * member. So without the second disjunct a lead is permanently un-deliverable: every
- * lead→lead send sat on the gate for {@code READINESS_GRACE_POLLS} (~60s) and then failed
- * having never been typed into the pane.
+ *
Neither a lead nor a collaborator is ever enrolled in {@link MemberPresence} — {@code
+ * FleetMcp} marks presence for every spawned member (worker and architect), deliberately, since
+ * that map doubles as the member roster's availability signal and a lead or collaborator counted
+ * there would show up as an available member. So without the second and third disjuncts a lead or
+ * collaborator is permanently un-deliverable: every send to one sat on the gate for
+ * {@code READINESS_GRACE_POLLS} (~60s) and then failed having never been typed into the pane.
*
- *
The lead set is read through the supplier on each call rather than snapshotted, so a lead
- * discovered by {@code leadScan} after startup becomes deliverable without a restart.
+ *
Both sets are read through their supplier on each call rather than snapshotted, so a lead or
+ * collaborator discovered by {@code leadScan} after startup becomes deliverable without a restart.
*/
- static Predicate deliverableTo(MemberPresence presence, Supplier