From 6f3b221823fd7fb658385e1c42ee0c5b48870528 Mon Sep 17 00:00:00 2001 From: claude Date: Mon, 27 Jul 2026 14:59:19 +0000 Subject: [PATCH] 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 --- bot_bottle/backend/docker/infra_launch.py | 2 +- tests/unit/test_architecture_guardrails.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bot_bottle/backend/docker/infra_launch.py b/bot_bottle/backend/docker/infra_launch.py index 5a0ef5c0..224412f4 100644 --- a/bot_bottle/backend/docker/infra_launch.py +++ b/bot_bottle/backend/docker/infra_launch.py @@ -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] = [] diff --git a/tests/unit/test_architecture_guardrails.py b/tests/unit/test_architecture_guardrails.py index 109d830a..acfa6011 100644 --- a/tests/unit/test_architecture_guardrails.py +++ b/tests/unit/test_architecture_guardrails.py @@ -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 = [