044. Cages reach agents only through their own, which says so

Status: accepted 2026-10-08, built the same day — amends ADR-037 (a cage "can reach the mesh"); the alternatives are in docs/agents-in-cages.md, "Telling other agents a request comes from a cage"

Context

A caged session reaches the network through the machine's own sockets, so to every agent — this machine's included — its requests were the machine's. Two consequences. The owner wanted receivers to be able to refuse work from caged agents (caged sessions work with caged ones, the laptop's do not), and nothing could tell them a request came from a cage: the session's name is a claim, and a "caged" flag would be one the cage could leave out. And a caged agent could ask this machine's own agent to start a session outside any cage — the one hole a cage still had.

Four ways were weighed: the cage's own agent vouching for it; an address of its own on the mesh per cage (needs ADR-019's per-service addresses); running shrooms inside each cage as a mesh member of its own; and no agent access from cages at all.

Decision

Mesh peers stay machines. Not a member, not an address per cage: that would multiply the mesh's members and traffic for something one machine can settle locally.

Consequences