moflo 4.12.10 → 4.12.11
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.
|
@@ -250,14 +250,37 @@ CLI/MCP coordinates; the `Task` tool runs the agents that do the actual work.
|
|
|
250
250
|
|
|
251
251
|
### Spawn-and-Wait Pattern
|
|
252
252
|
|
|
253
|
-
After spawning background agents
|
|
253
|
+
After spawning background agents, wait — but wait against a deadline you announced. A wait whose
|
|
254
|
+
failure mode is silence is indistinguishable from a wait that is still working, so **every fan-out
|
|
255
|
+
must end in a report, including the failed ones.**
|
|
254
256
|
|
|
255
257
|
| Do | Don't |
|
|
256
258
|
|----|-------|
|
|
257
259
|
| Tell the user "I've spawned X agents working in parallel on: [list]" | Continuously poll swarm status |
|
|
258
|
-
|
|
|
259
|
-
|
|
|
260
|
-
| Synthesize results when they return |
|
|
260
|
+
| State the expected time-to-first-notification in that same message — "first results in ~2–3 min" | Repeatedly call `TaskOutput` to ask "are you done yet?" |
|
|
261
|
+
| Stop further tool calls and let the agents run until that window elapses | Add unrelated tool calls after spawning |
|
|
262
|
+
| Synthesize results when they return | Read continued silence as patience — it looks identical to a dead fan-out |
|
|
263
|
+
| Once the announced window passes with **no** notification, run **one** liveness check — `ListAgents`, or a single `TaskOutput` | Keep waiting past that window because a result "might still arrive" |
|
|
264
|
+
| Treat a stall as a fault: stop the agents, tell the user which ones never reported, and say what you will do instead | Let a fan-out end in silence, or ask the user "should I check on the agents?" |
|
|
265
|
+
|
|
266
|
+
**Polling and a liveness check are different questions.** Polling asks *"are you done yet?"*
|
|
267
|
+
repeatedly and burns context on agents that are working fine — still banned. A liveness check asks
|
|
268
|
+
*"are you alive at all?"* **once**, after a deadline you stated up front — mandatory. Never make the
|
|
269
|
+
user be the one who notices: in a consumer project, three Opus agents budgeted at ~450k tokens
|
|
270
|
+
returned nothing at all, and the stall surfaced only because the operator saw the token counters
|
|
271
|
+
still climbing.
|
|
272
|
+
|
|
273
|
+
### Never Pass `name:` to a Fan-Out Spawn
|
|
274
|
+
|
|
275
|
+
**Label a parallel spawn with `description` and leave the `Agent` tool's `name` unset.** `name`
|
|
276
|
+
registers the spawn as a persistent, `SendMessage`-addressable teammate — use it only when you
|
|
277
|
+
genuinely intend to message that agent later, never for one-shot fan-out work.
|
|
278
|
+
|
|
279
|
+
Confirmed on Claude Code 2.1.239: a named spawn returned an `agent_id` and "will receive
|
|
280
|
+
instructions via mailbox", then **never executed its `prompt`** — no output file, absent from
|
|
281
|
+
`ListAgents`, no completion notification, and a follow-up `SendMessage` accepted but never
|
|
282
|
+
processed. The identical unnamed spawn ran and reported normally. This is the exact silent stall the
|
|
283
|
+
deadline above exists to catch.
|
|
261
284
|
|
|
262
285
|
---
|
|
263
286
|
|
package/dist/src/cli/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "moflo",
|
|
3
|
-
"version": "4.12.
|
|
3
|
+
"version": "4.12.11",
|
|
4
4
|
"description": "MoFlo — AI agent orchestration for Claude Code. A standalone, opinionated toolkit with semantic memory, learned routing, gates, spells, and the /flo issue-execution skill.",
|
|
5
5
|
"main": "dist/src/cli/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"@typescript-eslint/parser": "^8.65.0",
|
|
100
100
|
"eslint": "^10.8.0",
|
|
101
101
|
"glob": "^11.1.0",
|
|
102
|
-
"moflo": "^4.12.
|
|
102
|
+
"moflo": "^4.12.10",
|
|
103
103
|
"tsx": "^4.21.0",
|
|
104
104
|
"typescript": "^5.9.3",
|
|
105
105
|
"vitest": "^4.0.0"
|