From 237732bc64cb576ba58d0383a307513d3d4a50d8 Mon Sep 17 00:00:00 2001 From: Dev Agent Date: Wed, 3 Jun 2026 08:27:52 +0300 Subject: [PATCH] refactor(launcher): remove dead _auto_merge_pr (M-4) _auto_merge_pr had zero callers (merge is handled by the deployer agent). Removed the method; _ensure_pr (still used by the auto-advance path) is kept. --- src/agents/launcher.py | 41 ----------------------------------------- 1 file changed, 41 deletions(-) diff --git a/src/agents/launcher.py b/src/agents/launcher.py index 3f9afcb..303a2d4 100644 --- a/src/agents/launcher.py +++ b/src/agents/launcher.py @@ -703,47 +703,6 @@ class AgentLauncher: logger.error(f"Failed to create PR for {branch}: {e}") return None - def _auto_merge_pr(self, repo: str, branch: str, task_id: int, work_item_id: str): - import httpx - owner = settings.gitea_owner - headers = {"Authorization": f"token {settings.gitea_token}"} - base_url = f"{settings.gitea_url}/api/v1" - try: - resp = httpx.get( - f"{base_url}/repos/{owner}/{repo}/pulls", - params={"state": "open", "head": branch}, - headers=headers, timeout=10 - ) - resp.raise_for_status() - prs = resp.json() - if not prs: - pr_number = self._ensure_pr(repo, branch, 0) - if not pr_number: - return False - else: - pr_number = prs[0]["number"] - resp = httpx.post( - f"{base_url}/repos/{owner}/{repo}/pulls/{pr_number}/merge", - json={"Do": "merge"}, - headers=headers, timeout=30 - ) - if resp.status_code in (200, 204): - logger.info(f"PR #{pr_number} merged for {branch}") - update_task_stage(task_id, "done") - notify_stage_change(task_id, "deploy", "done") - plane_notify_stage(work_item_id, "deploy", "done") - from ..notifications import send_telegram - send_telegram(f"\u2705 {work_item_id}: PR #{pr_number} merged! deploy -> done. Task complete.") - return True - else: - logger.error(f"Merge failed for PR #{pr_number}: {resp.status_code} {resp.text}") - from ..notifications import send_telegram - send_telegram(f"\u26a0\ufe0f {work_item_id}: Auto-merge failed (HTTP {resp.status_code}). Manual merge needed.") - return False - except Exception as e: - logger.error(f"Auto-merge failed for {branch}: {e}") - return False - def _write_task_file(self, repo: str, branch: str, task_file: str, content: str): """Write task file directly into the task's worktree.