pi-crew 0.9.68 → 0.10.2

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 (253) hide show
  1. package/CHANGELOG.md +222 -0
  2. package/NOTICE.md +21 -0
  3. package/README.md +44 -2
  4. package/agents/analyst.md +1 -1
  5. package/agents/cold-verifier.md +3 -1
  6. package/agents/critic.md +1 -1
  7. package/agents/executor.md +1 -1
  8. package/agents/explorer.md +1 -1
  9. package/agents/planner.md +1 -1
  10. package/agents/reviewer.md +1 -1
  11. package/agents/security-reviewer.md +1 -1
  12. package/agents/test-engineer.md +1 -1
  13. package/agents/verifier.md +1 -1
  14. package/agents/writer.md +1 -1
  15. package/dist/index.mjs +68113 -60774
  16. package/docs/README.md +2 -0
  17. package/docs/actions-reference.md +31 -0
  18. package/docs/commands-reference.md +17 -6
  19. package/docs/resource-formats.md +13 -0
  20. package/package.json +4 -2
  21. package/schema.json +503 -91
  22. package/scripts/resource-sampler.mjs +36 -2
  23. package/skills/requirements-to-task-packet/SKILL.md +26 -0
  24. package/skills/widget-rendering/SKILL.md +7 -7
  25. package/src/agents/agent-config.ts +2 -1
  26. package/src/agents/discover-agents.ts +23 -14
  27. package/src/config/config-merge.ts +183 -0
  28. package/src/config/config-validation.ts +687 -0
  29. package/src/config/config.ts +22 -864
  30. package/src/config/defaults.ts +43 -2
  31. package/src/config/drift-detector.ts +1 -1
  32. package/src/config/env-vars.ts +691 -0
  33. package/src/config/role-tools.ts +11 -9
  34. package/src/config/sanitize-project-config.ts +172 -0
  35. package/src/config/types.ts +49 -1
  36. package/src/extension/async-notifier.ts +25 -2
  37. package/src/extension/crew-cleanup.ts +13 -0
  38. package/src/extension/crew-vibes/config.ts +2 -1
  39. package/src/extension/crew-vibes/footer.ts +19 -0
  40. package/src/extension/crew-vibes/index.ts +11 -1
  41. package/src/extension/plan-orchestrate.ts +132 -0
  42. package/src/extension/register.ts +8 -0
  43. package/src/extension/registration/command-registration.ts +1 -0
  44. package/src/extension/registration/commands/dashboard.ts +158 -0
  45. package/src/extension/registration/commands/index.ts +35 -0
  46. package/src/extension/registration/commands/manage.ts +303 -0
  47. package/src/extension/registration/commands/run.ts +228 -0
  48. package/src/extension/registration/commands/shared.ts +639 -0
  49. package/src/extension/registration/commands/status.ts +60 -0
  50. package/src/extension/registration/commands.ts +13 -1224
  51. package/src/extension/registration/foreground-run-controller.ts +10 -2
  52. package/src/extension/registration/lifecycle-handlers.ts +178 -17
  53. package/src/extension/registration/runtime-cleanup.ts +23 -5
  54. package/src/extension/registration/subagent-tools.ts +218 -9
  55. package/src/extension/registration/team-tool.ts +5 -1
  56. package/src/extension/registration/ui.ts +5 -4
  57. package/src/extension/rpc-hmac.ts +5 -3
  58. package/src/extension/team-tool/api/heartbeat.ts +47 -10
  59. package/src/extension/team-tool/api/plan-approval.ts +9 -0
  60. package/src/extension/team-tool/api/task-claims.ts +109 -40
  61. package/src/extension/team-tool/cancel.ts +84 -50
  62. package/src/extension/team-tool/dispatch/index.ts +1 -0
  63. package/src/extension/team-tool/dispatch/run.ts +4 -1
  64. package/src/extension/team-tool/doctor.ts +103 -1
  65. package/src/extension/team-tool/orchestrate.ts +66 -1
  66. package/src/extension/team-tool/plans.ts +192 -0
  67. package/src/extension/team-tool/respond.ts +197 -65
  68. package/src/extension/team-tool/run-deadline.ts +35 -3
  69. package/src/extension/team-tool/run-intent.ts +63 -0
  70. package/src/extension/team-tool/run.ts +74 -20
  71. package/src/extension/team-tool/status.ts +84 -26
  72. package/src/extension/team-tool.ts +11 -2
  73. package/src/hooks/registry.ts +1 -6
  74. package/src/i18n.ts +9 -0
  75. package/src/prompt/prompt-runtime.ts +521 -2
  76. package/src/prompt/worker-events-channel.ts +173 -0
  77. package/src/runtime/README.md +8 -8
  78. package/src/runtime/async-runner.ts +7 -3
  79. package/src/runtime/background-runner.ts +42 -14
  80. package/src/runtime/broker/broker-issuer.ts +9 -2
  81. package/src/runtime/broker/crew-broker-tokens.ts +43 -6
  82. package/src/runtime/broker/crew-broker.ts +838 -10
  83. package/src/runtime/broker/wait-status-cache.ts +157 -0
  84. package/src/runtime/budget-enforcement.ts +281 -0
  85. package/src/runtime/child-pi/child-pi-constants.ts +8 -0
  86. package/src/runtime/child-pi/child-pi-spawn.ts +60 -14
  87. package/src/runtime/child-pi/child-pi-streams.ts +21 -1
  88. package/src/runtime/child-pi/child-pi-timers.ts +324 -0
  89. package/src/runtime/child-pi/child-pi.ts +97 -201
  90. package/src/runtime/child-pi/mock-fixtures.ts +16 -2
  91. package/src/runtime/crew-agent-records.ts +259 -14
  92. package/src/runtime/delegate-spawn.ts +148 -0
  93. package/src/runtime/detached-run-results.ts +90 -0
  94. package/src/runtime/deterministic-ast.ts +2 -1
  95. package/src/runtime/dispatch-batch.ts +945 -0
  96. package/src/runtime/finalize-run.ts +557 -0
  97. package/src/runtime/goal-workflow/adaptive-plan.ts +116 -15
  98. package/src/runtime/goal-workflow/dynamic-workflow-runner.ts +8 -3
  99. package/src/runtime/goal-workflow/goal-state-store.ts +1 -1
  100. package/src/runtime/group-join.ts +11 -125
  101. package/src/runtime/live-session/live-session-runtime.ts +26 -1
  102. package/src/runtime/merge-gate.ts +32 -10
  103. package/src/runtime/merge-loop.ts +130 -0
  104. package/src/runtime/model/model-budget-summary.ts +53 -0
  105. package/src/runtime/model/model-fallback.ts +36 -2
  106. package/src/runtime/model/pi-args.ts +10 -0
  107. package/src/runtime/model/provider-extensions.ts +10 -0
  108. package/src/runtime/orphan-worker-registry.ts +1 -1
  109. package/src/runtime/output/output-validator.ts +45 -0
  110. package/src/runtime/parent-guard.ts +3 -1
  111. package/src/runtime/peer-dep.ts +2 -1
  112. package/src/runtime/per-write-validator.ts +0 -5
  113. package/src/runtime/pi-spawn.ts +61 -15
  114. package/src/runtime/plan-approval.ts +125 -0
  115. package/src/runtime/plan-replan.ts +151 -0
  116. package/src/runtime/process-status.ts +16 -1
  117. package/src/runtime/recovery/checkpoint.ts +0 -18
  118. package/src/runtime/recovery/crash-recovery.ts +111 -46
  119. package/src/runtime/run-tracker.ts +77 -10
  120. package/src/runtime/scheduler-context.ts +98 -0
  121. package/src/runtime/scheduling/coalesce-tasks.ts +5 -0
  122. package/src/runtime/scheduling/global-worker-cap.ts +2 -1
  123. package/src/runtime/scheduling/nested-slots.ts +70 -0
  124. package/src/runtime/scheduling/run-coalesced-task-group.ts +64 -13
  125. package/src/runtime/scheduling/task-graph-scheduler.ts +0 -10
  126. package/src/runtime/settings-store.ts +219 -0
  127. package/src/runtime/spawn-policy.ts +217 -0
  128. package/src/runtime/stale-reconciler.ts +87 -6
  129. package/src/runtime/subagent-manager.ts +25 -1
  130. package/src/runtime/task-output-context.ts +230 -9
  131. package/src/runtime/task-packet.ts +23 -1
  132. package/src/runtime/task-runner/child-executor.ts +106 -7
  133. package/src/runtime/task-runner/post-execution.ts +125 -1
  134. package/src/runtime/task-runner/pre-execution.ts +39 -1
  135. package/src/runtime/task-runner/prompt-builder.ts +51 -1
  136. package/src/runtime/task-runner/retrieval-orchestrator.ts +72 -18
  137. package/src/runtime/task-runner/spec-evidence.ts +403 -0
  138. package/src/runtime/task-runner/state-helpers.ts +26 -24
  139. package/src/runtime/task-runner.ts +11 -0
  140. package/src/runtime/team-runner.ts +132 -1673
  141. package/src/runtime/verification/spec-sandbox.ts +255 -0
  142. package/src/runtime/verification/verification-gates.ts +3 -2
  143. package/src/runtime/verification/verification-worktree.ts +2 -1
  144. package/src/runtime/workflow-phase-advance.ts +100 -0
  145. package/src/runtime/workspace-tree.ts +9 -0
  146. package/src/schema/config-schema.ts +66 -26
  147. package/src/schema/sensitive-config-paths.ts +64 -0
  148. package/src/schema/team-tool-schema.ts +13 -3
  149. package/src/state/README.md +4 -10
  150. package/src/state/atomic-write.ts +20 -3
  151. package/src/state/contracts.ts +38 -0
  152. package/src/state/coordination/mailbox.ts +12 -2
  153. package/src/state/event-log/cursor.ts +223 -0
  154. package/src/state/event-log/event-log-rotation.ts +12 -4
  155. package/src/state/event-log/event-log.ts +152 -369
  156. package/src/state/event-log/sequence-cache.ts +373 -0
  157. package/src/state/event-log/worker-atomic-writer.ts +2 -1
  158. package/src/state/stores/active-run-registry.ts +3 -2
  159. package/src/state/stores/manifest-io.ts +237 -0
  160. package/src/state/stores/ownership-map.ts +162 -0
  161. package/src/state/stores/plan-store.ts +241 -0
  162. package/src/state/stores/run-cache.ts +0 -90
  163. package/src/state/stores/spec-store.ts +189 -0
  164. package/src/state/stores/state-store.ts +139 -232
  165. package/src/state/types.ts +199 -0
  166. package/src/ui/dashboard-panes/plan-pane.ts +136 -0
  167. package/src/ui/dashboard-panes/progress-pane.ts +6 -0
  168. package/src/ui/dashboard-panes/transcript-pane.ts +31 -0
  169. package/src/ui/dock-footer.ts +49 -0
  170. package/src/ui/heartbeat-aggregator.ts +9 -1
  171. package/src/ui/inline-panel/agent-pane.ts +375 -0
  172. package/src/ui/inline-panel/agent-transcript.ts +338 -0
  173. package/src/ui/inline-panel/agent-view-overlay.ts +225 -0
  174. package/src/ui/inline-panel/crew-editor.ts +192 -0
  175. package/src/ui/inline-panel/index.ts +290 -0
  176. package/src/ui/inline-panel/panel-rows.ts +37 -0
  177. package/src/ui/inline-panel/panel-selection.ts +157 -0
  178. package/src/ui/inline-panel/panel-store.ts +111 -0
  179. package/src/ui/inline-panel/view-session-store.ts +36 -0
  180. package/src/ui/keybinding-map.ts +54 -13
  181. package/src/ui/pi-ui-compat.ts +9 -0
  182. package/src/ui/powerbar-publisher.ts +52 -1
  183. package/src/ui/run-dashboard.ts +31 -5
  184. package/src/ui/run-snapshot-cache.ts +57 -30
  185. package/src/ui/snapshot-types.ts +6 -1
  186. package/src/ui/widget/index.ts +176 -22
  187. package/src/ui/widget/task-list.ts +198 -0
  188. package/src/ui/widget/widget-formatters.ts +240 -4
  189. package/src/ui/widget/widget-renderer.ts +243 -38
  190. package/src/ui/widget/widget-types.ts +11 -0
  191. package/src/utils/child-process-shield.ts +106 -0
  192. package/src/utils/file-coalescer.ts +0 -4
  193. package/src/utils/fs-errno.ts +66 -0
  194. package/src/utils/fs-watch.ts +1 -1
  195. package/src/utils/internal-error.ts +3 -1
  196. package/src/utils/paths.ts +11 -3
  197. package/src/utils/redaction.ts +7 -0
  198. package/src/utils/safe-abort.ts +45 -0
  199. package/src/utils/task-name-generator.ts +1 -8
  200. package/src/workflows/discover-workflows.ts +20 -2
  201. package/src/workflows/validate-workflow.ts +7 -1
  202. package/src/workflows/workflow-config.ts +17 -0
  203. package/src/workflows/workflow-serializer.ts +3 -0
  204. package/src/worktree/worktree-manager.ts +22 -0
  205. package/workflows/default.workflow.md +36 -26
  206. package/workflows/strict-fast-fix.workflow.md +26 -0
  207. package/src/agents/agent-search.ts +0 -98
  208. package/src/benchmark/benchmark-runner.ts +0 -313
  209. package/src/benchmark/feedback-loop.ts +0 -73
  210. package/src/config/resilient-parser.ts +0 -117
  211. package/src/extension/crew-vibes/cat-frames.ts +0 -18
  212. package/src/extension/result-watcher.ts +0 -139
  213. package/src/observability/exporters/prometheus-exporter.ts +0 -54
  214. package/src/observability/metric-retention.ts +0 -64
  215. package/src/runtime/compaction/compaction-summary.ts +0 -278
  216. package/src/runtime/errors/crew-errors.ts +0 -162
  217. package/src/runtime/live-session/intercom-bridge.ts +0 -187
  218. package/src/runtime/loop-gates.ts +0 -128
  219. package/src/runtime/metric-parser.ts +0 -36
  220. package/src/runtime/output/stream-preview.ts +0 -184
  221. package/src/runtime/output/tool-progress.ts +0 -278
  222. package/src/runtime/phase-tracker.ts +0 -385
  223. package/src/runtime/pipeline-runner.ts +0 -523
  224. package/src/runtime/process/process-lifecycle.ts +0 -491
  225. package/src/runtime/recovery/retry-runner.ts +0 -330
  226. package/src/runtime/run-drift.ts +0 -219
  227. package/src/runtime/task-quality.ts +0 -199
  228. package/src/runtime/task-runner/run-projection.ts +0 -128
  229. package/src/runtime/verification/post-checks.ts +0 -142
  230. package/src/state/coordination/schedule.ts +0 -166
  231. package/src/state/event-log/jsonl-writer.ts +0 -115
  232. package/src/state/hook-instinct-bridge.ts +0 -94
  233. package/src/state/hook-integrations.ts +0 -51
  234. package/src/state/session-state-map.ts +0 -51
  235. package/src/state/stores/blob-store.ts +0 -308
  236. package/src/state/stores/instinct-store.ts +0 -275
  237. package/src/state/stores/observation-store.ts +0 -176
  238. package/src/state/tiered-eval.ts +0 -480
  239. package/src/state/types-eval.ts +0 -58
  240. package/src/tools/safe-bash-extension.ts +0 -54
  241. package/src/tools/safe-bash.ts +0 -505
  242. package/src/ui/agent-management-overlay.ts +0 -160
  243. package/src/ui/crew-footer.ts +0 -102
  244. package/src/ui/crew-select-list.ts +0 -114
  245. package/src/ui/dashboard-panes/capability-pane.ts +0 -77
  246. package/src/ui/transcript-entries.ts +0 -256
  247. package/src/utils/conflict-detect.ts +0 -721
  248. package/src/utils/fingerprint.ts +0 -180
  249. package/src/utils/gh-protocol.ts +0 -556
  250. package/src/utils/project-detector.ts +0 -160
  251. package/src/utils/sse-parser.ts +0 -131
  252. package/src/workflows/cost-estimator.ts +0 -34
  253. package/src/workflows/intermediate-store.ts +0 -166
package/docs/README.md CHANGED
@@ -30,6 +30,8 @@ stay at the root of this directory; historical/retired docs live in
30
30
  | [`COVERAGE-ASSESSMENT-2026-08-01.md`](./COVERAGE-ASSESSMENT-2026-08-01.md) | v0.9.56 coverage assessment + source-reorg history |
31
31
  | [`AUDIT-2026-07-30.md`](./AUDIT-2026-07-30.md) | v0.9.56 comprehensive audit (6 parallel streams) |
32
32
  | [`REMEDIATION-PLAN-2026-07-30.md`](./REMEDIATION-PLAN-2026-07-30.md) | v0.9.56 remediation plan |
33
+ | [`refactor-plan.md`](./refactor-plan.md) | Maintainability refactor plan (phased, v0.9.68) |
34
+ | [`refactor-plan.review.md`](./refactor-plan.review.md) | Verification sweep 3 (vòng 4) audit trail — 3 large-file baselines CONFIRMED, 6 corrections, Phase 4 reframe |
33
35
 
34
36
  ## Subdirectories
35
37
 
@@ -2,6 +2,23 @@
2
2
 
3
3
  The `team` tool is the primary tool that pi-crew registers with Pi. All operations go through `action`.
4
4
 
5
+ ### `plans` — Inspect and decide a run's plan record (T2/R4)
6
+
7
+ Reads the versioned `PlanRecord` list at `<stateRoot>/plans/plans.json` (ADR-4). Pre-v2 runs without a record degrade gracefully with the manifest-gate info.
8
+
9
+ ```json
10
+ { "action": "plans", "runId": "team_..." }
11
+ { "action": "plans", "runId": "team_...", "config": { "subAction": "get", "rev": 2 } }
12
+ { "action": "plans", "runId": "team_...", "config": { "subAction": "list" } }
13
+ { "action": "plans", "runId": "team_...", "config": { "subAction": "diff", "a": 1, "b": 2 } }
14
+ { "action": "plans", "runId": "team_...", "config": { "subAction": "approve" } }
15
+ ```
16
+
17
+ - `get` (default) renders the current (or pinned `rev`) revision with derived per-item progress (done/failed/running from linked `taskIds`).
18
+ - `list` renders the revision history.
19
+ - `diff` reports item-level changes between two revisions (added / removed / dropped / status changes / retitles).
20
+ - `approve` / `reject` delegate to the api `approve-plan` / `cancel-plan` ops (dual-write: manifest keeps its vocabulary — `cancelled` on deny — the record side uses `rejected`).
21
+
5
22
  ## Quick Reference
6
23
 
7
24
  | Action | Purpose | When to use |
@@ -10,6 +27,7 @@ The `team` tool is the primary tool that pi-crew registers with Pi. All operatio
10
27
  | `run` | Create a run and execute a workflow | Main operation |
11
28
  | `parallel` | Fan out independent tasks as concurrent runs | When you need N truly concurrent agents |
12
29
  | `plan` | Preview a workflow without running tasks | Dry-run planning |
30
+ | `plans` | Inspect/decide the versioned plan record of a run | Plan revisions, diff, approve/reject |
13
31
  | `orchestrate` | Execute from a plan document | Automate a plan |
14
32
  | `schedule` | Schedule recurring runs | Periodic automation |
15
33
  | `scheduled` | List scheduled jobs | View schedules |
@@ -800,6 +818,19 @@ Returns `status: "error"` when the run finished as `failed`.
800
818
  > ⚠️ **Internal / experimental.** Queues a steering message that is delivered to
801
819
  > a task's worker session on its next turn. The message is appended to
802
820
  > `pendingSteers` and also written to a live steering file for immediate delivery.
821
+ >
822
+ > **Updated (T1/WP-1, 2026-08-17, v0.10.1):** the agent-level tools
823
+ > `steer_subagent` / `crew_agent_steer` are now **implemented** — they resolve the
824
+ > subagent record via the unified ownership map (`src/state/stores/ownership-map.ts`,
825
+ > task ⇄ subagent ⇄ pid ⇄ artifacts) to the run's steering file and append a
826
+ > `{type:"steer", message, ts}` line that the worker polls every 500ms and picks
827
+ > up at its next turn boundary. Terminal-task refusal + size-cap parity with
828
+ > `team action=steer`; the steering file is truncated at each worker spawn so
829
+ > lines are scoped to one worker incarnation. The record's `taskId` is linked at
830
+ > dispatch time (onRunStarted), so mid-run steering of a live one-shot agent
831
+ > works. See ADR `docs/decisions/2026-08-14-agent-steer-tools-planned-not-implemented.md`
832
+ > (status: CLOSED). `team action=steer` (runId + taskId + message) remains the
833
+ > run-level path.
803
834
 
804
835
  ```json
805
836
  {
@@ -8,21 +8,22 @@ Slash commands are manual actions triggered from the Pi chat. Autonomous tool us
8
8
  |---------|-------|
9
9
  | `/teams` | List teams, agents, workflows, and recent runs |
10
10
  | `/team-run [options] <goal>` | Run a team workflow |
11
- | `/team-orchestrate <planPath>` | Execute from a plan document |
12
- | `/team-schedule [options]` | Schedule a recurring run |
13
- | `/team-scheduled` | List scheduled jobs |
14
11
  | `/team-cancel <runId>` | Cancel a run |
15
12
  | `/team-status <runId>` | View status |
16
13
  | `/team-summary <runId>` | View or write a summary |
17
14
  | `/team-resume <runId>` | Resume a stopped run |
18
- | `/team-search <query>` | BM25-ranked discovery |
19
- | `/team-graph <runId>` | Load, save, or list run graphs |
15
+ | `/team-retry <runId>` | Retry a failed run |
16
+ | `/team-result <runId>` | Show a task result artifact |
17
+ | `/team-respond <taskId> <message>` | Respond to a waiting worker task |
18
+ | `/team-follow-up [options]` | Manage follow-up notifications |
20
19
  | `/team-events <runId>` | View the event log |
21
20
  | `/team-artifacts <runId>` | View artifacts |
21
+ | `/team-transcript <runId>` | Open the transcript viewer |
22
22
  | `/team-worktrees <runId>` | View worktree metadata |
23
- | `/team-cleanup <runId>` | Remove worktrees |
23
+ | `/team-cleanup <runId>` | Remove worktrees (interactive menu: `/team-cleanup-menu`) |
24
24
  | `/team-forget <runId>` | Fully delete a run |
25
25
  | `/team-prune` | Delete multiple old runs |
26
+ | `/team-invalidate [scope]` | Invalidate caches |
26
27
  | `/team-export <runId>` | Export a run bundle |
27
28
  | `/team-import <path>` | Import a run bundle |
28
29
  | `/team-imports` | List imported bundles |
@@ -37,9 +38,16 @@ Slash commands are manual actions triggered from the Pi chat. Autonomous tool us
37
38
  | `/team-validate` | Validate resources |
38
39
  | `/team-help` | Help text |
39
40
  | `/team-doctor` | Diagnose the environment |
41
+ | `/team-mascot` | Toggle the mascot overlay |
40
42
  | **`/team-goal`** | **v0.9.0** Start autonomous goal loop (sub-actions: `start/status/pause/resume/stop/step/clear`) |
41
43
  | **`/workflows`** | **v0.9.0** List static + dynamic workflows (`.dwf.ts`) |
42
44
 
45
+ **Removed (v0.10.1 docs hygiene):** `/team-orchestrate`, `/team-schedule`,
46
+ `/team-scheduled`, `/team-search`, `/team-graph` — phantom entries; none of
47
+ these slash commands is registered. Their functionality is reachable via the
48
+ `team` tool actions (`action: "orchestrate" | "schedule" | "scheduled" |
49
+ "search" | "graph"`) instead.
50
+
43
51
  ---
44
52
 
45
53
  ## `/team-run` — Details
@@ -296,6 +304,9 @@ Creates directories:
296
304
  | `u` | View summary |
297
305
  | `i` | API read-manifest |
298
306
  | `q` or `Esc` | Close |
307
+ | `1`–`7` | Pane: agents / progress / mailbox / output / health / metrics / **plan** (v0.10.1, `PI_CREW_PLAN_UI=1`) |
308
+ | `A` / `n` | Plan approval approve/deny (progress + plan panes, while pending) |
309
+ | `X` | Plan revision diff (plan pane) |
299
310
 
300
311
  ---
301
312
 
@@ -107,6 +107,8 @@ Format:
107
107
  ---
108
108
  name: default
109
109
  description: Explore, plan, execute, verify
110
+ maxConcurrency: 3
111
+ specStrict: false
110
112
  ---
111
113
 
112
114
  ## explore
@@ -122,6 +124,15 @@ output: plan.md
122
124
  Create a plan for: {goal}
123
125
  ```
124
126
 
127
+ Frontmatter fields:
128
+
129
+ | Field | Meaning |
130
+ | --- | --- |
131
+ | `maxConcurrency` | Max parallel tasks for the run |
132
+ | `topology` | Explicit topology classification |
133
+ | `coalesceMicroTasks` | Coalesce micro-tasks sharing role+cwd into one worker prompt |
134
+ | `specStrict` | T4/R6 (ADR-6): strict spec mode — coverage AND machine-check; requires a `verifier` role step (reject-start) |
135
+
125
136
  Step fields:
126
137
 
127
138
  | Field | Meaning |
@@ -136,5 +147,7 @@ Step fields:
136
147
  | `progress` | `true`/`false` |
137
148
  | `worktree` | `true`/`false` metadata |
138
149
  | `verify` | `true`/`false` verification marker |
150
+ | `specRefs` | T4/R6 (ADR-6): workspace SpecRecord ids this step is held to (frozen into the packet at dispatch) |
151
+ | `specStrict` | Per-step strict override (`true`/`1`) |
139
152
 
140
153
  Each step starts with `## step-id` followed by recognized step metadata such as `role:` before the blank line. Level-2 headings inside task bodies are preserved unless they look like a step section with recognized metadata; use `###` or lower for maximum compatibility.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-crew",
3
- "version": "0.9.68",
3
+ "version": "0.10.2",
4
4
  "description": "Pi extension for coordinated AI teams, workflows, worktrees, and async task orchestration",
5
5
  "author": "baphuongna",
6
6
  "license": "MIT",
@@ -30,6 +30,7 @@
30
30
  ],
31
31
  "files": [
32
32
  "src/",
33
+ "!src/benchmark",
33
34
  "dist/index.mjs",
34
35
  "index.ts",
35
36
  "install.mjs",
@@ -67,13 +68,14 @@
67
68
  ],
68
69
  "scripts": {
69
70
  "check": "npm run ci",
70
- "ci": "npm run check:lockfile-sync && npm run typecheck && npm run lint && npm run format:check && npm run check:conflict-markers && npm run check:decision-drift && npm run check:event-types && npm run check:lazy-imports && npm run check:bundle-staleness && npm run build:bundle && npm run check:bundle-size && npm run test:bundle && npm test && npm pack --dry-run",
71
+ "ci": "npm run check:lockfile-sync && npm run typecheck && npm run lint && npm run format:check && npm run check:conflict-markers && npm run check:decision-drift && npm run check:env-vars && npm run check:event-types && npm run check:lazy-imports && npm run check:bundle-staleness && npm run build:bundle && npm run check:bundle-size && npm run test:bundle && npm test && npm pack --dry-run",
71
72
  "check:lockfile-sync": "node scripts/check-lockfile-sync.mjs",
72
73
  "check:lazy-imports": "node scripts/check-lazy-imports.mjs",
73
74
  "check:bundle-staleness": "node scripts/check-bundle-staleness.mjs",
74
75
  "check:bundle-size": "node scripts/check-bundle-size.mjs",
75
76
  "check:conflict-markers": "node scripts/check-conflict-markers.mjs",
76
77
  "check:decision-drift": "node scripts/check-decision-drift.mjs",
78
+ "check:env-vars": "node scripts/check-env-vars.mjs",
77
79
  "check:event-types": "node scripts/check-event-types-registry.mjs",
78
80
  "typecheck": "tsc --noEmit && node --experimental-strip-types -e \"await import('./index.ts'); console.log('strip-types import ok')\"",
79
81
  "lint": "biome check --linter-enabled=true --formatter-enabled=false --max-diagnostics=50 .",