Paul Payne
526736f778
feat(mesh): cross-node routing + presence breaker (Phase 3)
- NodeConfig.address: routable host peers proxy to (wired registry + wire)
- compute_routes emits 'remote' routes for consumed peer services
(local requires ref satisfied by an online peer -> <address>:<port>)
- _host_remote_block: fail-fast reverse_proxy (2s dial, passive health);
presence expiry removes the route entirely = the primary circuit-breaker
- mesh_gateway.py: API re-renders + reloads the Caddyfile on mesh change,
iff content changed (no-op until a cross-node service is consumed)
- tests: route emit / address fallback / breaker-absent / unconsumed
Logic verified hermetically + against primer's real registry (castle-api ->
primer:9020); live integration proven a no-op on civil.
2026-07-07 05:38:15 -07:00
..
2026-07-05 19:17:23 -07:00
2026-07-02 13:56:41 -07:00
2026-07-02 12:20:33 -07:00
2026-07-02 11:54:31 -07:00
2026-07-07 05:38:15 -07:00
2026-07-06 23:02:33 -07:00
2026-07-06 04:00:24 -07:00
2026-07-04 23:04:26 -07:00
2026-07-02 13:56:41 -07:00