grok-taskflow 0.2.9 → 0.2.10

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 +26 -4
  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.9](#029-hermes-agent--verify-parity) · [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)
16
+ [Install](#install-on-your-host) · [Quickstart](#60-second-start) · [What's new in 0.2.10](#0210-organized-portable-saved-flows) · [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
 
@@ -133,6 +133,22 @@ Save it as `.pi/taskflows/audit-api.json`, then run:
133
133
 
134
134
  On Codex, Claude Code, OpenCode, Grok Build, and Hermes Agent, run the same saved definition by name through `taskflow_run`. For long DAGs, use `mode: "background"`, then manage the durable run with `taskflow_runs` (`list` / `status` / `wait` / `cancel`); list output reports active concurrency and can filter `running` or `terminal` runs.
135
135
 
136
+ Large projects may organize saved definitions recursively below `.pi/taskflows/flows/`, for example `.pi/taskflows/flows/release/audit-api.json`. Legacy `.pi/taskflows/*.json` files remain discoverable and win same-scope name collisions; nested duplicates use locale-independent Unicode-scalar path order. Saving an already-discovered nested flow updates that file and its adjacent metadata in place; new flows still use the legacy top-level location. Discovery uses one shared user/project budget and fails closed if it exceeds 1,000 flows, 10,000 visited entries, 512 directories, 8 MiB of definition data, 1 MiB per definition, or 16 levels. It rejects symlinks below the trusted storage boundary through definition leaves and skips dot paths, metadata (`*.meta.json`), and compiled IR (`*.flowir.json`). The configured agent-directory boundary itself may be a symlink for compatible home-directory relocation. New-flow saves enforce the same storage-boundary policy and revalidate the physical target directory inside the write lock.
137
+
138
+ A file-backed flow can opt script phases into definition-relative execution:
139
+
140
+ ```json
141
+ {
142
+ "name": "release",
143
+ "scriptCwd": "flow",
144
+ "phases": [
145
+ { "id": "prepare", "type": "script", "run": ["./scripts/prepare.sh"], "final": true }
146
+ ]
147
+ }
148
+ ```
149
+
150
+ Here `./scripts/prepare.sh` resolves from the directory containing the saved flow or `defineFile`. The default remains `"invocation"`, and an explicit phase `cwd` still takes precedence. Inline definitions have no trusted file source and therefore fail closed if they request `scriptCwd: "flow"`. If execution inherits a cwd-bridge boundary, the resolved flow source directory must remain inside that boundary.
151
+
136
152
  [Follow the full quickstart →](https://heggria.github.io/taskflow/en/docs/getting-started)
137
153
 
138
154
  ## See the graph run
@@ -152,6 +168,12 @@ This is real output from a Pi run—not a mock dashboard:
152
168
 
153
169
  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
170
 
171
+ ## 0.2.10: organized, portable saved flows
172
+
173
+ Saved flows can now be organized below the bounded `.pi/taskflows/flows/**` convention while legacy top-level flows keep their existing precedence and behavior. A file-backed flow may opt into `scriptCwd: "flow"`, making adjacent scripts, templates, and fixtures portable as one reviewable directory bundle.
174
+
175
+ Discovery, provenance, and persistence remain fail-closed: recursion has shared file/entry/directory/byte/depth budgets, symlinked descendants are excluded, source identity survives foreground/background/resume/subflow paths, and nested definition/sidecar writes revalidate the physical parent through atomic promotion. [Full 0.2.10 notes →](https://github.com/heggria/taskflow/blob/main/CHANGELOG.md#0210--2026-08-12)
176
+
155
177
  ## 0.2.9: Hermes Agent + verify parity
156
178
 
157
179
  Taskflow now ships on **Hermes Agent** as `hermes-taskflow`, bringing the same MCP control plane to a sixth host. Hermes children run with an ephemeral home, explicit toolsets, cwd-confined local reads, provider-only credential material, and an explicit opt-in for mutating `--yolo` phases.
@@ -355,7 +377,7 @@ claude plugin install claude-taskflow@taskflow
355
377
 
356
378
  ```bash
357
379
  opencode mcp add taskflow -- \
358
- npx -y -p opencode-taskflow@0.2.9 opencode-taskflow-mcp
380
+ npx -y -p opencode-taskflow@0.2.10 opencode-taskflow-mcp
359
381
  ```
360
382
 
361
383
  [OpenCode guide →](https://heggria.github.io/taskflow/en/docs/guides/opencode)
@@ -364,7 +386,7 @@ opencode mcp add taskflow -- \
364
386
 
365
387
  ```bash
366
388
  grok mcp add taskflow -- \
367
- npx -y -p grok-taskflow@0.2.9 grok-taskflow-mcp
389
+ npx -y -p grok-taskflow@0.2.10 grok-taskflow-mcp
368
390
  ```
369
391
 
370
392
  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.
@@ -374,7 +396,7 @@ Grok Build support is new in 0.2. Its CLI stream does not report token/cost usag
374
396
  ### Hermes Agent
375
397
 
376
398
  ```bash
377
- hermes mcp add taskflow --command npx --args -y -p hermes-taskflow@0.2.9 hermes-taskflow-mcp
399
+ hermes mcp add taskflow --command npx --args -y -p hermes-taskflow@0.2.10 hermes-taskflow-mcp
378
400
  # Prefer env in config.yaml (not CLI --env after args — can be stuffed into argv):
379
401
  # mcp_servers.taskflow.env.PI_TASKFLOW_HERMES_UNSAFE_YOLO: "1" # mutating only
380
402
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "grok-taskflow",
3
- "version": "0.2.9",
3
+ "version": "0.2.10",
4
4
  "description": "Run taskflow on Grok Build: the npm tarball provides the Grok subagent runner and MCP server; the plugin is distributed through the repository marketplace.",
5
5
  "keywords": [
6
6
  "grok",
@@ -49,9 +49,9 @@
49
49
  "access": "public"
50
50
  },
51
51
  "dependencies": {
52
- "taskflow-core": "0.2.9",
53
- "taskflow-hosts": "0.2.9",
54
- "taskflow-mcp-core": "0.2.9"
52
+ "taskflow-core": "0.2.10",
53
+ "taskflow-hosts": "0.2.10",
54
+ "taskflow-mcp-core": "0.2.10"
55
55
  },
56
56
  "scripts": {
57
57
  "build": "rm -rf dist && tsc -p tsconfig.build.json && node ../../scripts/copy-readme.mjs grok-taskflow"