fix(gh-monitor): filter own comments to prevent loops; switch delivery to announce

This commit is contained in:
2026-03-15 22:58:50 -04:00
parent c25fb2e10e
commit 91a2f0fb62
2 changed files with 9 additions and 1 deletions

View File

@@ -6,3 +6,4 @@ repos:
- review_comment
- issue_comment
- pr_closed
ignore_actor: hansheinemann # skip my own comments to prevent feedback loops

View File

@@ -191,7 +191,7 @@ def dispatch_agent(repo_slug: str, pr: dict, event: dict) -> None:
"--session", "isolated",
"--message", message,
"--delete-after-run",
"--no-deliver",
"--announce",
"--timeout-seconds", "300",
],
capture_output=True,
@@ -261,6 +261,8 @@ def poll_repo(repo_cfg: dict, state: dict) -> dict:
all_new_events: list[tuple[dict, dict]] = [] # (pr, event)
my_login = repo_cfg.get("ignore_actor", "hansheinemann")
for pr in open_prs:
pr_number = pr["number"]
fetchers = []
@@ -276,6 +278,11 @@ def poll_repo(repo_cfg: dict, state: dict) -> dict:
events = fetcher(owner, repo, pr_number)
new = new_events_since(events, cursor, seen_ids)
for event in new:
if event.get("actor") == my_login:
log.debug("Skipping own event from %s", my_login)
if event.get("id"):
seen_ids.add(event["id"])
continue
all_new_events.append((pr, event))
except GHAPIError as e:
log.error("[%s] PR #%d fetch error: %s", repo_slug, pr_number, e)