@rallycry/conveyor-skills 1.0.2 → 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
|
@@ -122,7 +122,10 @@ parked and the chat marker IS the claim.
|
|
|
122
122
|
|
|
123
123
|
Post to chat at real milestones only — claim, a blocking discovery, gates
|
|
124
124
|
green, PR — never play-by-play. Your turn output is not visible to the team;
|
|
125
|
-
chat is.
|
|
125
|
+
chat is. Post a blocking discovery with `milestone: "blocked"` only if you are
|
|
126
|
+
actually parked and cannot continue until a human acts — it is a quiet parking
|
|
127
|
+
note that pages nobody. When you need an answer, ask with AskUserQuestion; that
|
|
128
|
+
is what pages a person.
|
|
126
129
|
|
|
127
130
|
**Saving the plan and card fields:** `mcp__conveyor__update_task` handles
|
|
128
131
|
title, description, plan, status, and `githubBranch` on both surfaces. Story
|
|
@@ -233,13 +236,14 @@ the merged base.
|
|
|
233
236
|
|
|
234
237
|
The card is in ReviewPR. What happens next depends on who is driving:
|
|
235
238
|
|
|
236
|
-
> **Environment — a pod is woken; a standalone local run is not.** In a
|
|
237
|
-
> you stay wake-able: the system wakes you on CI results and review
|
|
238
|
-
> so go idle rather than polling.
|
|
239
|
-
>
|
|
240
|
-
>
|
|
241
|
-
>
|
|
242
|
-
>
|
|
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.
|
|
243
247
|
|
|
244
248
|
When you are the one handling it:
|
|
245
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
|
|
|
@@ -134,8 +134,11 @@ touching Conveyor, unless they asked you to just ship it.
|
|
|
134
134
|
> create a NEW card, which is the local/MCP shape; `mcp__conveyor__create_task`
|
|
135
135
|
> does not exist in a pod. In a pod, the card exists and you are on it: save
|
|
136
136
|
> the plan with `mcp__conveyor__update_task` (`plan`, and `description` if it
|
|
137
|
-
> needs sharpening), post the same recommendation message to chat
|
|
138
|
-
> a pod does not promote its own card to
|
|
137
|
+
> needs sharpening), post the same recommendation message to chat with
|
|
138
|
+
> `milestone: "plan_ready"`, and stop — a pod does not promote its own card to
|
|
139
|
+
> Open. A parked plan is never `blocked`: that milestone means you cannot
|
|
140
|
+
> continue until a human acts, and it pages nobody. To page a person, ask them
|
|
141
|
+
> with AskUserQuestion. If the pod also has to leave
|
|
139
142
|
> plan mode, note that `update_task` carries no story points or risk; those go
|
|
140
143
|
> through `mcp__conveyor__update_task_properties`. Everything in Phases 1-3 is
|
|
141
144
|
> identical in both environments. To break a large pod card into a pack, use
|