@rallycry/conveyor-skills 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -236,13 +236,14 @@ the merged base.
|
|
|
236
236
|
|
|
237
237
|
The card is in ReviewPR. What happens next depends on who is driving:
|
|
238
238
|
|
|
239
|
-
> **Environment — a pod is woken; a standalone local run is not.** In a
|
|
240
|
-
> you stay wake-able: the system wakes you on CI results and review
|
|
241
|
-
> so go idle rather than polling.
|
|
242
|
-
>
|
|
243
|
-
>
|
|
244
|
-
>
|
|
245
|
-
>
|
|
239
|
+
> **Environment — a pod is woken; a standalone local run is not.** In a
|
|
240
|
+
> **pod** you stay wake-able: the system wakes you on CI results and review
|
|
241
|
+
> comments, so go idle rather than polling. That holds only once the PR exists
|
|
242
|
+
> — mid-pack, nothing wakes either environment (see the pack path's pacing
|
|
243
|
+
> rule). In a **standalone local run** there is no wake mechanism — report the
|
|
244
|
+
> card and PR state to the user and STOP. No pacing, no loop, no babysitting;
|
|
245
|
+
> a follow-up CI fix is a fresh ask. Under `conveyor-local-loop` the loop's
|
|
246
|
+
> own Babysit tier owns aftercare instead, and its pacing rules govern.
|
|
246
247
|
|
|
247
248
|
When you are the one handling it:
|
|
248
249
|
|
|
@@ -82,23 +82,44 @@ session memory for pack state.
|
|
|
82
82
|
|
|
83
83
|
Work children **one at a time**. Interleaving them thrashes branch state.
|
|
84
84
|
|
|
85
|
-
## Pacing — a pack is many
|
|
86
|
-
|
|
87
|
-
A
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
-
|
|
98
|
-
|
|
85
|
+
## Pacing — a pack is many steps, not many turns
|
|
86
|
+
|
|
87
|
+
A child boundary is not a turn boundary. Keep driving the pack in the same
|
|
88
|
+
turn: merge, implement the next child, merge, cross-reference, finale. Nothing
|
|
89
|
+
wakes a pack session between children — not locally, and not in a pod, where
|
|
90
|
+
children have no PRs, no builds, and no CI to generate an event. A turn that
|
|
91
|
+
ends with a child still ready is a stalled pack, not a paused one: locally it
|
|
92
|
+
sits until a human re-runs the skill; in a pod it idles out, sleeps, and waits
|
|
93
|
+
on the pack watchdog — roughly an hour lost per occurrence.
|
|
94
|
+
|
|
95
|
+
End a turn with children remaining ONLY when a wake is guaranteed:
|
|
96
|
+
|
|
97
|
+
- **A background gate is in flight.** Its completion notification re-invokes
|
|
98
|
+
you. (Launch it with the harness's `run_in_background`; hand-rolled
|
|
99
|
+
backgrounding wakes nothing.)
|
|
100
|
+
- **You are blocked on a human** — the parked protocol below. The user's chat
|
|
101
|
+
reply is the wake.
|
|
102
|
+
- **The finale PR is open and quiet** — the Babysit tier. Green and quiet is
|
|
103
|
+
the end.
|
|
104
|
+
|
|
105
|
+
Any other end-of-turn must arm `ScheduleWakeup` first: 60–90s, prompt
|
|
106
|
+
restating which child comes next. That is the pod-sanctioned mechanism (the
|
|
107
|
+
pod prompt allows `ScheduleWakeup` exactly when nothing else will notify you),
|
|
108
|
+
and it is a rare exception, not the cadence. Never end a turn "to report
|
|
109
|
+
progress" — chat is where progress goes, and posting there does not end the
|
|
110
|
+
pack.
|
|
111
|
+
|
|
112
|
+
**Pre-exit invariant.** Before ending ANY turn, re-run
|
|
113
|
+
`mcp__conveyor__list_subtasks`. A child that is `Open` with its dependencies
|
|
114
|
+
met, or `InProgress` under your claim, plus no background job in flight and no
|
|
115
|
+
parked question outstanding, means you are not done: continue, or arm the
|
|
116
|
+
wake. Ending a turn in that state without a wake is the bug this section
|
|
117
|
+
exists to prevent.
|
|
99
118
|
|
|
100
119
|
`conveyor-local-loop` supplies its own pacing table and its own claim-marker
|
|
101
|
-
prefix; when running under it, those govern.
|
|
120
|
+
prefix; when running under it, those govern. Under `/loop` the invariant above
|
|
121
|
+
still holds — the loop's re-invocation is a fallback for a dropped wake, never
|
|
122
|
+
a reason to stop after one child.
|
|
102
123
|
|
|
103
124
|
## Implement a child
|
|
104
125
|
|