Router v3
What changed in Router v3
Router v3 is the release behind the pilot. It keeps the same rule — forward opaque envelopes, leave interpretation to adapters — and changes how the router is assembled, addressed and bound.
One core, two roles
A private router and a public router are two assemblies of the same core and the same message contract. The public role terminates TLS and authenticates a bearer caller; the private role runs inside your network with site trust.
Moving a seat between the two does not change the envelope, the result or the adapter. It changes the transport and the identity check, which belong to the role plugin.
Seats register themselves
v3 adds automatic seat registration and slot addressing in the form seat:<kind>/<slug>. A slot maps a registered seat to the runtime that serves it, so an agent is addressed by role rather than by a fragile endpoint.
Self-registration does not widen permissions. Reach is still decided by the stored grant, and rotating a credential still stops the old one.
Contracts carry a version
The node task and result contracts are versioned (v2), alongside a routing catalog, a node access policy and an admission schema. A breaking change ships as a new version instead of changing a shape in place.
node-task.v2andnode-result.v2— what a node receives and returnsrouting-catalog.v1— which seats and routes are addressablenode-access-policy.v1— who may reach whatrouter-admission.v1— what the router accepts before it queues
Delivery returns to the origin
A result and an egress payload are bound to the conversation that started the work. The router resolves the stored binding; an adapter must not infer a destination from the message body.
Delivering the result and acknowledging the egress are separate evidence. A profile that sends the result as a new canonical reply additionally verifies the original request.
Audit covers what the router carried
Admission, routing and egress actions are recorded with the acting seat and a timestamp. That record covers router-routed traffic. Work that an adapter drops inside its own process belongs to the adapter's log, not to the router.
What v3 does not claim
No exactly-once delivery, no uptime SLA during the pilot, no end-to-end encryption claim, and no claim that the router understands your payload. The guarantees are storage before delivery, idempotent redelivery keyed by job identity, and attributed actions.