# description
Per-pair socket selection (UDS / TCP localhost / HTTPS) plus the env-var + default-address wiring every consumer needs to dial each destination.

# properties.pairs.description
Map of `<src>_to_<dst>` → pair spec. `_to_` is structural — codegen splits on it to derive endpoint tables.

# properties.volumes.description
Shared-tmpfs volume catalogue consumed by Compose + Cloud Run.

# properties.services.description
Trust-topology service registry — each HTTP-serving service declares which Cedar route classes it accepts and which other services initiate inbound calls. Consumed by scripts/codegen/forward/trust/topology.py to assert every chi route lands on a service whose accepts_classes covers it AND every declared inbound caller has a matching `<caller>_to_<service>` pair under pairs above. Source `public` is a sentinel for the open internet (modeled in edge.tls instead of a pair).

# $defs.service.properties.accepts_classes.description
Cedar route classes this service is allowed to host (matched against scripts/codegen/forward/trust/policy/compile.py ROUTES).

# $defs.service.properties.inbound_callers.description
Source services that initiate HTTP calls to this destination. Each non-`public` entry must have a corresponding `<caller>_to_<service>` pair under pairs above. `public` is a sentinel for the open internet.