Skip to content

Commit 3744df5

Browse files
fix(babysit): bound persistent UNKNOWN mergeable state and clarify step skip
1 parent 62dde5b commit 3744df5

3 files changed

Lines changed: 24 additions & 21 deletions

File tree

.agents/skills/babysit/SKILL.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,11 @@ round. Always check both conditions freshly after every push.
5555
If `mergeable` comes back `CONFLICTING`, go fix that first (step 2) before evaluating review
5656
state — a conflicting PR can't run CI, and this can happen mid-loop even on a PR that was
5757
clean at creation, since staging moves several times a day. If `mergeable` is `UNKNOWN`
58-
(GitHub still computing it), don't stop and don't treat it as either state — just wait for
59-
the next round (step 9) and recheck then. Otherwise, if `mergeable` is `MERGEABLE`, Greptile
60-
is 5/5, and every thread across all pages has `isResolved: true`, stop — report the outcome
61-
(see "Reporting" below) and skip the rest of this list.
58+
(GitHub still computing it), don't treat it as either state — skip the rest of this list and
59+
go straight to step 9 to wait and recheck next round (see step 10 for when to stop waiting on
60+
a persistently `UNKNOWN` result). Otherwise, if `mergeable` is `MERGEABLE`, Greptile is 5/5,
61+
and every thread across all pages has `isResolved: true`, stop — report the outcome (see
62+
"Reporting" below) and skip the rest of this list.
6263

6364
2. **If the PR has a merge conflict**, fix it: `git fetch origin staging`, `git rebase
6465
origin/staging`, resolve the conflicts for real (don't just take one side blindly), then run
@@ -134,9 +135,9 @@ round. Always check both conditions freshly after every push.
134135
in a sleep loop. Pass the same `/loop babysit PR <n>` prompt on each wakeup so the loop
135136
resumes correctly.
136137

137-
10. **Stop conditions**: clean state reached (see above), or the same unresolved finding or
138-
merge conflict survives two consecutive rounds with no new information (surface it to the
139-
user instead of looping forever), or the user interrupts.
138+
10. **Stop conditions**: clean state reached (see above), or the same unresolved finding, merge
139+
conflict, or `UNKNOWN` mergeable result survives two consecutive rounds with no new
140+
information (surface it to the user instead of looping forever), or the user interrupts.
140141

141142
## Reporting
142143

.claude/commands/babysit.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,11 @@ round. Always check both conditions freshly after every push.
5454
If `mergeable` comes back `CONFLICTING`, go fix that first (step 2) before evaluating review
5555
state — a conflicting PR can't run CI, and this can happen mid-loop even on a PR that was
5656
clean at creation, since staging moves several times a day. If `mergeable` is `UNKNOWN`
57-
(GitHub still computing it), don't stop and don't treat it as either state — just wait for
58-
the next round (step 9) and recheck then. Otherwise, if `mergeable` is `MERGEABLE`, Greptile
59-
is 5/5, and every thread across all pages has `isResolved: true`, stop — report the outcome
60-
(see "Reporting" below) and skip the rest of this list.
57+
(GitHub still computing it), don't treat it as either state — skip the rest of this list and
58+
go straight to step 9 to wait and recheck next round (see step 10 for when to stop waiting on
59+
a persistently `UNKNOWN` result). Otherwise, if `mergeable` is `MERGEABLE`, Greptile is 5/5,
60+
and every thread across all pages has `isResolved: true`, stop — report the outcome (see
61+
"Reporting" below) and skip the rest of this list.
6162

6263
2. **If the PR has a merge conflict**, fix it: `git fetch origin staging`, `git rebase
6364
origin/staging`, resolve the conflicts for real (don't just take one side blindly), then run
@@ -133,9 +134,9 @@ round. Always check both conditions freshly after every push.
133134
in a sleep loop. Pass the same `/loop babysit PR <n>` prompt on each wakeup so the loop
134135
resumes correctly.
135136

136-
10. **Stop conditions**: clean state reached (see above), or the same unresolved finding or
137-
merge conflict survives two consecutive rounds with no new information (surface it to the
138-
user instead of looping forever), or the user interrupts.
137+
10. **Stop conditions**: clean state reached (see above), or the same unresolved finding, merge
138+
conflict, or `UNKNOWN` mergeable result survives two consecutive rounds with no new
139+
information (surface it to the user instead of looping forever), or the user interrupts.
139140

140141
## Reporting
141142

.cursor/commands/babysit.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,11 @@ round. Always check both conditions freshly after every push.
5050
If `mergeable` comes back `CONFLICTING`, go fix that first (step 2) before evaluating review
5151
state — a conflicting PR can't run CI, and this can happen mid-loop even on a PR that was
5252
clean at creation, since staging moves several times a day. If `mergeable` is `UNKNOWN`
53-
(GitHub still computing it), don't stop and don't treat it as either state — just wait for
54-
the next round (step 9) and recheck then. Otherwise, if `mergeable` is `MERGEABLE`, Greptile
55-
is 5/5, and every thread across all pages has `isResolved: true`, stop — report the outcome
56-
(see "Reporting" below) and skip the rest of this list.
53+
(GitHub still computing it), don't treat it as either state — skip the rest of this list and
54+
go straight to step 9 to wait and recheck next round (see step 10 for when to stop waiting on
55+
a persistently `UNKNOWN` result). Otherwise, if `mergeable` is `MERGEABLE`, Greptile is 5/5,
56+
and every thread across all pages has `isResolved: true`, stop — report the outcome (see
57+
"Reporting" below) and skip the rest of this list.
5758

5859
2. **If the PR has a merge conflict**, fix it: `git fetch origin staging`, `git rebase
5960
origin/staging`, resolve the conflicts for real (don't just take one side blindly), then run
@@ -129,9 +130,9 @@ round. Always check both conditions freshly after every push.
129130
in a sleep loop. Pass the same `/loop babysit PR <n>` prompt on each wakeup so the loop
130131
resumes correctly.
131132

132-
10. **Stop conditions**: clean state reached (see above), or the same unresolved finding or
133-
merge conflict survives two consecutive rounds with no new information (surface it to the
134-
user instead of looping forever), or the user interrupts.
133+
10. **Stop conditions**: clean state reached (see above), or the same unresolved finding, merge
134+
conflict, or `UNKNOWN` mergeable result survives two consecutive rounds with no new
135+
information (surface it to the user instead of looping forever), or the user interrupts.
135136

136137
## Reporting
137138

0 commit comments

Comments
 (0)