Skip to content

fix(poteto-mode): wait on T3's native PR watch in Babysit and Shipping - #76

Open
yqecea wants to merge 3 commits into
chhoumann:mainfrom
oysana:t3/remove-blocking-ci-polling
Open

yqecea wants to merge 3 commits into
chhoumann:mainfrom
oysana:t3/remove-blocking-ci-polling

Conversation

@yqecea

@yqecea yqecea commented Nov 11, 2026

Copy link
Copy Markdown

Why

Babysit step 6 and Shipping step 5 told a T3 agent to run the watch-pr CLI watcher in a loop inside the turn for up to three hours. A blocking shell call starves the thread's native monitor wakes, and watch_pull_request already wakes the thread on checks, reviews, and comments.

What changed

  • Babysit step 6 and Shipping step 5 now split the wait by surface. In T3 with native PR tools the agent checks the frontier once, arms watch_pull_request, and ends the turn with a checkpoint. Without them the CLI watcher loop stays.
  • Babysit's split is two substitutions in tools/substitutions.json; the drive rule is now scoped to babysit.md, the only file that carries the sentence upstream.
  • Shipping stays a declared fork for --match-head-commit and the exit-6 stop; its step 5 carries the split in the file, and a substitution writes it into the derived shadow the next merge diffs against.

Scope

Skill text only. No scripts, hooks, model defaults, or workflows change. This is patch release 2.2.9 with its CHANGES.md entry.

Blast Radius

Every installed pstack agent that babysits or ships a PR on T3 stops blocking its turn on a watcher loop. Standalone installs keep the previous behavior.

Verification

  • bun tools/sync.mjs pstack c742dd6 --bootstrap regenerates babysit.md to the split text; shipping.md stays a kept fork. --dry-run at the pin passes for all three components with no undeclared fork and no unmatched rule.
  • bun tools/generate.mjs and --check pass. bun test tests/: 550 pass, 69 skip, 0 fail across 619 tests.
  • tests/sync.test.mjs gains an entry per new anchor.

yqecea and others added 3 commits November 11, 2026 22:43
Babysit step 6 ran the watch-pr CLI watcher with --timeout 540 as a loop
inside the turn, and Shipping step 5 did the same for the landing wait.
On T3 a blocking watcher holds the turn open and starves the thread's
native monitor wakes, while watch_pull_request already wakes the thread
on checks, reviews, and comments.

Both steps now split the wait by surface. In T3 with native PR tools the
agent checks the frontier once, arms watch_pull_request, and ends the
turn with a checkpoint; a delegated child hands the checkpoint back to
the coordinator that owns the watch. Without native PR tools the steps
keep the CLI watcher loop unchanged. Babysit's split rides two
substitutions on the step-6 heading and the /loop sentence; Shipping is
a declared fork, so its file carries the split and a substitution writes
it into the derived shadow too.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant