fix(backend): finish infra_launch rename + base cap after rebase onto main

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>
This commit is contained in:
2026-07-27 14:59:19 +00:00
parent 40955af86b
commit 343bf89f82
2 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -69,7 +69,7 @@ def _network_container_ips(network: str) -> list[str]:
])
if proc.returncode != 0:
detail = proc.stderr.strip() or f"exit {proc.returncode}"
raise ConsolidatedLaunchError(
raise InfraLaunchError(
f"could not inspect addresses on gateway network {network}: {detail}"
)
ips: list[str] = []
+2 -2
View File
@@ -85,11 +85,11 @@ class TestRuntimeModuleSizes(unittest.TestCase):
def test_backend_contract_does_not_absorb_preparation_logic(self) -> None:
# base.py holds the backend *contract*; implementation lives elsewhere.
# The cap is a tripwire against absorbing preparation/impl logic, not a
# ban on new contract surface — bumped 580->600 for the PRD 0081
# ban on new contract surface — bumped 580->615 for the PRD 0081
# gateway-attach contract (delegator + 3 abstract primitives; the flow
# itself lives in backend/gateway_attach.py, not here).
caps = {
ROOT / "bot_bottle" / "backend" / "base.py": 600,
ROOT / "bot_bottle" / "backend" / "base.py": 615,
ROOT / "bot_bottle" / "backend" / "preparation.py": 160,
}
oversized = [