pi-crew 0.9.51 → 0.9.53

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 (611) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +216 -20
  3. package/dist/build-meta.json +2090 -1638
  4. package/dist/index.mjs +18057 -17119
  5. package/docs/actions-reference.md +431 -1
  6. package/index.ts +39 -10
  7. package/package.json +19 -9
  8. package/schema.json +41 -0
  9. package/scripts/check-bundle-size.mjs +38 -0
  10. package/scripts/test-runner.mjs +11 -1
  11. package/dist/index.mjs.map +0 -7
  12. package/docs/FEATURE_INTAKE.md +0 -126
  13. package/docs/HARNESS.md +0 -87
  14. package/docs/HARNESS_BACKLOG.md +0 -89
  15. package/docs/PROJECT_REVIEW.md +0 -270
  16. package/docs/PROJECT_REVIEW_FIXES.md +0 -342
  17. package/docs/PROJECT_REVIEW_ROUND4.md +0 -156
  18. package/docs/PROJECT_REVIEW_ROUND5.md +0 -86
  19. package/docs/REVIEW-FINDINGS-2026-06 +0 -357
  20. package/docs/REVIEW-FINDINGS-2026-07-CORE.md +0 -139
  21. package/docs/REVIEW-FINDINGS-2026-07.md +0 -125
  22. package/docs/TEST_MATRIX.md +0 -51
  23. package/docs/archive/README.md +0 -91
  24. package/docs/archive/followup-review-round3-2026-05-12.md +0 -342
  25. package/docs/archive/followup-review-round4-2026-05-13.md +0 -107
  26. package/docs/archive/pi-crew-bugs.md +0 -961
  27. package/docs/archive/pi-crew-test-final.md +0 -120
  28. package/docs/archive/pi-crew-test-results.md +0 -260
  29. package/docs/archive/pi-crew-test-round2.md +0 -136
  30. package/docs/archive/pi-crew-test-round4.md +0 -100
  31. package/docs/archive/pi-crew-test-round5.md +0 -70
  32. package/docs/archive/pi-crew-test-round6.md +0 -110
  33. package/docs/archive/pi-crew-v0.5.10-audit-fix-plan.md +0 -60
  34. package/docs/archive/pi-crew-v0.5.11-audit-fix-plan.md +0 -92
  35. package/docs/archive/pi-crew-v0.5.12-audit-fix-plan.md +0 -76
  36. package/docs/archive/pi-crew-v0.5.13-audit-fix-plan.md +0 -75
  37. package/docs/archive/pi-crew-v0.5.14-audit-fix-plan.md +0 -75
  38. package/docs/archive/pi-crew-v0.5.16-audit-fix-plan.md +0 -35
  39. package/docs/archive/pi-crew-v0.5.17-audit-fix-plan.md +0 -80
  40. package/docs/archive/pi-crew-v0.5.5-audit-fix-plan.md +0 -133
  41. package/docs/archive/pi-crew-v0.5.9-audit-fix-plan.md +0 -88
  42. package/docs/archive/pi-mono-opportunities.md +0 -969
  43. package/docs/archive/pi-mono-review.md +0 -291
  44. package/docs/archive/pi-subagent4-comparison.md +0 -261
  45. package/docs/archive/pi-subagents3-deep-analysis.md +0 -508
  46. package/docs/bugs/bug-021-notification-badge-counter-misleading.md +0 -293
  47. package/docs/bugs/bug-023-chain-windows-path-resolution.md +0 -106
  48. package/docs/bugs/bug-quota-display-truncation.md +0 -223
  49. package/docs/bugs/cross-session-notification-leakage.md +0 -82
  50. package/docs/code-review-2026-05-11.md +0 -592
  51. package/docs/coding-agent-optimization.md +0 -268
  52. package/docs/comparison-pi-subagents-vs-pi-crew.md +0 -303
  53. package/docs/decisions/0001-durable-state.md +0 -41
  54. package/docs/decisions/0002-child-process-for-async.md +0 -42
  55. package/docs/decisions/0003-depth-guard.md +0 -36
  56. package/docs/decisions/0004-execfile-over-exec.md +0 -34
  57. package/docs/decisions/0005-no-parameter-properties.md +0 -49
  58. package/docs/decisions/0006-publish-bundled-esm.md +0 -63
  59. package/docs/decisions/0007-active-run-binary-index.md +0 -54
  60. package/docs/decisions/0008-child-pi-warm-pool.md +0 -61
  61. package/docs/decisions/2026-07-21-broker-phase4-default-on.md +0 -77
  62. package/docs/decisions/2026-07-21-broker-windows-perms.md +0 -91
  63. package/docs/decisions/2026-07-22-broker-phase4-gated-on.md +0 -99
  64. package/docs/decisions/2026-07-24-oidc-trusted-publishing.md +0 -112
  65. package/docs/decisions/2026-07-26-c6-mascot-visibility-not-wired.md +0 -84
  66. package/docs/decisions/README.md +0 -26
  67. package/docs/deep-review-report.md +0 -384
  68. package/docs/distillation/cybersecurity-patterns.md +0 -294
  69. package/docs/feature-analysis-subagent4.md +0 -305
  70. package/docs/fix-plan-disabletools-exit-null.md +0 -219
  71. package/docs/fixes/BATCH_A_H1_H2.md +0 -86
  72. package/docs/fixes/bug-006-foreground-cancel-concurrent.md +0 -78
  73. package/docs/fixes/bug-007-async-notifier-stale-ctx.md +0 -112
  74. package/docs/fixes/bug-008-child-process-silent-timeout.md +0 -100
  75. package/docs/fixes/bug-009-executor-yield-limit-needs-attention.md +0 -75
  76. package/docs/fixes/bug-010-child-process-api-key-filtered.md +0 -109
  77. package/docs/fixes/bug-011-spawn-pi-enoent.md +0 -92
  78. package/docs/fixes/bug-012-essential-env-stripped.md +0 -89
  79. package/docs/fixes/bug-013-background-runner-death.md +0 -84
  80. package/docs/fixes/bug-014-infinite-retry-loop-needs-attention.md +0 -82
  81. package/docs/fixes/bug-015-background-runner-sigterm.md +0 -65
  82. package/docs/fixes/bug-017-background-runner-session-shutdown.md +0 -66
  83. package/docs/fixes/bug-017-background-runner-sigkill-double-fork.md +0 -28
  84. package/docs/fixes/bug-018-child-pi-worker-stdin-hang.md +0 -61
  85. package/docs/fixes/bug-019-phantom-runs-temp-workspace.md +0 -52
  86. package/docs/fixes/bug-020-infinite-retry-loop-needs-attention.md +0 -47
  87. package/docs/fixes/v0.9.10/locks-fix-verify.md +0 -3
  88. package/docs/fixes/v0.9.10/smoke-test.md +0 -12
  89. package/docs/followup-plan-2026-05-12.md +0 -463
  90. package/docs/followup-review-2026-05-12.md +0 -297
  91. package/docs/goals.md +0 -59
  92. package/docs/implementation-plan-top3.md +0 -333
  93. package/docs/issue-29-analysis.md +0 -189
  94. package/docs/live-mailbox-runtime.md +0 -36
  95. package/docs/migration/atomic-write-v2-migration.md +0 -299
  96. package/docs/next-upgrade-roadmap.md +0 -808
  97. package/docs/oh-my-pi-research.md +0 -509
  98. package/docs/optimization-plan-2026-07.md +0 -366
  99. package/docs/optimization-plan.md +0 -644
  100. package/docs/patterns/command-agent-skill.md +0 -71
  101. package/docs/perf/baseline-2026-05.md +0 -113
  102. package/docs/perf/final-report-2026-05.md +0 -206
  103. package/docs/perf/optimization-plan-2026-07-verified.md +0 -396
  104. package/docs/perf/performance-audit-report-2026-07.md +0 -948
  105. package/docs/perf/performance-review-2026-07.md +0 -287
  106. package/docs/perf/sprint-1-report.md +0 -71
  107. package/docs/perf/sprint-2-report.md +0 -81
  108. package/docs/perf/sprint-2.5-report.md +0 -53
  109. package/docs/perf/sprint-3-report.md +0 -36
  110. package/docs/perf/sprint-4-report.md +0 -47
  111. package/docs/perf/sprint-5-report.md +0 -51
  112. package/docs/perf/sprint-6-report.md +0 -94
  113. package/docs/perf/sprint-7-report.md +0 -74
  114. package/docs/perf/upgrade-plan-2026-05.md +0 -147
  115. package/docs/performance-optimization-execution-plan.md +0 -520
  116. package/docs/phase4-triage.md +0 -58
  117. package/docs/pi-crew-investigation-report.md +0 -411
  118. package/docs/product/README.md +0 -31
  119. package/docs/product/platform.md +0 -27
  120. package/docs/product/runtime-safety.md +0 -37
  121. package/docs/product/team-run.md +0 -39
  122. package/docs/product/team-tool.md +0 -37
  123. package/docs/runtime-analysis-child-vs-live.md +0 -171
  124. package/docs/runtime-migration-in-process-analysis.md +0 -250
  125. package/docs/skills/REFERENCE.md +0 -138
  126. package/docs/stories/README.md +0 -32
  127. package/docs/stories/US-DEPS-major-upgrade.md +0 -62
  128. package/docs/stories/backlog.md +0 -36
  129. package/docs/superpowers/plans/2026-06-09-fallow-patterns-adoption.md +0 -1270
  130. package/docs/templates/decision.md +0 -27
  131. package/docs/templates/story.md +0 -44
  132. package/docs/templates/validation-report.md +0 -32
  133. package/docs/ui-optimization-plan.md +0 -447
  134. package/src/adapters/claude-adapter.ts +0 -23
  135. package/src/adapters/codex-adapter.ts +0 -21
  136. package/src/adapters/cursor-adapter.ts +0 -17
  137. package/src/adapters/export-util.ts +0 -143
  138. package/src/adapters/index.ts +0 -15
  139. package/src/adapters/registry.ts +0 -18
  140. package/src/adapters/types.ts +0 -23
  141. package/src/agents/agent-config.ts +0 -194
  142. package/src/agents/agent-search.ts +0 -98
  143. package/src/agents/agent-serializer.ts +0 -38
  144. package/src/agents/discover-agents.ts +0 -623
  145. package/src/benchmark/benchmark-runner.ts +0 -313
  146. package/src/benchmark/feedback-loop.ts +0 -73
  147. package/src/config/config.ts +0 -1269
  148. package/src/config/defaults.ts +0 -193
  149. package/src/config/drift-detector.ts +0 -290
  150. package/src/config/markers.ts +0 -330
  151. package/src/config/resilient-parser.ts +0 -117
  152. package/src/config/role-tools.ts +0 -118
  153. package/src/config/suggestions.ts +0 -75
  154. package/src/config/types.ts +0 -278
  155. package/src/errors.ts +0 -194
  156. package/src/extension/action-suggestions.ts +0 -117
  157. package/src/extension/async-notifier.ts +0 -179
  158. package/src/extension/autonomous-policy.ts +0 -209
  159. package/src/extension/command-completions.ts +0 -120
  160. package/src/extension/context-status-injection.ts +0 -185
  161. package/src/extension/crew-autocomplete.ts +0 -131
  162. package/src/extension/crew-cleanup.ts +0 -168
  163. package/src/extension/crew-input-router.ts +0 -93
  164. package/src/extension/crew-shortcuts.ts +0 -87
  165. package/src/extension/crew-vibes/cat-frames.ts +0 -18
  166. package/src/extension/crew-vibes/config.ts +0 -195
  167. package/src/extension/crew-vibes/figures.ts +0 -101
  168. package/src/extension/crew-vibes/font-detect.ts +0 -71
  169. package/src/extension/crew-vibes/footer.ts +0 -292
  170. package/src/extension/crew-vibes/index.ts +0 -432
  171. package/src/extension/crew-vibes/provider-usage.ts +0 -396
  172. package/src/extension/crew-vibes/render.ts +0 -206
  173. package/src/extension/crew-vibes/speed.ts +0 -286
  174. package/src/extension/cross-extension-rpc.ts +0 -350
  175. package/src/extension/help.ts +0 -62
  176. package/src/extension/import-index.ts +0 -74
  177. package/src/extension/knowledge-injection.ts +0 -402
  178. package/src/extension/management.ts +0 -571
  179. package/src/extension/message-renderers.ts +0 -108
  180. package/src/extension/notification-router.ts +0 -152
  181. package/src/extension/notification-sink.ts +0 -54
  182. package/src/extension/pi-api.ts +0 -56
  183. package/src/extension/plan-orchestrate.ts +0 -302
  184. package/src/extension/project-init.ts +0 -170
  185. package/src/extension/register.ts +0 -113
  186. package/src/extension/registration/artifact-cleanup.ts +0 -20
  187. package/src/extension/registration/command-registration.ts +0 -58
  188. package/src/extension/registration/command-utils.ts +0 -58
  189. package/src/extension/registration/commands.ts +0 -1228
  190. package/src/extension/registration/compaction-guard.ts +0 -333
  191. package/src/extension/registration/context-builder.ts +0 -135
  192. package/src/extension/registration/crash-recovery-cache.ts +0 -54
  193. package/src/extension/registration/foreground-run-controller.ts +0 -238
  194. package/src/extension/registration/hook-registration.ts +0 -119
  195. package/src/extension/registration/lazy-configurers.ts +0 -124
  196. package/src/extension/registration/lifecycle-handlers.ts +0 -923
  197. package/src/extension/registration/lifecycle.ts +0 -259
  198. package/src/extension/registration/observability.ts +0 -322
  199. package/src/extension/registration/registration-types.ts +0 -158
  200. package/src/extension/registration/runtime-cleanup.ts +0 -230
  201. package/src/extension/registration/subagent-helpers.ts +0 -125
  202. package/src/extension/registration/subagent-manager-setup.ts +0 -330
  203. package/src/extension/registration/subagent-tools.ts +0 -456
  204. package/src/extension/registration/team-tool.ts +0 -220
  205. package/src/extension/registration/tool-registration.ts +0 -50
  206. package/src/extension/registration/ui.ts +0 -172
  207. package/src/extension/registration/viewers.ts +0 -121
  208. package/src/extension/registration/wire-cross-extension.ts +0 -37
  209. package/src/extension/result-watcher.ts +0 -139
  210. package/src/extension/rpc-hmac.ts +0 -256
  211. package/src/extension/run-bundle-schema.ts +0 -104
  212. package/src/extension/run-export.ts +0 -97
  213. package/src/extension/run-import.ts +0 -168
  214. package/src/extension/run-index.ts +0 -131
  215. package/src/extension/run-maintenance.ts +0 -190
  216. package/src/extension/session-summary.ts +0 -18
  217. package/src/extension/team-manager-command.ts +0 -153
  218. package/src/extension/team-onboard.ts +0 -177
  219. package/src/extension/team-recommendation.ts +0 -288
  220. package/src/extension/team-tool/anchor.ts +0 -172
  221. package/src/extension/team-tool/api.ts +0 -1244
  222. package/src/extension/team-tool/auto-summarize.ts +0 -142
  223. package/src/extension/team-tool/cache-control.ts +0 -19
  224. package/src/extension/team-tool/cancel.ts +0 -337
  225. package/src/extension/team-tool/chain-dispatch.ts +0 -95
  226. package/src/extension/team-tool/chain-executor.ts +0 -379
  227. package/src/extension/team-tool/config-patch.ts +0 -50
  228. package/src/extension/team-tool/context.ts +0 -149
  229. package/src/extension/team-tool/destructive-gate.ts +0 -52
  230. package/src/extension/team-tool/doctor.ts +0 -431
  231. package/src/extension/team-tool/explain.ts +0 -282
  232. package/src/extension/team-tool/failure-patterns.ts +0 -118
  233. package/src/extension/team-tool/goal-wrap.ts +0 -330
  234. package/src/extension/team-tool/goal.ts +0 -556
  235. package/src/extension/team-tool/handle-schedule.ts +0 -332
  236. package/src/extension/team-tool/handle-settings.ts +0 -520
  237. package/src/extension/team-tool/health-monitor.ts +0 -481
  238. package/src/extension/team-tool/inspect.ts +0 -88
  239. package/src/extension/team-tool/intent-policy.ts +0 -45
  240. package/src/extension/team-tool/lifecycle-actions.ts +0 -615
  241. package/src/extension/team-tool/orchestrate.ts +0 -98
  242. package/src/extension/team-tool/parallel-dispatch.ts +0 -183
  243. package/src/extension/team-tool/plan.ts +0 -50
  244. package/src/extension/team-tool/respond.ts +0 -150
  245. package/src/extension/team-tool/run-not-found.ts +0 -49
  246. package/src/extension/team-tool/run.ts +0 -1035
  247. package/src/extension/team-tool/status.ts +0 -260
  248. package/src/extension/team-tool/workflow-manage.ts +0 -261
  249. package/src/extension/team-tool-types.ts +0 -26
  250. package/src/extension/team-tool.ts +0 -1116
  251. package/src/extension/tool-result.ts +0 -16
  252. package/src/extension/validate-resources.ts +0 -108
  253. package/src/hooks/registry.ts +0 -200
  254. package/src/hooks/types.ts +0 -69
  255. package/src/i18n.ts +0 -212
  256. package/src/observability/correlation.ts +0 -50
  257. package/src/observability/event-bus.ts +0 -86
  258. package/src/observability/event-to-metric.ts +0 -170
  259. package/src/observability/exporters/adapter.ts +0 -27
  260. package/src/observability/exporters/otlp-exporter.ts +0 -356
  261. package/src/observability/exporters/prometheus-exporter.ts +0 -54
  262. package/src/observability/metric-registry.ts +0 -100
  263. package/src/observability/metric-retention.ts +0 -64
  264. package/src/observability/metric-sink.ts +0 -99
  265. package/src/observability/metrics-primitives.ts +0 -219
  266. package/src/plugins/plugin-define.ts +0 -6
  267. package/src/plugins/plugin-registry.ts +0 -32
  268. package/src/plugins/plugins/index.ts +0 -3
  269. package/src/plugins/plugins/nextjs.ts +0 -19
  270. package/src/plugins/plugins/vite.ts +0 -10
  271. package/src/plugins/plugins/vitest.ts +0 -9
  272. package/src/prompt/prompt-runtime.ts +0 -380
  273. package/src/runtime/adaptive-plan.ts +0 -563
  274. package/src/runtime/agent-control.ts +0 -215
  275. package/src/runtime/agent-memory.ts +0 -81
  276. package/src/runtime/agent-observability.ts +0 -122
  277. package/src/runtime/anchor-manager.ts +0 -475
  278. package/src/runtime/async-marker.ts +0 -32
  279. package/src/runtime/async-runner.ts +0 -381
  280. package/src/runtime/attention-events.ts +0 -28
  281. package/src/runtime/auto-summarize.ts +0 -344
  282. package/src/runtime/background-runner.ts +0 -837
  283. package/src/runtime/batch-barrier.ts +0 -147
  284. package/src/runtime/broker-issuer.ts +0 -37
  285. package/src/runtime/cancellation-token.ts +0 -99
  286. package/src/runtime/cancellation.ts +0 -99
  287. package/src/runtime/capability-inventory.ts +0 -137
  288. package/src/runtime/chain-parser.ts +0 -237
  289. package/src/runtime/chain-runner.ts +0 -606
  290. package/src/runtime/checkpoint.ts +0 -291
  291. package/src/runtime/child-pi-constants.ts +0 -42
  292. package/src/runtime/child-pi-kill.ts +0 -180
  293. package/src/runtime/child-pi-pool.ts +0 -68
  294. package/src/runtime/child-pi-spawn.ts +0 -287
  295. package/src/runtime/child-pi-steering.ts +0 -128
  296. package/src/runtime/child-pi-streams.ts +0 -296
  297. package/src/runtime/child-pi-transcript.ts +0 -169
  298. package/src/runtime/child-pi.ts +0 -1105
  299. package/src/runtime/coalesce-tasks.ts +0 -268
  300. package/src/runtime/code-summary.ts +0 -292
  301. package/src/runtime/command-trace.ts +0 -105
  302. package/src/runtime/compact-pipeline.ts +0 -56
  303. package/src/runtime/compact-stages/ansi-strip-stage.ts +0 -25
  304. package/src/runtime/compact-stages/blank-collapse-stage.ts +0 -31
  305. package/src/runtime/compact-stages/deduplicate-stage.ts +0 -34
  306. package/src/runtime/compact-stages/head-snap-stage.ts +0 -57
  307. package/src/runtime/compact-stages/index.ts +0 -23
  308. package/src/runtime/compact-stages/tail-capture-stage.ts +0 -77
  309. package/src/runtime/compact-stages/truncation-stage.ts +0 -74
  310. package/src/runtime/compaction-summary.ts +0 -278
  311. package/src/runtime/completion-guard.ts +0 -207
  312. package/src/runtime/concurrency.ts +0 -58
  313. package/src/runtime/crash-classification.ts +0 -229
  314. package/src/runtime/crash-recovery.ts +0 -577
  315. package/src/runtime/crew-agent-records.ts +0 -593
  316. package/src/runtime/crew-agent-runtime.ts +0 -62
  317. package/src/runtime/crew-broker-child.ts +0 -88
  318. package/src/runtime/crew-broker-client.ts +0 -673
  319. package/src/runtime/crew-broker-tokens.ts +0 -84
  320. package/src/runtime/crew-broker.ts +0 -1276
  321. package/src/runtime/crew-hooks.ts +0 -227
  322. package/src/runtime/cross-extension-rpc.ts +0 -143
  323. package/src/runtime/custom-tools/irc-tool.ts +0 -282
  324. package/src/runtime/custom-tools/submit-result-tool.ts +0 -102
  325. package/src/runtime/deadletter.ts +0 -47
  326. package/src/runtime/delivery-coordinator.ts +0 -211
  327. package/src/runtime/delta-conflict.ts +0 -348
  328. package/src/runtime/deterministic-ast.ts +0 -161
  329. package/src/runtime/diagnostic-export.ts +0 -171
  330. package/src/runtime/direct-run.ts +0 -45
  331. package/src/runtime/dwf-state-store.ts +0 -102
  332. package/src/runtime/dynamic-workflow-context.ts +0 -1016
  333. package/src/runtime/dynamic-workflow-runner.ts +0 -310
  334. package/src/runtime/effectiveness.ts +0 -90
  335. package/src/runtime/errors/crew-errors.ts +0 -162
  336. package/src/runtime/event-stream-bridge.ts +0 -98
  337. package/src/runtime/foreground-control.ts +0 -193
  338. package/src/runtime/foreground-watchdog.ts +0 -132
  339. package/src/runtime/global-worker-cap.ts +0 -96
  340. package/src/runtime/goal-achievement.ts +0 -148
  341. package/src/runtime/goal-evaluator.ts +0 -361
  342. package/src/runtime/goal-loop-runner.ts +0 -828
  343. package/src/runtime/goal-state-store.ts +0 -219
  344. package/src/runtime/green-contract.ts +0 -55
  345. package/src/runtime/group-join.ts +0 -267
  346. package/src/runtime/handoff-manager.ts +0 -598
  347. package/src/runtime/heartbeat-gradient.ts +0 -36
  348. package/src/runtime/heartbeat-watcher.ts +0 -239
  349. package/src/runtime/hidden-handoff.ts +0 -407
  350. package/src/runtime/important-line-classifier.ts +0 -140
  351. package/src/runtime/intercom-bridge.ts +0 -187
  352. package/src/runtime/iteration-hooks.ts +0 -305
  353. package/src/runtime/live-agent-control.ts +0 -136
  354. package/src/runtime/live-agent-manager.ts +0 -704
  355. package/src/runtime/live-control-realtime.ts +0 -56
  356. package/src/runtime/live-extension-bridge.ts +0 -148
  357. package/src/runtime/live-irc.ts +0 -97
  358. package/src/runtime/live-session-health.ts +0 -108
  359. package/src/runtime/live-session-runtime.ts +0 -1139
  360. package/src/runtime/loop-gates.ts +0 -128
  361. package/src/runtime/manifest-cache.ts +0 -375
  362. package/src/runtime/mcp-proxy.ts +0 -105
  363. package/src/runtime/metric-parser.ts +0 -36
  364. package/src/runtime/model-fallback.ts +0 -409
  365. package/src/runtime/model-resolver.ts +0 -126
  366. package/src/runtime/model-scope.ts +0 -158
  367. package/src/runtime/orphan-worker-registry.ts +0 -465
  368. package/src/runtime/output-validator.ts +0 -202
  369. package/src/runtime/overflow-recovery.ts +0 -206
  370. package/src/runtime/parallel-research.ts +0 -68
  371. package/src/runtime/parallel-utils.ts +0 -160
  372. package/src/runtime/parent-guard.ts +0 -134
  373. package/src/runtime/path-overlap.ts +0 -150
  374. package/src/runtime/peer-dep.ts +0 -292
  375. package/src/runtime/per-write-validator.ts +0 -181
  376. package/src/runtime/phase-progress.ts +0 -217
  377. package/src/runtime/phase-tracker.ts +0 -385
  378. package/src/runtime/pi-args.ts +0 -655
  379. package/src/runtime/pi-json-output.ts +0 -170
  380. package/src/runtime/pi-spawn.ts +0 -273
  381. package/src/runtime/pipeline-runner.ts +0 -523
  382. package/src/runtime/plan-templates.ts +0 -201
  383. package/src/runtime/policy-engine.ts +0 -115
  384. package/src/runtime/post-checks.ts +0 -142
  385. package/src/runtime/post-exit-stdio-guard.ts +0 -104
  386. package/src/runtime/process-lifecycle.ts +0 -491
  387. package/src/runtime/process-status.ts +0 -154
  388. package/src/runtime/progress-event-coalescer.ts +0 -44
  389. package/src/runtime/progress-tracker.ts +0 -124
  390. package/src/runtime/prose-compressor.ts +0 -162
  391. package/src/runtime/recovery-recipes.ts +0 -203
  392. package/src/runtime/replace.ts +0 -570
  393. package/src/runtime/resilient-edit.ts +0 -153
  394. package/src/runtime/result-extractor.ts +0 -213
  395. package/src/runtime/retry-executor.ts +0 -100
  396. package/src/runtime/retry-runner.ts +0 -336
  397. package/src/runtime/role-permission.ts +0 -59
  398. package/src/runtime/run-coalesced-task-group.ts +0 -308
  399. package/src/runtime/run-drift.ts +0 -219
  400. package/src/runtime/run-tracker.ts +0 -116
  401. package/src/runtime/runtime-policy.ts +0 -29
  402. package/src/runtime/runtime-resolver.ts +0 -172
  403. package/src/runtime/runtime-warmup.ts +0 -160
  404. package/src/runtime/scheduler.ts +0 -353
  405. package/src/runtime/semaphore.ts +0 -141
  406. package/src/runtime/sensitive-paths.ts +0 -93
  407. package/src/runtime/session-resources.ts +0 -25
  408. package/src/runtime/session-snapshot.ts +0 -59
  409. package/src/runtime/session-usage.ts +0 -79
  410. package/src/runtime/settings-store.ts +0 -155
  411. package/src/runtime/sidechain-output.ts +0 -35
  412. package/src/runtime/single-agent-compose.ts +0 -84
  413. package/src/runtime/skill-effectiveness.ts +0 -524
  414. package/src/runtime/skill-instructions.ts +0 -391
  415. package/src/runtime/stale-reconciler.ts +0 -680
  416. package/src/runtime/stream-preview.ts +0 -184
  417. package/src/runtime/streaming-output.ts +0 -50
  418. package/src/runtime/subagent-manager.ts +0 -561
  419. package/src/runtime/subprocess-tool-registry.ts +0 -70
  420. package/src/runtime/supervisor-contact.ts +0 -64
  421. package/src/runtime/task-display.ts +0 -52
  422. package/src/runtime/task-graph-scheduler.ts +0 -227
  423. package/src/runtime/task-graph.ts +0 -290
  424. package/src/runtime/task-health.ts +0 -83
  425. package/src/runtime/task-id.ts +0 -161
  426. package/src/runtime/task-output-context.ts +0 -602
  427. package/src/runtime/task-packet.ts +0 -268
  428. package/src/runtime/task-quality.ts +0 -199
  429. package/src/runtime/task-runner/capabilities.ts +0 -78
  430. package/src/runtime/task-runner/context-retrieval.ts +0 -163
  431. package/src/runtime/task-runner/live-executor.ts +0 -227
  432. package/src/runtime/task-runner/output-splitter.ts +0 -152
  433. package/src/runtime/task-runner/progress.ts +0 -157
  434. package/src/runtime/task-runner/prompt-builder.ts +0 -278
  435. package/src/runtime/task-runner/prompt-pipeline.ts +0 -88
  436. package/src/runtime/task-runner/result-utils.ts +0 -16
  437. package/src/runtime/task-runner/retrieval-orchestrator.ts +0 -310
  438. package/src/runtime/task-runner/run-projection.ts +0 -125
  439. package/src/runtime/task-runner/state-helpers.ts +0 -176
  440. package/src/runtime/task-runner/tail-read.ts +0 -34
  441. package/src/runtime/task-runner.ts +0 -1420
  442. package/src/runtime/team-runner-artifacts.ts +0 -13
  443. package/src/runtime/team-runner.ts +0 -1993
  444. package/src/runtime/tool-output-pruner.ts +0 -333
  445. package/src/runtime/tool-progress.ts +0 -278
  446. package/src/runtime/usage-tracker.ts +0 -73
  447. package/src/runtime/verification-gates.ts +0 -571
  448. package/src/runtime/verification-integrity.ts +0 -105
  449. package/src/runtime/verification-worktree.ts +0 -186
  450. package/src/runtime/worker-heartbeat.ts +0 -25
  451. package/src/runtime/worker-startup.ts +0 -83
  452. package/src/runtime/workflow-state.ts +0 -195
  453. package/src/runtime/workspace-lock.ts +0 -443
  454. package/src/runtime/workspace-tree.ts +0 -312
  455. package/src/runtime/yield-handler.ts +0 -224
  456. package/src/runtime/zombie-scanner.ts +0 -298
  457. package/src/schema/config-schema.ts +0 -327
  458. package/src/schema/team-tool-schema.ts +0 -415
  459. package/src/schema/validation-types.ts +0 -159
  460. package/src/skills/discover-skills.ts +0 -197
  461. package/src/skills/skill-templates.ts +0 -456
  462. package/src/skills/validate.ts +0 -285
  463. package/src/state/active-run-registry.ts +0 -439
  464. package/src/state/artifact-store.ts +0 -176
  465. package/src/state/atomic-write.ts +0 -903
  466. package/src/state/blob-store.ts +0 -308
  467. package/src/state/contracts.ts +0 -158
  468. package/src/state/crew-init.ts +0 -269
  469. package/src/state/decision-ledger.ts +0 -345
  470. package/src/state/event-log-rotation.ts +0 -342
  471. package/src/state/event-log.ts +0 -1311
  472. package/src/state/event-reconstructor.ts +0 -229
  473. package/src/state/gitignore-manager.ts +0 -46
  474. package/src/state/health-store.ts +0 -79
  475. package/src/state/hook-instinct-bridge.ts +0 -94
  476. package/src/state/hook-integrations.ts +0 -51
  477. package/src/state/instinct-store.ts +0 -275
  478. package/src/state/jsonl-writer.ts +0 -107
  479. package/src/state/locks.ts +0 -562
  480. package/src/state/mailbox.ts +0 -916
  481. package/src/state/observation-store.ts +0 -176
  482. package/src/state/run-cache.ts +0 -193
  483. package/src/state/run-graph.ts +0 -183
  484. package/src/state/run-metrics.ts +0 -165
  485. package/src/state/schedule.ts +0 -166
  486. package/src/state/session-state-map.ts +0 -51
  487. package/src/state/state-store.ts +0 -958
  488. package/src/state/task-claims.ts +0 -61
  489. package/src/state/tiered-eval.ts +0 -480
  490. package/src/state/types-eval.ts +0 -58
  491. package/src/state/types.ts +0 -440
  492. package/src/state/usage.ts +0 -138
  493. package/src/state/worker-atomic-writer.ts +0 -194
  494. package/src/subagents/async-entry.ts +0 -1
  495. package/src/subagents/index.ts +0 -3
  496. package/src/subagents/live/control.ts +0 -1
  497. package/src/subagents/live/manager.ts +0 -1
  498. package/src/subagents/live/realtime.ts +0 -1
  499. package/src/subagents/live/session-runtime.ts +0 -1
  500. package/src/subagents/manager.ts +0 -1
  501. package/src/subagents/spawn.ts +0 -1
  502. package/src/teams/discover-teams.ts +0 -187
  503. package/src/teams/team-config.ts +0 -27
  504. package/src/teams/team-serializer.ts +0 -38
  505. package/src/tools/safe-bash-extension.ts +0 -54
  506. package/src/tools/safe-bash.ts +0 -505
  507. package/src/types/diff.d.ts +0 -18
  508. package/src/types/new-api-types.ts +0 -35
  509. package/src/ui/agent-management-overlay.ts +0 -160
  510. package/src/ui/card-colors.ts +0 -139
  511. package/src/ui/crew-footer.ts +0 -102
  512. package/src/ui/crew-select-list.ts +0 -111
  513. package/src/ui/dashboard-panes/agents-pane.ts +0 -164
  514. package/src/ui/dashboard-panes/cancellation-pane.ts +0 -66
  515. package/src/ui/dashboard-panes/capability-pane.ts +0 -77
  516. package/src/ui/dashboard-panes/health-pane.ts +0 -31
  517. package/src/ui/dashboard-panes/mailbox-pane.ts +0 -35
  518. package/src/ui/dashboard-panes/metrics-pane.ts +0 -37
  519. package/src/ui/dashboard-panes/progress-pane.ts +0 -38
  520. package/src/ui/dashboard-panes/transcript-pane.ts +0 -10
  521. package/src/ui/deploy-bundled-themes.ts +0 -71
  522. package/src/ui/dwf-phase-display.ts +0 -151
  523. package/src/ui/dynamic-border.ts +0 -35
  524. package/src/ui/heartbeat-aggregator.ts +0 -74
  525. package/src/ui/key-utils.ts +0 -42
  526. package/src/ui/keybinding-map.ts +0 -248
  527. package/src/ui/layout-primitives.ts +0 -106
  528. package/src/ui/live-conversation-overlay.ts +0 -183
  529. package/src/ui/live-duration.ts +0 -55
  530. package/src/ui/live-run-sidebar.ts +0 -293
  531. package/src/ui/loaders.ts +0 -6
  532. package/src/ui/mascot.ts +0 -449
  533. package/src/ui/overlays/agent-picker-overlay.ts +0 -65
  534. package/src/ui/overlays/confirm-overlay.ts +0 -60
  535. package/src/ui/overlays/help-overlay.ts +0 -177
  536. package/src/ui/overlays/mailbox-compose-overlay.ts +0 -181
  537. package/src/ui/overlays/mailbox-compose-preview.ts +0 -78
  538. package/src/ui/overlays/mailbox-detail-overlay.ts +0 -154
  539. package/src/ui/pi-ui-compat.ts +0 -68
  540. package/src/ui/powerbar-publisher.ts +0 -459
  541. package/src/ui/render-coalescer.ts +0 -101
  542. package/src/ui/render-diff.ts +0 -160
  543. package/src/ui/render-scheduler.ts +0 -278
  544. package/src/ui/run-action-dispatcher.ts +0 -182
  545. package/src/ui/run-dashboard.ts +0 -904
  546. package/src/ui/run-event-bus.ts +0 -381
  547. package/src/ui/run-snapshot-cache.ts +0 -1057
  548. package/src/ui/settings-overlay.ts +0 -1067
  549. package/src/ui/shared-overlay-scheduler.ts +0 -96
  550. package/src/ui/snapshot-types.ts +0 -90
  551. package/src/ui/spinner.ts +0 -17
  552. package/src/ui/status-colors.ts +0 -143
  553. package/src/ui/syntax-highlight.ts +0 -136
  554. package/src/ui/terminal-status.ts +0 -269
  555. package/src/ui/theme-adapter.ts +0 -271
  556. package/src/ui/theme-discovery.ts +0 -199
  557. package/src/ui/tool-progress-formatter.ts +0 -93
  558. package/src/ui/tool-render.ts +0 -453
  559. package/src/ui/tool-renderers/brief-mode.ts +0 -225
  560. package/src/ui/tool-renderers/index.ts +0 -726
  561. package/src/ui/transcript-cache.ts +0 -128
  562. package/src/ui/transcript-entries.ts +0 -256
  563. package/src/ui/transcript-viewer.ts +0 -424
  564. package/src/ui/widget/index.ts +0 -391
  565. package/src/ui/widget/widget-formatters.ts +0 -182
  566. package/src/ui/widget/widget-model.ts +0 -110
  567. package/src/ui/widget/widget-renderer.ts +0 -182
  568. package/src/ui/widget/widget-types.ts +0 -36
  569. package/src/utils/bm25-search.ts +0 -235
  570. package/src/utils/completion-dedupe.ts +0 -63
  571. package/src/utils/conflict-detect.ts +0 -668
  572. package/src/utils/env-allowlist.ts +0 -30
  573. package/src/utils/env-filter.ts +0 -155
  574. package/src/utils/file-coalescer.ts +0 -98
  575. package/src/utils/fingerprint.ts +0 -180
  576. package/src/utils/frontmatter.ts +0 -70
  577. package/src/utils/fs-watch.ts +0 -37
  578. package/src/utils/gh-protocol.ts +0 -556
  579. package/src/utils/git.ts +0 -260
  580. package/src/utils/guards.ts +0 -107
  581. package/src/utils/ids.ts +0 -24
  582. package/src/utils/incremental-reader.ts +0 -220
  583. package/src/utils/internal-error.ts +0 -10
  584. package/src/utils/names.ts +0 -36
  585. package/src/utils/ndjson.ts +0 -115
  586. package/src/utils/paths.ts +0 -227
  587. package/src/utils/project-detector.ts +0 -160
  588. package/src/utils/redaction.ts +0 -347
  589. package/src/utils/resolve-shell.ts +0 -36
  590. package/src/utils/run-watcher-registry.ts +0 -152
  591. package/src/utils/safe-paths.ts +0 -383
  592. package/src/utils/scan-cache.ts +0 -144
  593. package/src/utils/session-utils.ts +0 -110
  594. package/src/utils/sleep.ts +0 -54
  595. package/src/utils/socket-path.ts +0 -127
  596. package/src/utils/sse-parser.ts +0 -129
  597. package/src/utils/task-name-generator.ts +0 -337
  598. package/src/utils/timings.ts +0 -33
  599. package/src/utils/token-counter.ts +0 -200
  600. package/src/utils/visual.ts +0 -207
  601. package/src/workflows/cost-estimator.ts +0 -34
  602. package/src/workflows/discover-workflows.ts +0 -290
  603. package/src/workflows/intermediate-store.ts +0 -166
  604. package/src/workflows/preflight-validator.ts +0 -168
  605. package/src/workflows/topology-analyzer.ts +0 -203
  606. package/src/workflows/validate-workflow.ts +0 -50
  607. package/src/workflows/workflow-config.ts +0 -70
  608. package/src/workflows/workflow-serializer.ts +0 -32
  609. package/src/worktree/branch-freshness.ts +0 -112
  610. package/src/worktree/cleanup.ts +0 -341
  611. package/src/worktree/worktree-manager.ts +0 -1200
@@ -1,411 +0,0 @@
1
- # pi-crew v0.2.20 — Investigation Results and Analysis
2
-
3
- **Date:** 2026-05-19
4
- **Environment:** linux/x64, Node v22.22.0, Pi CLI v0.75.3
5
- **Models:** zai/glm-5.1 (planner, executor, test-engineer), minimax/MiniMax-M2.7-highspeed (explorer, analyst, reviewer, verifier, writer, critic)
6
- **pi-crew version:** 0.2.20
7
-
8
- ---
9
-
10
- ## 1. pi-crew architecture overview
11
-
12
- ### 1.1 Source code structure
13
-
14
- ```
15
- pi-crew/src/
16
- ├── adapters/ — Adapters for external systems
17
- ├── agents/ — Agent discovery & config (10 agents)
18
- ├── config/ — Configuration, defaults, drift detection
19
- ├── extension/ — Pi extension registration
20
- ├── hooks/ — Lifecycle hooks (before_run_start, before_task_start, task_result, etc.)
21
- ├── observability/ — Metrics, correlation, exporters (OTLP, Prometheus)
22
- ├── prompt/ — Prompt runtime & pipeline
23
- ├── runtime/ — Core runtime (~30+ files)
24
- │ ├── async-runner.ts — Background process spawning with jiti loader
25
- │ ├── background-runner.ts — Background entry point, team execution
26
- │ ├── child-pi.ts — Child Pi process lifecycle, stdout capture, timeout
27
- │ ├── child-pi-pool.ts — Warm pool skeleton (disabled, size=0)
28
- │ ├── live-session-runtime.ts — Live-session (reuses the parent Pi)
29
- │ ├── team-runner.ts — Main team run orchestrator
30
- │ ├── worker-heartbeat.ts — Heartbeat state tracking
31
- │ ├── worker-startup.ts — Startup failure classification
32
- │ ├── pi-spawn.ts — Pi binary resolution & spawn command
33
- │ ├── pi-args.ts — Build args for child Pi workers
34
- │ ├── runtime-resolver.ts — Resolve live-session vs child-process
35
- │ ├── crash-recovery.ts — Crash recovery logic
36
- │ ├── deadletter.ts — Dead letter queue
37
- │ └── ...
38
- ├── schema/ — Config & team-tool schema validation
39
- ├── skills/ — Built-in skills
40
- ├── state/ — State store, manifests, event logs
41
- ├── subagents/ — Subagent index, spawn, manager
42
- ├── teams/ — Team discovery (6 teams)
43
- ├── types/ — Shared TypeScript types
44
- ├── ui/ — TUI: widgets, overlays, dashboard, powerbar
45
- ├── utils/ — Utilities (sleep, shell resolve, redaction, env-filter)
46
- ├── workflows/ — Workflow discovery (6 workflows)
47
- └── worktree/ — Git worktree isolation
48
- ```
49
-
50
- ### 1.2 Resource inventory
51
-
52
- | Resource | Count | Details |
53
- |---|---|---|
54
- | **Teams** | 6 | default, fast-fix, implementation, parallel-research, research, review |
55
- | **Workflows** | 6 | default, fast-fix, implementation, parallel-research, research, review |
56
- | **Agents** | 10 | explorer, planner, analyst, critic, executor, reviewer, security-reviewer, test-engineer, verifier, writer |
57
- | **Skills** | 27 | async-worker-recovery, child-pi-spawning, orchestration, systematic-debugging, verification-before-done, ... |
58
- | **Hooks** | 5+ | before_run_start, before_task_start, before_retry, task_result, ... |
59
-
60
- ### 1.3 Runtime modes
61
-
62
- pi-crew supports 2 runtime modes:
63
-
64
- | Mode | Description | Pros | Cons |
65
- |---|---|---|---|
66
- | **live-session** | Reuses the current Pi session | Fast, shares the provider connection | Cannot run async/background |
67
- | **child-process** | Spawns a new Pi process | Can run background/async | Needs its own provider connection |
68
-
69
- **Runtime resolution flow:**
70
- ```
71
- team action='run' + async=true
72
- → runtime-resolver.ts: resolveCrewRuntime()
73
- → live-session available? NO (background cannot use live-session)
74
- → Fallback: child-process
75
- → spawn new Pi via jiti loader
76
- ```
77
-
78
- ---
79
-
80
- ## 2. Comprehensive test results
81
-
82
- ### 2.1 Summary table
83
-
84
- | Category | Tests | Pass | Fail | Partial |
85
- |---|---|---|---|---|
86
- | Resource Discovery (list, get, recommend) | 5 | ✅ 5 | 0 | 0 |
87
- | Subagent Lifecycle (Agent, crew_agent) | 4 | 0 | ❌ 4 | 0 |
88
- | Team Run Lifecycle (run, cancel, retry) | 4 | ✅ 1 | ❌ 2 | ⚠️ 1 |
89
- | Planning (plan) | 1 | ✅ 1 | 0 | 0 |
90
- | State Management (status, events, artifacts, summary, prune) | 6 | ✅ 6 | 0 | 0 |
91
- | Diagnostics (doctor, validate, help) | 3 | ✅ 3 | 0 | 0 |
92
- | Portability (export, import) | 2 | ✅ 2 | 0 | 0 |
93
- | Configuration (settings, autonomy) | 2 | ✅ 2 | 0 | 0 |
94
- | **Total** | **27** | **20** | **6** | **1** |
95
-
96
- ### 2.2 Per-test details
97
-
98
- #### ✅ Resource Discovery — 5/5 PASS
99
-
100
- | Test | Input | Output | Result |
101
- |---|---|---|---|
102
- | `team list` | List all resources | 6 teams, 6 workflows, 10 agents | ✅ |
103
- | `team get` team | Get team=default | 4 roles (explorer→planner→executor→verifier) | ✅ |
104
- | `team get` workflow | Get workflow for implementation | Implementation workflow steps | ✅ |
105
- | `team get` agent | Get agent=explorer | Full profile: model, description, instructions | ✅ |
106
- | `team recommend` | goal="test all features" | Recommended implementation team, high confidence | ✅ |
107
-
108
- #### ✅ Diagnostics — 3/3 PASS
109
-
110
- | Test | Input | Output | Result |
111
- |---|---|---|---|
112
- | `team doctor` | Full diagnostics | 17/17 checks OK (runtime, filesystem, discovery, validation, drift, schema, async, worktrees) | ✅ |
113
- | `team validate` | Validate all resources | 10 agents, 6 teams, 6 workflows, 0 issues | ✅ |
114
- | `team help` | Show help | Full command reference (core, inspection, maintenance, portability, diagnostics) | ✅ |
115
-
116
- Detailed doctor checks:
117
- - Runtime: cwd, platform, node, pi, git, config, model — all OK
118
- - Filesystem: user state, project state, artifacts — all OK
119
- - Discovery: 10 agents, 6 teams, 6 workflows, 10 model hints — all OK
120
- - Drift: no config drift detected
121
- - Schema: strict-provider schema compatible
122
- - Async: fs.watch with polling fallback, completion notifications enabled
123
- - Worktrees: leader repository OK, dirty worktrees preserved policy
124
-
125
- #### ✅ State Management — 6/6 PASS
126
-
127
- | Test | Input | Output | Result |
128
- |---|---|---|---|
129
- | `team status` | Check run state | Detailed: task graph, events, artifacts, policy decisions | ✅ |
130
- | `team events` | Get event log | 20+ events from run.created → task.failed with timestamps | ✅ |
131
- | `team artifacts` | List artifacts | 14 artifacts (prompts, results, metadata, logs, shared) | ✅ |
132
- | `team summary` | Run overview | Status, goal, tasks, usage summary | ✅ |
133
- | `team prune` | keep=2, confirm=true | 9 runs pruned, 2 kept, audit trail in prune.jsonl | ✅ |
134
- | `team worktrees` | Without runId | Correctly required runId parameter | ✅ |
135
-
136
- #### ✅ Portability — 2/2 PASS
137
-
138
- | Test | Input | Output | Result |
139
- |---|---|---|---|
140
- | `team export` | Export completed run | run-export.json + run-export.md created | ✅ |
141
- | `team import` | Import exported bundle | Bundle imported to .crew/imports/ with README.md | ✅ |
142
-
143
- #### ✅ Configuration — 2/2 PASS
144
-
145
- | Test | Input | Output | Result |
146
- |---|---|---|---|
147
- | `team settings` | Show effective settings | Complete: agent overrides, UI config, autonomous mode | ✅ |
148
- | `team autonomy` | Show autonomy profile | Profile=suggested, enabled=true, inject policy=true | ✅ |
149
-
150
- #### ✅ Planning — 1/1 PASS
151
-
152
- | Test | Input | Output | Result |
153
- |---|---|---|---|
154
- | `team plan` | goal="Add health-check endpoint" | 4-step plan: explore → plan → execute → verify | ✅ |
155
-
156
- #### ❌ Subagent Lifecycle — 0/4 FAIL
157
-
158
- | Test | Agent ID | Type | Duration | Output | Result |
159
- |---|---|---|---|---|---|
160
- | Agent(explorer) | agent_mpc423rq_1 | explorer | 305s | Empty | ❌ |
161
- | Agent(planner) | agent_mpc423rv_2 | planner | 305s | Empty | ❌ |
162
- | Agent(analyst) | agent_mpc423rw_3 | analyst | 305s | Empty | ❌ |
163
- | crew_agent(explorer) | agent_mpc423rw_4 | explorer | 305s | Empty | ❌ |
164
-
165
- All of them: spawn successfully (PID exists) → zero output → 305s heartbeat timeout → failed.
166
-
167
- #### ❌ Team Run Lifecycle — 1 PASS, 2 FAIL, 1 PARTIAL
168
-
169
- | Test | Team | Runtime | Result | Details |
170
- |---|---|---|---|---|
171
- | implementation async | implementation | child-process | ❌ FAIL | 01_assess heartbeat dead after 300s |
172
- | `team retry` | — | — | ✅ PASS | Task re-queued successfully |
173
- | fast-fix foreground | fast-fix | live-session | ⚠️ PARTIAL | 01_explore completed, run cancelled before execute |
174
- | `team cancel` | — | — | ✅ PASS | Run successfully cancelled |
175
-
176
- ---
177
-
178
- ## 3. Critical issue: `pi --print` hangs
179
-
180
- ### 3.1 Description
181
-
182
- **All 6 background worker failures share the same root cause:** `pi --print` (non-interactive mode) hangs indefinitely.
183
-
184
- ### 3.2 Reproduce
185
-
186
- ```bash
187
- $ timeout 10 pi --print "say hi"
188
- [context-mode] WARNING: skipping MCP bridge — CONTEXT_MODE_BRIDGE_DEPTH=1 indicates recursion
189
- # ... hangs indefinitely ...
190
- EXIT_CODE: 124 (timeout)
191
- ```
192
-
193
- Result: **100% reproducible**. The Pi CLI starts (prints the context-mode warning) but blocks on the provider/model call.
194
-
195
- ### 3.3 Chain of failure
196
-
197
- ```
198
- pi-crew background run
199
- → runtime-resolver.ts: fallback to child-process
200
- → async-runner.ts: resolve jiti-register.mjs
201
- → spawn("pi", [...args], { cwd, env })
202
- → Pi CLI starts, prints "[pi-crew] background loader=jiti"
203
- → Pi tries to connect to the model provider
204
- → BLOCKS INDEFINITELY — no stdout, no stderr, no error
205
- → 300,000ms (5 min) heartbeat timeout
206
- → worker.response_timeout: "No output for 300000ms"
207
- → task.failed → run.failed
208
- ```
209
-
210
- ### 3.4 Why does live-session still work?
211
-
212
- | Aspect | Live-session | Child-process |
213
- |---|---|---|
214
- | Provider connection | **Reuses** the parent Pi's connection | Creates a new connection |
215
- | Auth context | Shared with parent | Must set up itself |
216
- | Startup time | Fast (no new process) | Slow (spawn + init) |
217
- | Background capable | ❌ No | ✅ Yes (if the provider works) |
218
-
219
- ### 3.5 Possible causes
220
-
221
- | # | Cause | Likelihood | How to verify |
222
- |---|---|---|---|
223
- | 1 | **API key not inherited** by the child process env | High | Check whether `sanitizeEnvSecrets()` filters too aggressively |
224
- | 2 | **Provider endpoint unreachable** from the child process | Medium | `curl` to the provider API from the child env |
225
- | 3 | **Provider rate limiting** (parent + child concurrent) | Medium | Check provider response headers |
226
- | 4 | **jiti loader stall** — TS compilation hangs | Low | jiti import succeeded (log confirmed) |
227
-
228
- ### 3.6 Related key files
229
-
230
- ```
231
- pi-crew/src/runtime/
232
- ├── async-runner.ts — resolveTypeScriptLoader(), spawn args with --import jiti-register.mjs
233
- ├── child-pi.ts — runChildPi(), response timeout, stdout capture
234
- │ buildChildPiSpawnOptions() → { cwd, env: sanitizeEnvSecrets(env) }
235
- ├── background-runner.ts — Background entry point
236
- ├── pi-spawn.ts — getPiSpawnCommand() → { command: "pi", args }
237
- ├── pi-args.ts — buildPiWorkerArgs() → args array
238
- └── worker-heartbeat.ts — Heartbeat stale check (5 min default)
239
-
240
- pi-crew/src/config/defaults.ts
241
- └── DEFAULT_CHILD_PI.responseTimeoutMs = 5 * 60_000 (300s)
242
-
243
- pi-crew/src/utils/env-filter.ts
244
- └── sanitizeEnvSecrets() — Filter secret env vars (possibly too aggressive?)
245
- ```
246
-
247
- ### 3.7 Recommended fix
248
-
249
- 1. **Immediate:** Run `pi --print "test"` in a terminal to confirm the provider connection issue
250
- 2. **Check `sanitizeEnvSecrets()`:** Verify that API keys (GOOGLE_API_KEY, MINIMAX_API_KEY, ZAI_API_KEY, etc.) are not filtered out
251
- 3. **Add error logging:** Capture stderr from the child Pi process into background.log
252
- 4. **Add a connection timeout:** The Pi CLI should time out after ~30s if the provider does not respond, instead of blocking indefinitely
253
- 5. **Test workaround:** Set `PI_TEAMS_MOCK_CHILD_PI=success` to bypass the provider call and verify pi-crew logic in isolation
254
-
255
- ---
256
-
257
- ## 4. Secondary issue: Stale heartbeat notifications after prune
258
-
259
- ### 4.1 Description
260
-
261
- After running `team prune`, the background watcher still emits "Task heartbeat dead" notifications for removed runs.
262
-
263
- ### 4.2 Pattern
264
-
265
- ```
266
- team prune --keep=0 --confirm=true → 9 runs removed
267
- → Notification: "agent_mpc423rq_1 heartbeat dead" (pruned run)
268
- → Notification: "agent_mpc423rv_2 heartbeat dead" (pruned run)
269
- → Notification: "agent_mpc423rw_3 heartbeat dead" (pruned run)
270
- → Notification: "agent_mpc423rw_4 heartbeat dead" (pruned run)
271
- → ... (6+ stale notifications total)
272
- ```
273
-
274
- ### 4.3 Cause
275
-
276
- The background watcher maintains a queue of worker health checks. When runs are pruned, the watcher does not deregister immediately — notifications already in the queue are still emitted.
277
-
278
- ### 4.4 Severity: LOW (cosmetic)
279
-
280
- ### 4.5 Recommendation
281
-
282
- - The background watcher should check run existence before emitting heartbeat alerts
283
- - Or: the watcher should deregister workers when runs are pruned
284
-
285
- ---
286
-
287
- ## 5. Secondary issue: Live-session run cancelled mid-execution
288
-
289
- ### 5.1 Description
290
-
291
- A fast-fix team ran in a live-session; task `01_explore` completed successfully but the run was cancelled before `02_execute` started.
292
-
293
- ### 5.2 Events
294
-
295
- ```
296
- 04:12:20 live-session.prompt_start 01_explore
297
- 04:12:51 live-session.prompt_done 01_explore
298
- 04:12:51 live_agent.terminated 01_explore (status=cancelled)
299
- 04:12:51 task.completed 01_explore
300
- 04:12:51 run.cancelled: "This operation was aborted"
301
- ```
302
-
303
- ### 5.3 Possible causes
304
-
305
- - Session concurrency limit (only 1 active live-session)
306
- - User-initiated cancellation
307
- - Conflict with concurrent test operations
308
-
309
- ### 5.4 Severity: MEDIUM
310
-
311
- ---
312
-
313
- ## 6. Features working stably
314
-
315
- A list of features that have been tested and work correctly:
316
-
317
- ### Resource Discovery
318
- - ✅ `team list` — Lists teams, workflows, agents, recent runs
319
- - ✅ `team get` — Details of team/workflow/agent
320
- - ✅ `team recommend` — Suggests a suitable team based on a goal
321
- - ✅ `team validate` — Validates all resources
322
-
323
- ### Diagnostics
324
- - ✅ `team doctor` — 17 checks (runtime, filesystem, discovery, drift, schema, async, worktrees)
325
- - ✅ `team help` — Full command reference
326
-
327
- ### State Management
328
- - ✅ `team status` — Run state with task graph, events, policy decisions
329
- - ✅ `team events` — Detailed chronological event log
330
- - ✅ `team artifacts` — Lists artifact files (prompts, results, metadata, logs)
331
- - ✅ `team summary` — Concise run overview
332
- - ✅ `team prune` — Cleanup runs with audit trail (prune.jsonl)
333
- - ✅ `team cancel` — Cancel running/queued runs
334
-
335
- ### Portability
336
- - ✅ `team export` — Export a run to JSON + Markdown
337
- - ✅ `team import` — Import a run bundle, create a README.md summary
338
-
339
- ### Configuration
340
- - ✅ `team settings` — Show effective settings (agent overrides, UI, autonomous)
341
- - ✅ `team autonomy` — Show/set the autonomous mode profile
342
-
343
- ### Planning
344
- - ✅ `team plan` — Create an execution plan with structured steps
345
-
346
- ### Retry
347
- - ✅ `team retry` — Re-queue failed tasks
348
-
349
- ---
350
-
351
- ## 7. Current configuration
352
-
353
- ### Autonomous Mode
354
- ```
355
- Profile: suggested
356
- Enabled: true
357
- Inject policy: true
358
- Prefer async for long tasks: false
359
- Allow worktree suggestion: true
360
- ```
361
-
362
- ### Agent Model Overrides
363
- | Agent | Model | Thinking |
364
- |---|---|---|
365
- | explorer | minimax/MiniMax-M2.7-highspeed | off |
366
- | writer | minimax/MiniMax-M2.7-highspeed | off |
367
- | planner | zai/glm-5.1 | medium |
368
- | analyst | minimax/MiniMax-M2.7-highspeed | off |
369
- | critic | minimax/MiniMax-M2.7 | low |
370
- | executor | zai/glm-5.1 | medium |
371
- | reviewer | minimax/MiniMax-M2.7 | off |
372
- | security-reviewer | minimax/MiniMax-M2.7 | medium |
373
- | test-engineer | zai/glm-5.1 | low |
374
- | verifier | minimax/MiniMax-M2.7 | off |
375
-
376
- ### Timeouts
377
- ```
378
- DEFAULT_CHILD_PI.responseTimeoutMs = 300,000 (5 min)
379
- DEFAULT_LIVE_SESSION.responseTimeoutMs = 600,000 (10 min)
380
- ```
381
-
382
- ---
383
-
384
- ## 8. Related files
385
-
386
- | File | Description |
387
- |---|---|
388
- | `/home/bom/source/my_pi/pi-crew-test-results.md` | Detailed test report |
389
- | `/home/bom/.pi/agent/pi-crew.json` | pi-crew config |
390
- | `/home/bom/.pi/agent/agents/explorer.md` | Explorer agent config |
391
- | `/home/bom/.pi/agent/agents/security-reviewer.md` | Security reviewer config |
392
- | `/home/bom/.pi/agent/agents/test-engineer.md` | Test engineer config |
393
- | `/home/bom/.pi/agent/agents/verifier.md` | Verifier config |
394
- | `/home/bom/source/my_pi/.crew/audit/prune.jsonl` | Prune audit trail (381 entries) |
395
-
396
- ---
397
-
398
- ## 9. Next Steps
399
-
400
- ### High priority
401
- 1. **Fix `pi --print` hangs:** Investigate the provider connection in the child process
402
- 2. **Check `sanitizeEnvSecrets()`:** Verify it does not filter out necessary API keys
403
- 3. **Add stderr logging:** background.log should capture stderr from the child Pi
404
-
405
- ### Medium priority
406
- 4. **Test a foreground team to completion:** Verify the full workflow lifecycle (explore→plan→execute→verify)
407
- 5. **Stale notification fix:** Background watcher deregister on prune
408
-
409
- ### Low priority
410
- 6. **Configurable heartbeat timeout:** Replace the hardcoded 300s with a config value
411
- 7. **Warm pool implementation:** Currently disabled (size=0), needs Pi-side support
@@ -1,31 +0,0 @@
1
- # Product Docs
2
-
3
- Product documentation for pi-crew. Each file describes a product domain —
4
- what it does, how it behaves, and what contracts it maintains.
5
-
6
- ## Update Rule
7
-
8
- When behavior changes:
9
- 1. Update the affected product doc
10
- 2. Update or create the story packet
11
- 3. Update `docs/TEST_MATRIX.md`
12
- 4. Record a decision if it affects architecture, scope, risk, or settled rules
13
-
14
- ## Domain Index
15
-
16
- | File | Domain | Description |
17
- |------|--------|-------------|
18
- | `team-run.md` | Core | Team run lifecycle: start, execute, complete |
19
- | `team-tool.md` | API | Team tool actions: run, status, list, plan |
20
- | `child-process.md` | Runtime | Child Pi process spawning and management |
21
- | `live-session.md` | Runtime | In-process agent execution |
22
- | `async-runner.md` | Runtime | Background/async run execution |
23
- | `state.md` | State | Durable state: manifests, tasks, events |
24
- | `worktree.md` | Isolation | Git worktree isolation for parallel work |
25
- | `group-join.md` | Coordination | Agent result grouping and delivery |
26
- | `model-fallback.md` | Runtime | Model selection and fallback chain |
27
- | `conflict-detect.md` | Utils | Merge conflict detection in file edits |
28
- | `crash-recovery.md` | Reliability | Crash recovery and stale reconciliation |
29
- | `effectiveness.md` | Quality | Effectiveness guard for worker activity |
30
- | `platform.md` | Platform | Cross-platform considerations (Windows) |
31
- | `runtime-safety.md` | Safety | Runtime safety: depth guard, resource limits |
@@ -1,27 +0,0 @@
1
- # Platform (Cross-Platform)
2
-
3
- ## Behavior
4
-
5
- pi-crew runs on Windows, macOS, and Linux. Primary development is on Windows.
6
-
7
- ### Windows Considerations
8
-
9
- - **EBUSY/EPERM**: Files locked by antivirus, shell, or indexer
10
- - `rmSyncRetry()` with exponential backoff (50ms, 100ms, 200ms, 400ms)
11
- - `existsSync` check before cleanup in finally blocks
12
- - **Path separators**: Use `path.join()` everywhere, never hardcoded `/`
13
- - **Shell**: `resolve-shell.ts` handles `cmd.exe` vs `bash` detection
14
- - **Case sensitivity**: Windows is case-insensitive for file paths
15
-
16
- ### Unix Considerations
17
-
18
- - `unref()` on timers to prevent blocking process exit
19
- - POSIX shell compatibility in any shell scripts
20
- - Signal handling (SIGTERM, SIGINT) for graceful shutdown
21
-
22
- ### CI Matrix
23
-
24
- All changes validated on:
25
- - `ubuntu-latest` / Node 22
26
- - `windows-latest` / Node 22
27
- - `macos-latest` / Node 22
@@ -1,37 +0,0 @@
1
- # Runtime Safety
2
-
3
- ## Behavior
4
-
5
- pi-crew enforces multiple safety layers to prevent resource leaks, crashes,
6
- and runaway execution.
7
-
8
- ### Depth Guard
9
-
10
- - Tracks `PI_CREW_SESSION_DEPTH` environment variable
11
- - Depth >= 2 forces `child-process` mode instead of `live-session`
12
- - Prevents stack overflow from nested team runs
13
-
14
- ### Resource Limits
15
-
16
- - Memory cap on live-session agents
17
- - Prompt timeout for agent responses
18
- - Tool count restoration after session error
19
-
20
- ### Process Cleanup
21
-
22
- - `cleanupTempDir()` with `existsSync` guard against double cleanup
23
- - `safeDisposeLiveSession()` for clean resource teardown
24
- - `removeLiveAgentHandle()` for registry cleanup
25
-
26
- ### Error Handling
27
-
28
- - `try/catch` around all I/O operations in UI code
29
- - `rmSyncRetry()` with exponential backoff for Windows EBUSY
30
- - `rejectRunPromise` (not `resolveRunPromise`) in error paths
31
-
32
- ### State Integrity
33
-
34
- - `withRunLockSync` for all state mutations
35
- - Atomic write helpers (`writeJsonAtomic`, `appendJsonAtomic`)
36
- - `markActiveTasksAndAgentsFailed()` for crash recovery
37
- - Event log append-only for audit trail
@@ -1,39 +0,0 @@
1
- # Team Run
2
-
3
- ## Behavior
4
-
5
- A team run executes a workflow with multiple agents, tracking progress through
6
- durable state on disk.
7
-
8
- ### Lifecycle
9
-
10
- 1. User invokes `team action='run'` with a goal
11
- 2. Team runner creates a manifest, resolves team/workflow
12
- 3. Task graph is built from workflow steps
13
- 4. Tasks execute (parallel or sequential per workflow)
14
- 5. Results are collected, artifacts written
15
- 6. Run completes with final status
16
-
17
- ### Statuses
18
-
19
- | Status | Meaning |
20
- |--------|---------|
21
- | pending | Manifest created, not yet executing |
22
- | running | Tasks executing |
23
- | completed | All tasks finished successfully |
24
- | failed | One or more tasks failed |
25
- | cancelled | User cancelled the run |
26
- | partial | Some tasks completed, others still pending |
27
-
28
- ### Concurrency
29
-
30
- - Tasks without dependencies run in parallel (up to concurrency limit)
31
- - Tasks with `dependsOn` wait for predecessors
32
- - Workflow phases enforce ordering
33
-
34
- ### Artifacts
35
-
36
- - `results/{taskId}.txt` — task output
37
- - `logs/{taskId}.log` — full transcript
38
- - `metadata/` — task metadata files
39
- - `shared/` — inter-agent shared context
@@ -1,37 +0,0 @@
1
- # Team Tool API
2
-
3
- ## Behavior
4
-
5
- The `team` tool is the primary interface for users to interact with pi-crew.
6
-
7
- ### Actions
8
-
9
- | Action | Description |
10
- |--------|-------------|
11
- | `run` | Start a team run |
12
- | `plan` | Create a plan without executing |
13
- | `status` | Check run/task status |
14
- | `list` | List teams, agents, workflows |
15
- | `get` | Get resource details |
16
- | `cancel` | Cancel a running task/run |
17
- | `resume` | Resume a paused run |
18
- | `respond` | Respond to a waiting task |
19
- | `recommend` | Get team/workflow recommendations |
20
- | `create/update/delete` | Manage resources |
21
- | `doctor` | Diagnose configuration issues |
22
-
23
- ### Parameters
24
-
25
- - `action` (required): The action to perform
26
- - `team`: Team name for run operations
27
- - `goal`: High-level objective
28
- - `runId`: Run ID for status/cancel/resume
29
- - `taskId`: Task ID for respond operations
30
- - `confirm: true`: Required for destructive actions
31
-
32
- ### Safety Rules
33
-
34
- - Delete operations require `confirm: true`
35
- - Referenced resources blocked unless `force: true`
36
- - Cancel requires explicit run ID
37
- - Respond requires task ID + message