Skip to content

peer mail (PR #879) is unreachable through supervise() — no SuperviseOptions field, not forwarded to serveCoordinationMcp #889

Description

@drewstone

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:

  1. 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.
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions