From 8c3a73f063c9ef13acd1a5ff96bcb67ceaea0560 Mon Sep 17 00:00:00 2001 From: tend-agent <270458913+tend-agent@users.noreply.github.com> Date: Sun, 24 May 2026 07:52:56 +0000 Subject: [PATCH] skills(running-in-ci): forbid ScheduleWakeup and fire-and-forget background bash in CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ScheduleWakeup is a /loop dynamic-mode tool with no fire mechanism in single-shot CI; calling it after backgrounding work leaves the action idle until the 6h Actions cap. Same hazard for backgrounding a Bash command then ending the turn — no follow-up turn arrives to receive the completion notification. Observed on PRQL/prql tend-mention run 26347739838: bot posted its plan comment at 01:04:39Z, called ScheduleWakeup(270s) expecting to come back after a `task prqlc:pull-request` background bash finished, then sat idle until cancelled at 06:44:16Z. Co-Authored-By: Claude Opus 4.7 --- plugins/tend-ci-runner/skills/running-in-ci/SKILL.md | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/tend-ci-runner/skills/running-in-ci/SKILL.md b/plugins/tend-ci-runner/skills/running-in-ci/SKILL.md index 9696291e..09abfcec 100644 --- a/plugins/tend-ci-runner/skills/running-in-ci/SKILL.md +++ b/plugins/tend-ci-runner/skills/running-in-ci/SKILL.md @@ -77,6 +77,7 @@ If a linked PR merged (or the triggering PR itself merged) **after the triggerin - **Merging**: Never merge PRs or enable auto-merge (`gh pr merge`, `gh pr merge --auto`). PRs are proposals — a maintainer decides when to merge. - **Scope**: PRs, pushes, and comments on existing threads in other repos are off-limits. Filing fresh issues in other repos follows **Filing Issues in Other Repos** below. - **Hanging commands**: Never use `gh run watch` or `gh pr checks --watch` — both hang indefinitely. Poll with `gh pr checks` in a loop instead. +- **No deferred turns**: Never call `ScheduleWakeup` — it's a `/loop` dynamic-mode tool with no fire mechanism in single-shot CI, so the action sits idle until the 6-hour Actions cap. Same hazard if you background a long-running Bash command with `run_in_background: true` and then end the turn — there is no follow-up turn to receive the completion notification, and the job idles until the cap. Either block on long-running work synchronously, finish what you can without waiting, or hand off in your final response (e.g. comment on the PR with what's left) and exit. ## Filing Issues in Other Repos