From b5b9c764bc18877b9a3c0b1e228a5a775b8602c1 Mon Sep 17 00:00:00 2001 From: Guy Date: Wed, 19 Aug 2026 16:21:23 +0300 Subject: [PATCH] Replace -f body=@file with -F body=@file in gh api call example --- pstack/skills/poteto-mode/playbooks/babysit.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pstack/skills/poteto-mode/playbooks/babysit.md b/pstack/skills/poteto-mode/playbooks/babysit.md index ea83b98f..fc067b8f 100644 --- a/pstack/skills/poteto-mode/playbooks/babysit.md +++ b/pstack/skills/poteto-mode/playbooks/babysit.md @@ -19,7 +19,7 @@ Babysitting fails the same few ways every time. Each step below exists because t Answer a user question mid-loop and continue. Only an explicit stop ends the loop before the stop verdict: `READY` in single or stack mode, or a `WAITING`/`merge-queue` report (or `COMPLETE`) in queued mode. For a queued stack, capture the PR list bottom-to-top once and pass the same frozen list to every rearm. Rediscovering the stack after a parent merges can lose retargeted descendants. Revise the list only for the sanctioned follow-up PR from step 4. Append it at the end, drop the merged owner, and rearm with the corrected snapshot. Step 4 creates that PR on top of the stack, so it merges last. 7. **Classify CI before any retrigger.** Flake or infrastructure earns one fresh build, never a job retry, because a retry reuses the original ref snapshot. One retry only; an identical second failure means it was never flake, so reclassify and read the child logs instead of retrying blind. A failure in code the diff never touches means a stale base, so check with `git merge-base --is-ancestor` before assuming flake. A stale base reproduces every time and no number of rebuilds fixes it, so report it as needing a rebase instead of burning retries. Only a failure in the diff's own code gets a commit. -8. **Bugbot is triaged skeptically, always.** Verify each claim against the code per `../references/bugbot-triage.md`. Fix real findings with a red-first proof in the lowest PR that owns the code, never at the tip unless the owning PR has merged. In that case, use step 4's sanctioned follow-up PR. Per step 2, upstack fixes wait for step 5's next frontier-driven push wave. Push that wave before replying so the reply cites the commit, and post replies through a fixed `gh api` call that passes the comment body as data (a JSON payload or `-f body=@file`), never through shell assembled from comment text. Dismiss noise with the concrete disproof on the thread. The watcher stamps every thread with the Bugbot pass count; from the third pass on, lean toward dismissing documented patterns, still escalating anything touching security, auth, billing, data, or migrations rather than dismissing it yourself. Never churn code to quiet a bot. +8. **Bugbot is triaged skeptically, always.** Verify each claim against the code per `../references/bugbot-triage.md`. Fix real findings with a red-first proof in the lowest PR that owns the code, never at the tip unless the owning PR has merged. In that case, use step 4's sanctioned follow-up PR. Per step 2, upstack fixes wait for step 5's next frontier-driven push wave. Push that wave before replying so the reply cites the commit, and post replies through a fixed `gh api` call that passes the comment body as data (a JSON payload or `-F body=@file`), never through shell assembled from comment text. Dismiss noise with the concrete disproof on the thread. The watcher stamps every thread with the Bugbot pass count; from the third pass on, lean toward dismissing documented patterns, still escalating anything touching security, auth, billing, data, or migrations rather than dismissing it yourself. Never churn code to quiet a bot. 9. **Stop at the human's line.** Owner approval is a wait, not a blocker to fix. Babysitting never authorizes merging. Only an explicit request to merge, land, ship, or merge when ready does. Route that request to Shipping. Surface the escalation and keep working the rest. After `READY`, a queued `WAITING`/`merge-queue` stop, or `COMPLETE`, sweep the run's triage decisions once. Offer any team-useful dismissal pattern as a candidate entry in the shared rubric (`../references/bugbot-triage.md`) and its own PR. Never keep it only in private memory. `drive` ends at merge-ready. Landing the stack is `playbooks/shipping.md`, which verifies each PR independently before anything is armed, because green is not the same as safe.