refactor(orchestrator): swap SubprocessBottleRunner → ProgrammaticBottleRunner
lint / lint (push) Failing after 2m15s
test / unit (pull_request) Successful in 51s
test / integration (pull_request) Successful in 21s
test / coverage (pull_request) Successful in 1m7s

BottleRunner Protocol tightened: start() → str, freeze/resume/destroy → None.
RunResult removed. lifecycle.py unpacks the slug directly. FakeRunner and
test_runner updated to match. Config.bot_bottle_cli dropped (nothing uses it).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-01 19:47:57 +00:00
parent 71699b3ecd
commit d5fb159857
7 changed files with 104 additions and 133 deletions
+2 -2
View File
@@ -110,7 +110,7 @@ class Orchestrator:
def _launch(self, event: IssueAssigned, target: Target) -> None:
label = self._label_for(target.agent_name, event)
bottles = [target.bottle_override] if target.bottle_override else []
result = self._runner.start(
slug = self._runner.start(
agent=target.agent_name,
bottles=bottles,
label=label,
@@ -122,7 +122,7 @@ class Orchestrator:
owner=event.owner,
repo=event.repo,
issue_number=event.issue_number,
slug=result.slug,
slug=slug,
agent_name=target.agent_name,
bottle_names=bottles,
status=STATUS_RUNNING,