diff --git a/lib/evaluate.py b/lib/evaluate.py index 104635e..8251bbd 100644 --- a/lib/evaluate.py +++ b/lib/evaluate.py @@ -546,7 +546,8 @@ async def evaluate_pr(conn, pr_number: int, tier: str = None) -> dict: ) conn.execute( """UPDATE prs SET status = 'approved', leo_verdict = 'skipped', - domain_verdict = 'skipped' WHERE number = ?""", + domain_verdict = 'skipped', domain = COALESCE(domain, 'cross-domain'), + auto_merge = 1 WHERE number = ?""", (pr_number,), ) return {"pr": pr_number, "auto_approved": True, "reason": "musings_only"} @@ -792,8 +793,8 @@ async def evaluate_pr(conn, pr_number: int, tier: str = None) -> dict: is_agent_pr = not branch_name.startswith(PIPELINE_OWNED_PREFIXES) conn.execute( - "UPDATE prs SET status = 'approved', auto_merge = ? WHERE number = ?", - (1 if is_agent_pr else 0, pr_number), + "UPDATE prs SET status = 'approved', domain = COALESCE(domain, ?), auto_merge = ? WHERE number = ?", + (domain, 1 if is_agent_pr else 0, pr_number), ) db.audit( conn, @@ -1084,7 +1085,8 @@ async def _run_batch_domain_eval( ) conn.execute( "UPDATE prs SET status = 'approved', leo_verdict = 'skipped', " - "domain_verdict = 'skipped' WHERE number = ?", + "domain_verdict = 'skipped', domain = COALESCE(domain, 'cross-domain'), " + "auto_merge = 1 WHERE number = ?", (pr_num,), ) succeeded += 1 @@ -1289,7 +1291,7 @@ async def _run_batch_domain_eval( pr_info = await forgejo_api("GET", repo_path(f"pulls/{pr_num}")) pr_author = pr_info.get("user", {}).get("login", "") if pr_info else "" await _post_formal_approvals(pr_num, pr_author) - conn.execute("UPDATE prs SET status = 'approved' WHERE number = ?", (pr_num,)) + conn.execute("UPDATE prs SET status = 'approved', domain = COALESCE(domain, ?), auto_merge = 1 WHERE number = ?", (domain or "cross-domain", pr_num,)) db.audit( conn, "evaluate", "approved", json.dumps({"pr": pr_num, "tier": "STANDARD", "domain": domain,