pi-crew 0.1.51 → 0.2.1
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.
- package/CHANGELOG.md +56 -1
- package/README.md +176 -781
- package/agents/analyst.md +11 -11
- package/agents/critic.md +11 -11
- package/agents/executor.md +11 -11
- package/agents/explorer.md +11 -11
- package/agents/planner.md +11 -11
- package/agents/reviewer.md +11 -11
- package/agents/security-reviewer.md +11 -11
- package/agents/test-engineer.md +11 -11
- package/agents/verifier.md +70 -11
- package/agents/writer.md +11 -11
- package/docs/actions-reference.md +595 -0
- package/docs/commands-reference.md +347 -0
- package/docs/runtime-flow.md +148 -148
- package/index.ts +6 -6
- package/package.json +99 -99
- package/skills/async-worker-recovery/SKILL.md +42 -42
- package/skills/context-artifact-hygiene/SKILL.md +52 -52
- package/skills/delegation-patterns/SKILL.md +54 -54
- package/skills/mailbox-interactive/SKILL.md +40 -40
- package/skills/model-routing-context/SKILL.md +39 -39
- package/skills/multi-perspective-review/SKILL.md +58 -58
- package/skills/observability-reliability/SKILL.md +41 -41
- package/skills/orchestration/SKILL.md +157 -157
- package/skills/ownership-session-security/SKILL.md +41 -41
- package/skills/pi-extension-lifecycle/SKILL.md +39 -39
- package/skills/requirements-to-task-packet/SKILL.md +63 -63
- package/skills/resource-discovery-config/SKILL.md +41 -41
- package/skills/runtime-state-reader/SKILL.md +44 -44
- package/skills/secure-agent-orchestration-review/SKILL.md +45 -45
- package/skills/state-mutation-locking/SKILL.md +42 -42
- package/skills/systematic-debugging/SKILL.md +67 -67
- package/skills/ui-render-performance/SKILL.md +39 -39
- package/skills/verification-before-done/SKILL.md +57 -57
- package/skills/worktree-isolation/SKILL.md +39 -39
- package/src/adapters/claude-adapter.ts +25 -0
- package/src/adapters/codex-adapter.ts +21 -0
- package/src/adapters/cursor-adapter.ts +17 -0
- package/src/adapters/export-util.ts +137 -0
- package/src/adapters/index.ts +15 -0
- package/src/adapters/registry.ts +18 -0
- package/src/adapters/types.ts +23 -0
- package/src/agents/agent-config.ts +2 -0
- package/src/agents/agent-search.ts +98 -98
- package/src/agents/discover-agents.ts +2 -1
- package/src/config/config.ts +13 -1
- package/src/config/drift-detector.ts +211 -0
- package/src/config/markers.ts +327 -0
- package/src/config/resilient-parser.ts +108 -0
- package/src/config/suggestions.ts +74 -0
- package/src/extension/cross-extension-rpc.ts +103 -94
- package/src/extension/project-init.ts +21 -1
- package/src/extension/register.ts +45 -14
- package/src/extension/registration/commands.ts +77 -8
- package/src/extension/registration/subagent-tools.ts +10 -1
- package/src/extension/registration/team-tool.ts +10 -1
- package/src/extension/registration/viewers.ts +48 -34
- package/src/extension/run-bundle-schema.ts +89 -89
- package/src/extension/run-import.ts +25 -1
- package/src/extension/run-index.ts +5 -1
- package/src/extension/run-maintenance.ts +142 -68
- package/src/extension/team-manager-command.ts +10 -1
- package/src/extension/team-tool/api.ts +441 -441
- package/src/extension/team-tool/doctor.ts +28 -3
- package/src/extension/team-tool/handle-settings.ts +195 -188
- package/src/extension/team-tool/inspect.ts +41 -41
- package/src/extension/team-tool/intent-policy.ts +42 -42
- package/src/extension/team-tool/lifecycle-actions.ts +27 -8
- package/src/extension/team-tool/plan.ts +19 -19
- package/src/extension/team-tool/run.ts +12 -1
- package/src/extension/team-tool.ts +332 -322
- package/src/i18n.ts +184 -184
- package/src/observability/exporters/otlp-exporter.ts +92 -77
- package/src/prompt/prompt-runtime.ts +72 -72
- package/src/runtime/agent-memory.ts +72 -72
- package/src/runtime/agent-observability.ts +114 -114
- package/src/runtime/async-marker.ts +26 -26
- package/src/runtime/attention-events.ts +28 -28
- package/src/runtime/auto-resume.ts +100 -0
- package/src/runtime/background-runner.ts +11 -1
- package/src/runtime/cancellation-token.ts +89 -89
- package/src/runtime/cancellation.ts +61 -61
- package/src/runtime/capability-inventory.ts +116 -116
- package/src/runtime/child-pi.ts +7 -2
- package/src/runtime/compaction-summary.ts +271 -0
- package/src/runtime/completion-guard.ts +190 -190
- package/src/runtime/crash-recovery.ts +33 -1
- package/src/runtime/delta-conflict.ts +360 -0
- package/src/runtime/direct-run.ts +35 -35
- package/src/runtime/foreground-control.ts +82 -82
- package/src/runtime/green-contract.ts +46 -46
- package/src/runtime/group-join.ts +106 -106
- package/src/runtime/heartbeat-gradient.ts +28 -28
- package/src/runtime/heartbeat-watcher.ts +124 -124
- package/src/runtime/iteration-hooks.ts +264 -0
- package/src/runtime/live-agent-control.ts +88 -88
- package/src/runtime/live-control-realtime.ts +36 -36
- package/src/runtime/live-extension-bridge.ts +150 -150
- package/src/runtime/live-irc.ts +92 -92
- package/src/runtime/live-session-health.ts +100 -100
- package/src/runtime/loop-gates.ts +129 -0
- package/src/runtime/metric-parser.ts +40 -0
- package/src/runtime/notebook-helpers.ts +90 -90
- package/src/runtime/orphan-sentinel.ts +7 -7
- package/src/runtime/parallel-research.ts +44 -44
- package/src/runtime/phase-progress.ts +217 -0
- package/src/runtime/pi-args.ts +38 -11
- package/src/runtime/pi-json-output.ts +111 -111
- package/src/runtime/pi-spawn.ts +57 -7
- package/src/runtime/policy-engine.ts +79 -79
- package/src/runtime/post-checks.ts +122 -0
- package/src/runtime/progress-event-coalescer.ts +43 -43
- package/src/runtime/prose-compressor.ts +164 -164
- package/src/runtime/recovery-recipes.ts +74 -74
- package/src/runtime/result-extractor.ts +121 -121
- package/src/runtime/role-permission.ts +39 -39
- package/src/runtime/sensitive-paths.ts +2 -2
- package/src/runtime/session-resources.ts +25 -25
- package/src/runtime/session-snapshot.ts +59 -59
- package/src/runtime/session-usage.ts +79 -79
- package/src/runtime/sidechain-output.ts +29 -29
- package/src/runtime/stream-preview.ts +177 -177
- package/src/runtime/supervisor-contact.ts +59 -59
- package/src/runtime/task-display.ts +38 -38
- package/src/runtime/task-graph.ts +207 -0
- package/src/runtime/task-quality.ts +207 -0
- package/src/runtime/task-runner/capabilities.ts +78 -78
- package/src/runtime/task-runner/live-executor.ts +7 -1
- package/src/runtime/task-runner/progress.ts +119 -119
- package/src/runtime/task-runner/prompt-pipeline.ts +64 -64
- package/src/runtime/task-runner/result-utils.ts +14 -14
- package/src/runtime/task-runner/run-projection.ts +103 -103
- package/src/runtime/task-runner/state-helpers.ts +22 -22
- package/src/runtime/team-runner.ts +117 -7
- package/src/runtime/worker-heartbeat.ts +21 -21
- package/src/runtime/worker-startup.ts +57 -57
- package/src/runtime/workflow-state.ts +187 -0
- package/src/runtime/workspace-tree.ts +298 -298
- package/src/schema/config-schema.ts +11 -0
- package/src/schema/validation-types.ts +148 -0
- package/src/skills/skill-templates.ts +374 -0
- package/src/state/active-run-registry.ts +35 -11
- package/src/state/atomic-write.ts +33 -26
- package/src/state/contracts.ts +1 -0
- package/src/state/event-reconstructor.ts +217 -0
- package/src/state/locks.ts +2 -13
- package/src/state/mailbox.ts +4 -3
- package/src/state/state-store.ts +16 -6
- package/src/state/task-claims.ts +44 -44
- package/src/state/types.ts +9 -0
- package/src/state/usage.ts +29 -29
- package/src/subagents/async-entry.ts +1 -1
- package/src/subagents/index.ts +3 -3
- package/src/subagents/live/control.ts +1 -1
- package/src/subagents/live/manager.ts +1 -1
- package/src/subagents/live/realtime.ts +1 -1
- package/src/subagents/live/session-runtime.ts +1 -1
- package/src/subagents/manager.ts +1 -1
- package/src/subagents/spawn.ts +1 -1
- package/src/teams/team-serializer.ts +38 -38
- package/src/types/diff.d.ts +18 -18
- package/src/ui/crew-footer.ts +101 -101
- package/src/ui/crew-select-list.ts +111 -111
- package/src/ui/crew-widget.ts +5 -2
- package/src/ui/dashboard-panes/cancellation-pane.ts +42 -42
- package/src/ui/dashboard-panes/capability-pane.ts +59 -59
- package/src/ui/dashboard-panes/mailbox-pane.ts +35 -35
- package/src/ui/dashboard-panes/metrics-pane.ts +34 -34
- package/src/ui/dashboard-panes/progress-pane.ts +11 -0
- package/src/ui/dynamic-border.ts +25 -25
- package/src/ui/layout-primitives.ts +106 -106
- package/src/ui/loaders.ts +158 -158
- package/src/ui/render-coalescer.ts +51 -51
- package/src/ui/render-diff.ts +119 -119
- package/src/ui/render-scheduler.ts +143 -143
- package/src/ui/run-action-dispatcher.ts +10 -1
- package/src/ui/spinner.ts +17 -17
- package/src/ui/status-colors.ts +58 -58
- package/src/ui/syntax-highlight.ts +116 -116
- package/src/ui/transcript-entries.ts +258 -258
- package/src/utils/completion-dedupe.ts +63 -63
- package/src/utils/frontmatter.ts +68 -68
- package/src/utils/git.ts +262 -262
- package/src/utils/ids.ts +17 -17
- package/src/utils/incremental-reader.ts +104 -104
- package/src/utils/names.ts +27 -27
- package/src/utils/redaction.ts +44 -44
- package/src/utils/safe-paths.ts +47 -47
- package/src/utils/scan-cache.ts +136 -136
- package/src/utils/sleep.ts +40 -26
- package/src/utils/task-name-generator.ts +337 -337
- package/src/workflows/validate-workflow.ts +40 -40
- package/src/worktree/branch-freshness.ts +45 -45
- package/teams/default.team.md +12 -12
- package/teams/fast-fix.team.md +11 -11
- package/teams/implementation.team.md +18 -18
- package/teams/parallel-research.team.md +14 -14
- package/teams/research.team.md +11 -11
- package/teams/review.team.md +12 -12
- package/workflows/default.workflow.md +30 -29
- package/workflows/fast-fix.workflow.md +23 -22
- package/workflows/implementation.workflow.md +43 -43
- package/workflows/parallel-research.workflow.md +46 -46
- package/workflows/research.workflow.md +22 -22
- package/workflows/review.workflow.md +30 -30
- package/docs/refactor-tasks-phase3.md +0 -394
- package/docs/refactor-tasks-phase4.md +0 -564
- package/docs/refactor-tasks-phase5.md +0 -402
- package/docs/refactor-tasks-phase6.md +0 -662
- package/docs/refactor-tasks.md +0 -1484
- package/docs/research/AGENT-EXECUTION-ARCHITECTURE.md +0 -261
- package/docs/research/AGENT-LIFECYCLE-COMPARISON.md +0 -111
- package/docs/research/AUDIT_OH_MY_PI.md +0 -261
- package/docs/research/AUDIT_PI_CREW.md +0 -457
- package/docs/research/CAVEMAN-DEEP-RESEARCH.md +0 -281
- package/docs/research/COMPARISON_OH_MY_PI_VS_PI_CREW.md +0 -264
- package/docs/research/DEEP-RESEARCH-PI-POWERBAR.md +0 -343
- package/docs/research/DEEP_RESEARCH_SUBAGENT_ARCHITECTURE.md +0 -480
- package/docs/research/GAP_CLOSURE_IMPLEMENTATION_PLAN.md +0 -354
- package/docs/research/IMPLEMENTATION_PLAN.md +0 -385
- package/docs/research/LIVE-SESSION-PRODUCTION-READY-PLAN.md +0 -502
- package/docs/research/OH-MY-PI-DEEP-RESEARCH-v14.7.6.md +0 -266
- package/docs/research/REMAINING-GAPS-PLAN.md +0 -363
- package/docs/research/SESSION-SUMMARY-2026-05-08.md +0 -146
- package/docs/research/UI-RESPONSIVENESS-AUDIT.md +0 -173
- package/docs/research-awesome-agent-skills-distillation.md +0 -100
- package/docs/research-extension-examples.md +0 -297
- package/docs/research-extension-system.md +0 -324
- package/docs/research-oh-my-pi-distillation.md +0 -369
- package/docs/research-optimization-plan.md +0 -548
- package/docs/research-phase10-distillation.md +0 -199
- package/docs/research-phase11-distillation.md +0 -201
- package/docs/research-phase8-operator-experience-plan.md +0 -819
- package/docs/research-phase9-observability-reliability-plan.md +0 -1190
- package/docs/research-pi-coding-agent.md +0 -357
- package/docs/research-source-pi-crew-reference.md +0 -174
- package/docs/research-ui-optimization-plan.md +0 -480
- package/docs/source-runtime-refactor-map.md +0 -107
- package/src/utils/atomic-write.ts +0 -33
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
# pi-crew — Slash Commands Reference
|
|
2
|
+
|
|
3
|
+
Slash commands là thao tác thủ công từ Pi chat. Autonomous tool use qua `team` action là path chính; slash commands dành cho ops/debug.
|
|
4
|
+
|
|
5
|
+
## Lệnh chính
|
|
6
|
+
|
|
7
|
+
| Command | Mô tả |
|
|
8
|
+
|---------|-------|
|
|
9
|
+
| `/teams` | Liệt kê teams, agents, workflows, recent runs |
|
|
10
|
+
| `/team-run [options] <goal>` | Chạy team workflow |
|
|
11
|
+
| `/team-cancel <runId>` | Hủy run |
|
|
12
|
+
| `/team-status <runId>` | Xem trạng thái |
|
|
13
|
+
| `/team-summary <runId>` | Xem/ghi summary |
|
|
14
|
+
| `/team-resume <runId>` | Tiếp tục run đã dừng |
|
|
15
|
+
| `/team-events <runId>` | Xem event log |
|
|
16
|
+
| `/team-artifacts <runId>` | Xem artifacts |
|
|
17
|
+
| `/team-worktrees <runId>` | Xem worktree metadata |
|
|
18
|
+
| `/team-cleanup <runId>` | Xóa worktrees |
|
|
19
|
+
| `/team-forget <runId>` | Xóa run hoàn toàn |
|
|
20
|
+
| `/team-prune` | Xóa nhiều runs cũ |
|
|
21
|
+
| `/team-export <runId>` | Export run bundle |
|
|
22
|
+
| `/team-import <path>` | Import run bundle |
|
|
23
|
+
| `/team-imports` | Liệt kê imported bundles |
|
|
24
|
+
| `/team-api <runId> <op>` | State API interop |
|
|
25
|
+
| `/team-metrics [filter]` | Xem metrics |
|
|
26
|
+
| `/team-manager` | Interactive helper |
|
|
27
|
+
| `/team-dashboard` | Live dashboard overlay |
|
|
28
|
+
| `/team-init [options]` | Khởi tạo project layout |
|
|
29
|
+
| `/team-config [options]` | Xem/sửa config |
|
|
30
|
+
| `/team-settings <subcmd>` | Quản lý config keys |
|
|
31
|
+
| `/team-autonomy <subcmd>` | Quản lý delegation |
|
|
32
|
+
| `/team-validate` | Validate resources |
|
|
33
|
+
| `/team-help` | Help text |
|
|
34
|
+
| `/team-doctor` | Chẩn đoán môi trường |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## `/team-run` — Chi tiết
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
/team-run <goal>
|
|
42
|
+
/team-run --team=implementation <goal>
|
|
43
|
+
/team-run --team=default --workflow=default <goal>
|
|
44
|
+
/team-run --async <goal>
|
|
45
|
+
/team-run --worktree <goal>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Options:
|
|
49
|
+
|
|
50
|
+
| Flag | Mô tả |
|
|
51
|
+
|------|-------|
|
|
52
|
+
| `--team=<name>` | Chọn team (default: `default`) |
|
|
53
|
+
| `--workflow=<name>` | Chọn workflow (default: team's defaultWorkflow) |
|
|
54
|
+
| `--async` | Chạy bất đồng bộ |
|
|
55
|
+
| `--worktree` | Sử dụng worktree isolation |
|
|
56
|
+
|
|
57
|
+
Ví dụ:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
# Chạy default team
|
|
61
|
+
/team-run Investigate failing tests and propose a fix
|
|
62
|
+
|
|
63
|
+
# Implementation team, async
|
|
64
|
+
/team-run --team=implementation --async Refactor auth module
|
|
65
|
+
|
|
66
|
+
# Worktree isolation
|
|
67
|
+
/team-run --team=implementation --worktree Add API endpoint and tests
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## `/team-forget` — Xóa run
|
|
73
|
+
|
|
74
|
+
```text
|
|
75
|
+
/team-forget <runId> --confirm # Xóa state + artifacts
|
|
76
|
+
/team-forget <runId> --confirm --force # Xóa kể cả dirty worktrees
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
⚠️ Cần `--confirm`. Dirty worktrees được giữ lại trừ khi thêm `--force`.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## `/team-prune` — Dọn dẹp hàng loạt
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
/team-prune --keep=20 --confirm
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Giữ lại 20 runs gần nhất, xóa phần còn lại.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## `/team-api` — State Operations
|
|
94
|
+
|
|
95
|
+
```text
|
|
96
|
+
/team-api <runId> <operation> [key=value ...]
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Read operations
|
|
100
|
+
|
|
101
|
+
```text
|
|
102
|
+
/team-api team_... read-manifest
|
|
103
|
+
/team-api team_... list-tasks
|
|
104
|
+
/team-api team_... read-task taskId=task_...
|
|
105
|
+
/team-api team_... read-events
|
|
106
|
+
/team-api team_... read-heartbeat taskId=task_...
|
|
107
|
+
/team-api team_... read-mailbox direction=outbox
|
|
108
|
+
/team-api team_... read-mailbox taskId=task_... direction=inbox
|
|
109
|
+
/team-api team_... read-delivery
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Write operations
|
|
113
|
+
|
|
114
|
+
```text
|
|
115
|
+
/team-api team_... write-heartbeat taskId=task_... alive=true
|
|
116
|
+
/team-api team_... claim-task taskId=task_... owner=worker-1
|
|
117
|
+
/team-api team_... release-task-claim taskId=task_... owner=worker-1 token=...
|
|
118
|
+
/team-api team_... transition-task-status taskId=task_... owner=worker-1 token=... status=running
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Mailbox operations
|
|
122
|
+
|
|
123
|
+
```text
|
|
124
|
+
/team-api team_... send-message direction=outbox to=worker body="please check this"
|
|
125
|
+
/team-api team_... send-message taskId=task_... direction=inbox to=worker body="task scoped"
|
|
126
|
+
/team-api team_... ack-message messageId=msg_...
|
|
127
|
+
/team-api team_... validate-mailbox repair=true
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Plan operations
|
|
131
|
+
|
|
132
|
+
```text
|
|
133
|
+
/team-api team_... approve-plan
|
|
134
|
+
/team-api team_... cancel-plan
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## `/team-metrics` — Observability
|
|
140
|
+
|
|
141
|
+
```text
|
|
142
|
+
/team-metrics # Toàn bộ metrics
|
|
143
|
+
/team-metrics crew.task.* # Filter theo glob pattern
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## `/team-config` — Configuration
|
|
149
|
+
|
|
150
|
+
```text
|
|
151
|
+
/team-config # Xem config hiện tại
|
|
152
|
+
/team-config asyncByDefault=true # Update key
|
|
153
|
+
/team-config --unset=key.path # Unset key
|
|
154
|
+
/team-config ... --project # Project scope
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## `/team-settings` — Config Management
|
|
160
|
+
|
|
161
|
+
```text
|
|
162
|
+
/team-settings # Liệt kê tất cả keys
|
|
163
|
+
/team-settings get limits.maxTurns # Đọc 1 key
|
|
164
|
+
/team-settings set limits.maxTurns 20 # Ghi key
|
|
165
|
+
/team-settings unset runtime.maxTurns # Reset về default
|
|
166
|
+
/team-settings path # Đường dẫn file config
|
|
167
|
+
/team-settings scope # Scope hiện tại (user/project)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Supported Keys
|
|
171
|
+
|
|
172
|
+
| Key | Type | Default | Mô tả |
|
|
173
|
+
|-----|------|---------|-------|
|
|
174
|
+
| `asyncByDefault` | boolean | `false` | Chạy async mặc định |
|
|
175
|
+
| `executeWorkers` | boolean | `true` | Spawn child Pi workers |
|
|
176
|
+
| `notifierIntervalMs` | number | `5000` | Polling interval cho async notifications |
|
|
177
|
+
| `runtime.mode` | string | `"auto"` | Runtime: `auto`, `scaffold`, `child-process`, `live-session` |
|
|
178
|
+
| `runtime.maxTurns` | number | — | Max turns per worker |
|
|
179
|
+
| `runtime.graceTurns` | number | — | Grace turns sau max |
|
|
180
|
+
| `runtime.inheritContext` | boolean | — | Workers kế thừa parent context |
|
|
181
|
+
| `runtime.promptMode` | string | — | `replace` hoặc `append` |
|
|
182
|
+
| `runtime.groupJoin` | string | `"smart"` | Group join: `off`, `group`, `smart` |
|
|
183
|
+
| `runtime.groupJoinAckTimeoutMs` | number | `300000` | Group join ack timeout (ms) |
|
|
184
|
+
| `runtime.requirePlanApproval` | boolean | `false` | Yêu cầu approve plan trước execute |
|
|
185
|
+
| `runtime.completionMutationGuard` | string | `"warn"` | `off`, `warn`, `fail` |
|
|
186
|
+
| `limits.maxConcurrentWorkers` | number | — | Max workers chạy song song |
|
|
187
|
+
| `limits.maxTaskDepth` | number | `2` | Max task tree depth |
|
|
188
|
+
| `limits.maxChildrenPerTask` | number | `5` | Max children per task |
|
|
189
|
+
| `limits.maxRunMinutes` | number | `60` | Max run duration (phút) |
|
|
190
|
+
| `limits.maxRetriesPerTask` | number | `1` | Max retries per task |
|
|
191
|
+
| `limits.maxTasksPerRun` | number | — | Max tasks per run |
|
|
192
|
+
| `limits.heartbeatStaleMs` | number | `60000` | Heartbeat stale threshold |
|
|
193
|
+
| `control.enabled` | boolean | — | Enable agent control-plane |
|
|
194
|
+
| `control.needsAttentionAfterMs` | number | — | Attention timeout |
|
|
195
|
+
| `autonomous.profile` | string | `"suggested"` | `manual`, `suggested`, `assisted`, `aggressive` |
|
|
196
|
+
| `autonomous.injectPolicy` | boolean | `true` | Inject policy vào prompt |
|
|
197
|
+
| `autonomous.preferAsyncForLongTasks` | boolean | `false` | Auto-async cho tasks dài |
|
|
198
|
+
| `autonomous.allowWorktreeSuggestion` | boolean | `true` | Gợi ý worktree mode |
|
|
199
|
+
| `tools.enableClaudeStyleAliases` | boolean | `true` | Enable Claude-style aliases |
|
|
200
|
+
| `tools.enableSteer` | boolean | `true` | Enable steer tool |
|
|
201
|
+
| `tools.terminateOnForeground` | boolean | `false` | Return terminate từ foreground Agent |
|
|
202
|
+
| `agents.disableBuiltins` | boolean | `false` | Disable builtin agents |
|
|
203
|
+
| `observability.prometheus.enabled` | boolean | `false` | Enable Prometheus exporter |
|
|
204
|
+
| `observability.otlp.enabled` | boolean | `false` | Enable OTLP exporter |
|
|
205
|
+
| `worktree.enabled` | boolean | — | Enable worktree isolation |
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## `/team-autonomy` — Delegation Policy
|
|
210
|
+
|
|
211
|
+
```text
|
|
212
|
+
/team-autonomy status # Xem trạng thái
|
|
213
|
+
/team-autonomy on # Bật autonomous delegation
|
|
214
|
+
/team-autonomy off # Tắt
|
|
215
|
+
/team-autonomy manual # Profile: manual
|
|
216
|
+
/team-autonomy suggested # Profile: suggested (default)
|
|
217
|
+
/team-autonomy assisted # Profile: assisted
|
|
218
|
+
/team-autonomy aggressive # Profile: aggressive
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Options:
|
|
222
|
+
|
|
223
|
+
```text
|
|
224
|
+
/team-autonomy suggested --prefer-async # Tự động async cho tasks dài
|
|
225
|
+
/team-autonomy suggested --no-worktree-suggest # Không gợi ý worktree
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Autonomy Profiles
|
|
229
|
+
|
|
230
|
+
| Profile | Hành vi |
|
|
231
|
+
|---------|---------|
|
|
232
|
+
| `manual` | Không tự động delegate. Chạy khi host agent gọi team tool trực tiếp |
|
|
233
|
+
| `suggested` | Đề xuất khi phù hợp, host agent quyết định (default) |
|
|
234
|
+
| `assisted` | Chủ động delegate cho hầu hết tasks phức tạp |
|
|
235
|
+
| `aggressive` | Luôn delegate, tối đa parallel execution |
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## `/team-init` — Project Setup
|
|
240
|
+
|
|
241
|
+
```text
|
|
242
|
+
/team-init # Khởi tạo layout cơ bản
|
|
243
|
+
/team-init --copy-builtins # Copy builtin resources vào project
|
|
244
|
+
/team-init --copy-builtins --overwrite # Copy và ghi đè
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
Tạo directories:
|
|
248
|
+
|
|
249
|
+
```text
|
|
250
|
+
# New projects (.crew/ layout)
|
|
251
|
+
.crew/agents/
|
|
252
|
+
.crew/teams/
|
|
253
|
+
.crew/workflows/
|
|
254
|
+
.crew/imports/
|
|
255
|
+
|
|
256
|
+
# Legacy (.pi/ layout, khi .pi/ đã tồn tại)
|
|
257
|
+
.pi/teams/agents/
|
|
258
|
+
.pi/teams/teams/
|
|
259
|
+
.pi/teams/workflows/
|
|
260
|
+
.pi/teams/imports/
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## `/team-dashboard` — Live Dashboard
|
|
266
|
+
|
|
267
|
+
```text
|
|
268
|
+
/team-dashboard
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Keyboard Shortcuts
|
|
272
|
+
|
|
273
|
+
| Key | Hành động |
|
|
274
|
+
|-----|-----------|
|
|
275
|
+
| `↑`/`↓` hoặc `j`/`k` | Chọn run |
|
|
276
|
+
| `r` | Reload run list |
|
|
277
|
+
| `p` | Toggle short/long progress |
|
|
278
|
+
| `Enter` hoặc `s` | Xem status |
|
|
279
|
+
| `a` | Xem artifacts |
|
|
280
|
+
| `u` | Xem summary |
|
|
281
|
+
| `i` | API read-manifest |
|
|
282
|
+
| `q` hoặc `Esc` | Đóng |
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## `/team-manager` — Interactive Helper
|
|
287
|
+
|
|
288
|
+
```text
|
|
289
|
+
/team-manager
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
Flows:
|
|
293
|
+
- Liệt kê resources/runs
|
|
294
|
+
- Chạy team
|
|
295
|
+
- Xem run status
|
|
296
|
+
- Cleanup worktrees
|
|
297
|
+
- Tạo/sửa agent/team resources
|
|
298
|
+
- Doctor check
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## `/team-validate` — Resource Validation
|
|
303
|
+
|
|
304
|
+
```text
|
|
305
|
+
/team-validate
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
Kiểm tra:
|
|
309
|
+
- Agents, teams, workflows hợp lệ
|
|
310
|
+
- References đúng (agent tồn tại trong team roles)
|
|
311
|
+
- Model hints hợp lệ
|
|
312
|
+
- Workflow steps đúng format
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## `/team-doctor` — Environment Check
|
|
317
|
+
|
|
318
|
+
```text
|
|
319
|
+
/team-doctor
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
Kiểm tra:
|
|
323
|
+
- cwd, platform, architecture
|
|
324
|
+
- Node.js version
|
|
325
|
+
- `pi --version`
|
|
326
|
+
- `git --version`
|
|
327
|
+
- State paths writable
|
|
328
|
+
- Config parse
|
|
329
|
+
- Discovery counts (agents, teams, workflows)
|
|
330
|
+
- Resource validation
|
|
331
|
+
- Current model/provider
|
|
332
|
+
- Model/fallback hints
|
|
333
|
+
|
|
334
|
+
Child Pi smoke test (explicit):
|
|
335
|
+
|
|
336
|
+
```text
|
|
337
|
+
/team-api team_... doctor smokeChildPi=true
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
hoặc qua tool:
|
|
341
|
+
|
|
342
|
+
```json
|
|
343
|
+
{
|
|
344
|
+
"action": "doctor",
|
|
345
|
+
"config": { "smokeChildPi": true }
|
|
346
|
+
}
|
|
347
|
+
```
|
package/docs/runtime-flow.md
CHANGED
|
@@ -1,148 +1,148 @@
|
|
|
1
|
-
# pi-crew Runtime Flow
|
|
2
|
-
|
|
3
|
-
This document is a compact map of the runtime paths used by `pi-crew`.
|
|
4
|
-
|
|
5
|
-
## Main sequence
|
|
6
|
-
|
|
7
|
-
```text
|
|
8
|
-
User / model
|
|
9
|
-
│ calls team({ action: "run", ... }) or /team-run
|
|
10
|
-
▼
|
|
11
|
-
handleTeamTool()
|
|
12
|
-
│ validates schema and routes action
|
|
13
|
-
▼
|
|
14
|
-
handleRun()
|
|
15
|
-
├─ discoverTeams/discoverWorkflows/discoverAgents
|
|
16
|
-
├─ validateWorkflowForTeam
|
|
17
|
-
├─ expandParallelResearchWorkflow when applicable
|
|
18
|
-
├─ createRunManifest + tasks.json + goal artifact
|
|
19
|
-
├─ if async=true ─────────────────────────────────────────────┐
|
|
20
|
-
│ spawnBackgroundTeamRun() │
|
|
21
|
-
│ ├─ resolve jiti-register.mjs │
|
|
22
|
-
│ ├─ fail-fast if jiti missing │
|
|
23
|
-
│ ├─ node --import jiti-register.mjs background-runner.ts │
|
|
24
|
-
│ └─ parent schedules early-exit guard │
|
|
25
|
-
│ ▼
|
|
26
|
-
│ background-runner.ts
|
|
27
|
-
│ ├─ append async.started
|
|
28
|
-
│ ├─ write async.pid startup marker
|
|
29
|
-
│ ├─ rediscover team/workflow/agents
|
|
30
|
-
│ └─ executeTeamRun()
|
|
31
|
-
│
|
|
32
|
-
└─ if foreground/default
|
|
33
|
-
├─ startForegroundRun schedules session-bound run, or
|
|
34
|
-
└─ executeTeamRun inline for scaffold/non-scheduled paths
|
|
35
|
-
|
|
36
|
-
executeTeamRun()
|
|
37
|
-
├─ write run.running
|
|
38
|
-
├─ materialize queued/running agent records lazily
|
|
39
|
-
├─ build task graph index
|
|
40
|
-
├─ while queued tasks exist
|
|
41
|
-
│ ├─ taskGraphSnapshot
|
|
42
|
-
│ ├─ resolveBatchConcurrency
|
|
43
|
-
│ ├─ getReadyTasks
|
|
44
|
-
│ ├─ append task.progress batch event
|
|
45
|
-
│ ├─ mapConcurrent ready batch
|
|
46
|
-
│ │ └─ runTeamTask()
|
|
47
|
-
│ │ ├─ prepare workspace/worktree
|
|
48
|
-
│ │ ├─ build task packet
|
|
49
|
-
│ │ ├─ render prompt + dependency context
|
|
50
|
-
│ │ ├─ choose model candidates from Pi config
|
|
51
|
-
│ │ ├─ spawn child Pi process
|
|
52
|
-
│ │ ├─ ChildPiLineObserver parses stdout/stderr
|
|
53
|
-
│ │ ├─ append per-agent events/output
|
|
54
|
-
│ │ ├─ update agent progress/task state
|
|
55
|
-
│ │ ├─ parse final JSONL/session usage
|
|
56
|
-
│ │ └─ write result/log/transcript/metadata artifacts
|
|
57
|
-
│ ├─ merge task updates monotonically
|
|
58
|
-
│ ├─ optional adaptive plan injection
|
|
59
|
-
│ ├─ save tasks/agents/progress
|
|
60
|
-
│ └─ write batch artifact
|
|
61
|
-
├─ policy closeout
|
|
62
|
-
└─ run.completed / run.failed / run.blocked / run.cancelled
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Action router
|
|
66
|
-
|
|
67
|
-
| Action | Handler | Purpose |
|
|
68
|
-
|---|---|---|
|
|
69
|
-
| `run` | `team-tool/run.ts` | Create and execute a run, foreground or async. |
|
|
70
|
-
| `status` | `team-tool.ts` | Show manifest/tasks/agents/events and mark stale async runs failed. |
|
|
71
|
-
| `summary` | `session-summary.ts`/summary handler | Write/read run summary artifact. |
|
|
72
|
-
| `events` | `team-tool.ts` | Tail durable run events. |
|
|
73
|
-
| `artifacts` | `team-tool.ts` | List run artifacts. |
|
|
74
|
-
| `resume` | `team-tool.ts` | Requeue failed/cancelled/skipped/running tasks. |
|
|
75
|
-
| `cancel` | `team-tool.ts` | Mark queued/running tasks cancelled and request foreground interrupt. |
|
|
76
|
-
| `forget` | `run-maintenance.ts` | Delete run state/artifacts with confirmation. |
|
|
77
|
-
| `prune` | `run-maintenance.ts` | Remove old finished runs with confirmation. |
|
|
78
|
-
| `export` | `run-export.ts` | Create portable run bundle. |
|
|
79
|
-
| `import` / `imports` | `run-import.ts` / `import-index.ts` | Store/list imported bundles. |
|
|
80
|
-
| `config` | `config.ts` + config action | Show/update user/project config. |
|
|
81
|
-
| `doctor` | `team-tool/doctor.ts` | Platform/resource/runtime diagnostics. |
|
|
82
|
-
| `validate` | `validate-resources.ts` | Validate agents/teams/workflows. |
|
|
83
|
-
| `recommend` | `team-recommendation.ts` | Suggest team/workflow/action for a goal. |
|
|
84
|
-
| management | `management.ts` | Create/update/delete/rename teams, agents, workflows. |
|
|
85
|
-
| API | `team-tool/api.ts` | File-backed observability/control/mailbox API. |
|
|
86
|
-
|
|
87
|
-
## Worker modes
|
|
88
|
-
|
|
89
|
-
| Mode | Behavior |
|
|
90
|
-
|---|---|
|
|
91
|
-
| `child-process` | Default. Launches real child `pi` processes per task. |
|
|
92
|
-
| `scaffold` | Explicit dry-run. No child Pi worker execution. |
|
|
93
|
-
| `live-session` | Experimental/gated in-process/live agent path. |
|
|
94
|
-
| `auto` | Resolves to child-process unless config/env requests otherwise. |
|
|
95
|
-
|
|
96
|
-
## Important files
|
|
97
|
-
|
|
98
|
-
```text
|
|
99
|
-
src/extension/register.ts Pi extension entry/wiring
|
|
100
|
-
src/extension/team-tool/run.ts run creation and foreground/async split
|
|
101
|
-
src/runtime/background-runner.ts detached async entrypoint
|
|
102
|
-
src/runtime/async-runner.ts background spawn command/options
|
|
103
|
-
src/runtime/team-runner.ts workflow/task graph scheduler
|
|
104
|
-
src/runtime/task-runner.ts single task execution
|
|
105
|
-
src/runtime/child-pi.ts child Pi process and output observer
|
|
106
|
-
src/runtime/model-fallback.ts configured model candidates/routing
|
|
107
|
-
src/runtime/concurrency.ts batch concurrency decisions
|
|
108
|
-
src/runtime/process-status.ts pid/liveness/stale detection
|
|
109
|
-
src/state/state-store.ts manifest/tasks persistence
|
|
110
|
-
src/state/event-log.ts JSONL run events
|
|
111
|
-
src/runtime/crew-agent-records.ts aggregate + per-agent status files
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
## Environment variables
|
|
115
|
-
|
|
116
|
-
| Env | Effect |
|
|
117
|
-
|---|---|
|
|
118
|
-
| `PI_CREW_EXECUTE_WORKERS=0` | Disable real workers, use scaffold behavior. |
|
|
119
|
-
| `PI_TEAMS_EXECUTE_WORKERS=0` | Legacy alias for worker disable. |
|
|
120
|
-
| `PI_CREW_ENABLE_EXPERIMENTAL_LIVE_SESSION=1` | Allow experimental live-session runtime. |
|
|
121
|
-
| `PI_CREW_MOCK_LIVE_SESSION=success` | Test hook for live-session mock. |
|
|
122
|
-
| `PI_TEAMS_MOCK_CHILD_PI` | Test hook for mocked child Pi execution. |
|
|
123
|
-
| `PI_CREW_DEPTH`, `PI_CREW_MAX_DEPTH` | Canonical subagent recursion guard. |
|
|
124
|
-
| `PI_TEAMS_DEPTH`, `PI_TEAMS_MAX_DEPTH` | Legacy recursion guard aliases. |
|
|
125
|
-
| `PI_TEAMS_HOME` | Override user config/state home in tests. |
|
|
126
|
-
| `PI_TEAMS_PI_BIN` | Override child `pi` executable. |
|
|
127
|
-
| `PI_CODING_AGENT_DIR` | Override Pi settings/models directory for model discovery. |
|
|
128
|
-
| `PI_CREW_ASYNC_EARLY_EXIT_GUARD=0` | Disable 3s background early-exit guard. |
|
|
129
|
-
|
|
130
|
-
## State transition summary
|
|
131
|
-
|
|
132
|
-
```text
|
|
133
|
-
queued/planning/running ── completed
|
|
134
|
-
├─ failed
|
|
135
|
-
├─ blocked
|
|
136
|
-
└─ cancelled
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
Task states follow the same durable contract plus `skipped`. Terminal states are monotonic during parallel merge.
|
|
140
|
-
|
|
141
|
-
## Observability tips
|
|
142
|
-
|
|
143
|
-
- Use `/team-dashboard` for a UI overview.
|
|
144
|
-
- Use `team status runId=...` for canonical state and stale async detection.
|
|
145
|
-
- Read `background.log` for early import/spawn errors.
|
|
146
|
-
- Read `events.jsonl` for event chronology.
|
|
147
|
-
- Read `agents/{taskId}/status.json` for per-agent model/progress/tool status.
|
|
148
|
-
- Read `artifacts/{runId}/transcripts/{taskId}.jsonl` for raw child Pi transcript.
|
|
1
|
+
# pi-crew Runtime Flow
|
|
2
|
+
|
|
3
|
+
This document is a compact map of the runtime paths used by `pi-crew`.
|
|
4
|
+
|
|
5
|
+
## Main sequence
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
User / model
|
|
9
|
+
│ calls team({ action: "run", ... }) or /team-run
|
|
10
|
+
▼
|
|
11
|
+
handleTeamTool()
|
|
12
|
+
│ validates schema and routes action
|
|
13
|
+
▼
|
|
14
|
+
handleRun()
|
|
15
|
+
├─ discoverTeams/discoverWorkflows/discoverAgents
|
|
16
|
+
├─ validateWorkflowForTeam
|
|
17
|
+
├─ expandParallelResearchWorkflow when applicable
|
|
18
|
+
├─ createRunManifest + tasks.json + goal artifact
|
|
19
|
+
├─ if async=true ─────────────────────────────────────────────┐
|
|
20
|
+
│ spawnBackgroundTeamRun() │
|
|
21
|
+
│ ├─ resolve jiti-register.mjs │
|
|
22
|
+
│ ├─ fail-fast if jiti missing │
|
|
23
|
+
│ ├─ node --import jiti-register.mjs background-runner.ts │
|
|
24
|
+
│ └─ parent schedules early-exit guard │
|
|
25
|
+
│ ▼
|
|
26
|
+
│ background-runner.ts
|
|
27
|
+
│ ├─ append async.started
|
|
28
|
+
│ ├─ write async.pid startup marker
|
|
29
|
+
│ ├─ rediscover team/workflow/agents
|
|
30
|
+
│ └─ executeTeamRun()
|
|
31
|
+
│
|
|
32
|
+
└─ if foreground/default
|
|
33
|
+
├─ startForegroundRun schedules session-bound run, or
|
|
34
|
+
└─ executeTeamRun inline for scaffold/non-scheduled paths
|
|
35
|
+
|
|
36
|
+
executeTeamRun()
|
|
37
|
+
├─ write run.running
|
|
38
|
+
├─ materialize queued/running agent records lazily
|
|
39
|
+
├─ build task graph index
|
|
40
|
+
├─ while queued tasks exist
|
|
41
|
+
│ ├─ taskGraphSnapshot
|
|
42
|
+
│ ├─ resolveBatchConcurrency
|
|
43
|
+
│ ├─ getReadyTasks
|
|
44
|
+
│ ├─ append task.progress batch event
|
|
45
|
+
│ ├─ mapConcurrent ready batch
|
|
46
|
+
│ │ └─ runTeamTask()
|
|
47
|
+
│ │ ├─ prepare workspace/worktree
|
|
48
|
+
│ │ ├─ build task packet
|
|
49
|
+
│ │ ├─ render prompt + dependency context
|
|
50
|
+
│ │ ├─ choose model candidates from Pi config
|
|
51
|
+
│ │ ├─ spawn child Pi process
|
|
52
|
+
│ │ ├─ ChildPiLineObserver parses stdout/stderr
|
|
53
|
+
│ │ ├─ append per-agent events/output
|
|
54
|
+
│ │ ├─ update agent progress/task state
|
|
55
|
+
│ │ ├─ parse final JSONL/session usage
|
|
56
|
+
│ │ └─ write result/log/transcript/metadata artifacts
|
|
57
|
+
│ ├─ merge task updates monotonically
|
|
58
|
+
│ ├─ optional adaptive plan injection
|
|
59
|
+
│ ├─ save tasks/agents/progress
|
|
60
|
+
│ └─ write batch artifact
|
|
61
|
+
├─ policy closeout
|
|
62
|
+
└─ run.completed / run.failed / run.blocked / run.cancelled
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Action router
|
|
66
|
+
|
|
67
|
+
| Action | Handler | Purpose |
|
|
68
|
+
|---|---|---|
|
|
69
|
+
| `run` | `team-tool/run.ts` | Create and execute a run, foreground or async. |
|
|
70
|
+
| `status` | `team-tool.ts` | Show manifest/tasks/agents/events and mark stale async runs failed. |
|
|
71
|
+
| `summary` | `session-summary.ts`/summary handler | Write/read run summary artifact. |
|
|
72
|
+
| `events` | `team-tool.ts` | Tail durable run events. |
|
|
73
|
+
| `artifacts` | `team-tool.ts` | List run artifacts. |
|
|
74
|
+
| `resume` | `team-tool.ts` | Requeue failed/cancelled/skipped/running tasks. |
|
|
75
|
+
| `cancel` | `team-tool.ts` | Mark queued/running tasks cancelled and request foreground interrupt. |
|
|
76
|
+
| `forget` | `run-maintenance.ts` | Delete run state/artifacts with confirmation. |
|
|
77
|
+
| `prune` | `run-maintenance.ts` | Remove old finished runs with confirmation. |
|
|
78
|
+
| `export` | `run-export.ts` | Create portable run bundle. |
|
|
79
|
+
| `import` / `imports` | `run-import.ts` / `import-index.ts` | Store/list imported bundles. |
|
|
80
|
+
| `config` | `config.ts` + config action | Show/update user/project config. |
|
|
81
|
+
| `doctor` | `team-tool/doctor.ts` | Platform/resource/runtime diagnostics. |
|
|
82
|
+
| `validate` | `validate-resources.ts` | Validate agents/teams/workflows. |
|
|
83
|
+
| `recommend` | `team-recommendation.ts` | Suggest team/workflow/action for a goal. |
|
|
84
|
+
| management | `management.ts` | Create/update/delete/rename teams, agents, workflows. |
|
|
85
|
+
| API | `team-tool/api.ts` | File-backed observability/control/mailbox API. |
|
|
86
|
+
|
|
87
|
+
## Worker modes
|
|
88
|
+
|
|
89
|
+
| Mode | Behavior |
|
|
90
|
+
|---|---|
|
|
91
|
+
| `child-process` | Default. Launches real child `pi` processes per task. |
|
|
92
|
+
| `scaffold` | Explicit dry-run. No child Pi worker execution. |
|
|
93
|
+
| `live-session` | Experimental/gated in-process/live agent path. |
|
|
94
|
+
| `auto` | Resolves to child-process unless config/env requests otherwise. |
|
|
95
|
+
|
|
96
|
+
## Important files
|
|
97
|
+
|
|
98
|
+
```text
|
|
99
|
+
src/extension/register.ts Pi extension entry/wiring
|
|
100
|
+
src/extension/team-tool/run.ts run creation and foreground/async split
|
|
101
|
+
src/runtime/background-runner.ts detached async entrypoint
|
|
102
|
+
src/runtime/async-runner.ts background spawn command/options
|
|
103
|
+
src/runtime/team-runner.ts workflow/task graph scheduler
|
|
104
|
+
src/runtime/task-runner.ts single task execution
|
|
105
|
+
src/runtime/child-pi.ts child Pi process and output observer
|
|
106
|
+
src/runtime/model-fallback.ts configured model candidates/routing
|
|
107
|
+
src/runtime/concurrency.ts batch concurrency decisions
|
|
108
|
+
src/runtime/process-status.ts pid/liveness/stale detection
|
|
109
|
+
src/state/state-store.ts manifest/tasks persistence
|
|
110
|
+
src/state/event-log.ts JSONL run events
|
|
111
|
+
src/runtime/crew-agent-records.ts aggregate + per-agent status files
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Environment variables
|
|
115
|
+
|
|
116
|
+
| Env | Effect |
|
|
117
|
+
|---|---|
|
|
118
|
+
| `PI_CREW_EXECUTE_WORKERS=0` | Disable real workers, use scaffold behavior. |
|
|
119
|
+
| `PI_TEAMS_EXECUTE_WORKERS=0` | Legacy alias for worker disable. |
|
|
120
|
+
| `PI_CREW_ENABLE_EXPERIMENTAL_LIVE_SESSION=1` | Allow experimental live-session runtime. |
|
|
121
|
+
| `PI_CREW_MOCK_LIVE_SESSION=success` | Test hook for live-session mock. |
|
|
122
|
+
| `PI_TEAMS_MOCK_CHILD_PI` | Test hook for mocked child Pi execution. |
|
|
123
|
+
| `PI_CREW_DEPTH`, `PI_CREW_MAX_DEPTH` | Canonical subagent recursion guard. |
|
|
124
|
+
| `PI_TEAMS_DEPTH`, `PI_TEAMS_MAX_DEPTH` | Legacy recursion guard aliases. |
|
|
125
|
+
| `PI_TEAMS_HOME` | Override user config/state home in tests. |
|
|
126
|
+
| `PI_TEAMS_PI_BIN` | Override child `pi` executable. |
|
|
127
|
+
| `PI_CODING_AGENT_DIR` | Override Pi settings/models directory for model discovery. |
|
|
128
|
+
| `PI_CREW_ASYNC_EARLY_EXIT_GUARD=0` | Disable 3s background early-exit guard. |
|
|
129
|
+
|
|
130
|
+
## State transition summary
|
|
131
|
+
|
|
132
|
+
```text
|
|
133
|
+
queued/planning/running ── completed
|
|
134
|
+
├─ failed
|
|
135
|
+
├─ blocked
|
|
136
|
+
└─ cancelled
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Task states follow the same durable contract plus `skipped`. Terminal states are monotonic during parallel merge.
|
|
140
|
+
|
|
141
|
+
## Observability tips
|
|
142
|
+
|
|
143
|
+
- Use `/team-dashboard` for a UI overview.
|
|
144
|
+
- Use `team status runId=...` for canonical state and stale async detection.
|
|
145
|
+
- Read `background.log` for early import/spawn errors.
|
|
146
|
+
- Read `events.jsonl` for event chronology.
|
|
147
|
+
- Read `agents/{taskId}/status.json` for per-agent model/progress/tool status.
|
|
148
|
+
- Read `artifacts/{runId}/transcripts/{taskId}.jsonl` for raw child Pi transcript.
|
package/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
|
2
|
-
import { registerPiTeams } from "./src/extension/register.ts";
|
|
3
|
-
|
|
4
|
-
export default function (pi: ExtensionAPI): void {
|
|
5
|
-
registerPiTeams(pi);
|
|
6
|
-
}
|
|
1
|
+
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
|
2
|
+
import { registerPiTeams } from "./src/extension/register.ts";
|
|
3
|
+
|
|
4
|
+
export default function (pi: ExtensionAPI): void {
|
|
5
|
+
registerPiTeams(pi);
|
|
6
|
+
}
|