343bf89f82
Reconciles the chunk-1 rebase onto the current main: - `_network_container_ips` (added on main) raised the pre-rename `ConsolidatedLaunchError`; renamed to `InfraLaunchError` to match the rest of the rename. - main grew `backend/base.py` to 563 lines; with the gateway-attach contract (39 lines) it is 602, so the guardrail cap moves 600 -> 615. The reconcile flow still lives in `backend/gateway_attach.py`, not base.py. Refs #516, #519. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>