Found during discovery-lab's cohort migration to 0.138.0 (tangle-network/discovery-lab#289), verified against the installed dist rather than release notes.
The peer-mail channel merged in #879 cannot be enabled by a supervise() consumer:
SuperviseOptions (dist/index-BOgzou1U.d.ts:4671) declares no peer-mail field; the only coordination knob is CoordinationBinding (:4430) — host/port/allowUnauthenticatedRemote.
- The opt-in exists internally: dist/supervise-to2ynnCG.js:1581 —
opts.peerMail ? createPeerMailbox(...) : void 0 — but nothing sets it: no option, no env var, no profile field.
- The supervisor build's own
serveCoordinationMcp call (dist/supervise-to2ynnCG.js:5750) forwards scope, blobs, makeWorkerAgent, perWorker, onStop — not peerMail.
So a lead's child cannot message a sibling on 0.138.0, even though the primitives import cleanly from agent-runtime/kernel.
Two adjacent gaps once the option exists:
- Nothing in the runtime reads
WorkerSpawnContext.peerMailUrl — the caller must mount it via a custom makeWorkerAgent (out-of-band, correctly, so the profile digest does not move), which should either be done by the runtime or documented as the consumer's job.
- No capability is minted until
serveCoordinationMcp starts its loopback listener, so the option must thread through before serving, not after.
Ask: declare peerMail on SuperviseOptions and forward it through the supervisor's serveCoordinationMcp call. Happy to PR — the two edit sites above are exact.
Downstream consumer waiting on this: discovery-lab, whose fleet already routes analyst findings into live siblings (the analyzeOnSettle to: path) and needs the mail channel for direct ask/tell/challenge exchanges.
Found during discovery-lab's cohort migration to 0.138.0 (tangle-network/discovery-lab#289), verified against the installed dist rather than release notes.
The peer-mail channel merged in #879 cannot be enabled by a supervise() consumer:
SuperviseOptions(dist/index-BOgzou1U.d.ts:4671) declares no peer-mail field; the only coordination knob isCoordinationBinding(:4430) — host/port/allowUnauthenticatedRemote.opts.peerMail ? createPeerMailbox(...) : void 0— but nothing sets it: no option, no env var, no profile field.serveCoordinationMcpcall (dist/supervise-to2ynnCG.js:5750) forwardsscope, blobs, makeWorkerAgent, perWorker, onStop— notpeerMail.So a lead's child cannot message a sibling on 0.138.0, even though the primitives import cleanly from
agent-runtime/kernel.Two adjacent gaps once the option exists:
WorkerSpawnContext.peerMailUrl— the caller must mount it via a custommakeWorkerAgent(out-of-band, correctly, so the profile digest does not move), which should either be done by the runtime or documented as the consumer's job.serveCoordinationMcpstarts its loopback listener, so the option must thread through before serving, not after.Ask: declare
peerMailonSuperviseOptionsand forward it through the supervisor's serveCoordinationMcp call. Happy to PR — the two edit sites above are exact.Downstream consumer waiting on this: discovery-lab, whose fleet already routes analyst findings into live siblings (the analyzeOnSettle to: path) and needs the mail channel for direct ask/tell/challenge exchanges.