grok-taskflow 0.2.6 → 0.2.7

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.
Files changed (2) hide show
  1. package/README.md +33 -5
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  **English** · [简体中文](https://github.com/heggria/taskflow/blob/main/README.zh-CN.md)
15
15
 
16
- [Install](#install-on-your-host) · [Quickstart](#60-second-start) · [What's new in 0.2](#02-is-the-compiler-turn) · [Docs](https://heggria.github.io/taskflow/en/docs) · [Examples](https://github.com/heggria/taskflow/blob/main/examples)
16
+ [Install](#install-on-your-host) · [Quickstart](#60-second-start) · [What's new in 0.2.7](#027-plan-before-spend--close-the-loop) · [0.2 compiler turn](#02-is-the-compiler-turn) · [Docs](https://heggria.github.io/taskflow/en/docs) · [Examples](https://github.com/heggria/taskflow/blob/main/examples)
17
17
 
18
18
  </div>
19
19
 
@@ -152,6 +152,32 @@ This is real output from a Pi run—not a mock dashboard:
152
152
 
153
153
  The layout **is** the DAG. Parallel rails expose concurrency; long edges expose dependencies; the gate explains why downstream work stopped. No separate control plane is required to understand the run.
154
154
 
155
+ ## 0.2.7: plan before spend · close the loop
156
+
157
+ The 0.2 line made graphs **compiled and inspectable**. **0.2.7** makes the day-to-day loop feel finished: you can see the plan *before* any model call, and you can hear about the run *after* it finishes — without stuffing transcripts into the host.
158
+
159
+ | Before spend | After spend |
160
+ |---|---|
161
+ | **`taskflow_plan` / `/tf plan`** — bind typed args, project phase order, mark dynamic refs, worst-case agent-call bound | **`hooks.onComplete` / `onFail` / `onBlocked`** — webhook, file, or argv-only command; summary payload only (`taskflow.hook.v1`) |
162
+ | **`verify` / `lint`** still free | **`approval.timeoutMs` + `onExpire`** — HITL no longer waits forever |
163
+ | **`recompute` savings line** — `reused N · rerun M · cutoff K · saved ~P%` | **`taskflow_analytics`** — last-N status, duration, fail/cache rates (read-only) |
164
+
165
+ ```bash
166
+ # Zero tokens: see what would run and how expensive the worst case looks
167
+ # MCP: taskflow_plan · Pi: /tf plan my-flow '{"dir":"src"}'
168
+ ```
169
+
170
+ ```jsonc
171
+ // Optional: fire-and-forget when a background run finishes
172
+ {
173
+ "hooks": {
174
+ "onComplete": [{ "type": "file", "path": ".taskflow/hooks/last-complete.json" }]
175
+ }
176
+ }
177
+ ```
178
+
179
+ MCP hosts now expose **19 tools** (added `taskflow_plan` and `taskflow_analytics`). Starter templates: [`examples/templates/`](https://github.com/heggria/taskflow/blob/main/examples/templates/). Full notes: [CHANGELOG 0.2.7](https://github.com/heggria/taskflow/blob/main/CHANGELOG.md#027--2026-08-06).
180
+
155
181
  ## 0.2 is the compiler turn
156
182
 
157
183
  Before 0.2, taskflow executed declarative graphs. Now the graph also has a compile-time frontend, a canonical intermediate representation, an append-only decision trace, offline replay, and incremental recompute.
@@ -198,13 +224,15 @@ FlowIR canonicalizes the graph and gives it a content hash. That compiled identi
198
224
 
199
225
  | Operation | What it answers | Model calls |
200
226
  |---|---|---:|
201
- | `verify` / `compile` | Is the graph structurally safe to run? | **0** |
227
+ | **`plan`** | What will run, which args bind, worst-case agent calls? | **0** |
228
+ | `verify` / `compile` / `lint` | Is the graph structurally safe / lint-clean? | **0** |
202
229
  | `ir` | What is the canonical graph and content hash? | **0** |
203
230
  | `resume` | What unfinished work remains? (forks a new run; original untouched) | Only unfinished phases |
204
231
  | `trace` | What calls and runtime decisions actually happened? | **0** to inspect |
205
232
  | `replay` | What if thresholds or budgets had been different? | **0** |
206
233
  | `why-stale` | What changed, and what depends on it? | **0** |
207
- | `recompute` | What is the smallest observable affected frontier? | Only affected phases |
234
+ | `recompute` | What is the smallest observable affected frontier? (+ savings line) | Only affected phases |
235
+ | `analytics` | How have recent runs of this flow behaved? | **0** |
208
236
 
209
237
  [Explore the compiler and runtime →](https://heggria.github.io/taskflow/en/docs/compiler-runtime/)
210
238
 
@@ -315,7 +343,7 @@ claude plugin install claude-taskflow@taskflow
315
343
 
316
344
  ```bash
317
345
  opencode mcp add taskflow -- \
318
- npx -y -p opencode-taskflow@0.2.3 opencode-taskflow-mcp
346
+ npx -y -p opencode-taskflow@0.2.7 opencode-taskflow-mcp
319
347
  ```
320
348
 
321
349
  [OpenCode guide →](https://heggria.github.io/taskflow/en/docs/guides/opencode)
@@ -324,7 +352,7 @@ opencode mcp add taskflow -- \
324
352
 
325
353
  ```bash
326
354
  grok mcp add taskflow -- \
327
- npx -y -p grok-taskflow@0.2.3 grok-taskflow-mcp
355
+ npx -y -p grok-taskflow@0.2.7 grok-taskflow-mcp
328
356
  ```
329
357
 
330
358
  Grok Build support is new in 0.2. Its CLI stream does not report token/cost usage, so budget-declaring flows are rejected rather than silently running without enforcement.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "grok-taskflow",
3
- "version": "0.2.6",
3
+ "version": "0.2.7",
4
4
  "description": "Run taskflow on Grok Build: a Grok subagent runner plus an MCP server (and a plug-and-play Grok plugin) that exposes the taskflow_* tools to Grok Build users.",
5
5
  "keywords": [
6
6
  "grok",
@@ -49,9 +49,9 @@
49
49
  "access": "public"
50
50
  },
51
51
  "dependencies": {
52
- "taskflow-core": "0.2.6",
53
- "taskflow-hosts": "0.2.6",
54
- "taskflow-mcp-core": "0.2.6"
52
+ "taskflow-core": "0.2.7",
53
+ "taskflow-hosts": "0.2.7",
54
+ "taskflow-mcp-core": "0.2.7"
55
55
  },
56
56
  "scripts": {
57
57
  "build": "rm -rf dist && tsc -p tsconfig.build.json && node ../../scripts/copy-readme.mjs grok-taskflow"