pi-crew 0.1.46 → 0.1.49
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 +97 -0
- 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 +11 -11
- package/agents/writer.md +11 -11
- package/docs/next-upgrade-roadmap.md +117 -42
- package/docs/refactor-tasks-phase3.md +394 -394
- package/docs/refactor-tasks-phase4.md +564 -564
- package/docs/refactor-tasks-phase5.md +402 -402
- package/docs/refactor-tasks-phase6.md +662 -662
- package/docs/research/AGENT-EXECUTION-ARCHITECTURE.md +261 -0
- package/docs/research/AGENT-LIFECYCLE-COMPARISON.md +111 -0
- package/docs/research/AUDIT_OH_MY_PI.md +261 -0
- package/docs/research/AUDIT_PI_CREW.md +457 -0
- package/docs/research/CAVEMAN-DEEP-RESEARCH.md +281 -0
- package/docs/research/COMPARISON_OH_MY_PI_VS_PI_CREW.md +264 -0
- package/docs/research/DEEP-RESEARCH-PI-POWERBAR.md +343 -0
- package/docs/research/DEEP_RESEARCH_SUBAGENT_ARCHITECTURE.md +480 -0
- package/docs/research/GAP_CLOSURE_IMPLEMENTATION_PLAN.md +354 -0
- package/docs/research/IMPLEMENTATION_PLAN.md +385 -0
- package/docs/research/LIVE-SESSION-PRODUCTION-READY-PLAN.md +502 -0
- package/docs/research/OH-MY-PI-DEEP-RESEARCH-v14.7.6.md +266 -0
- package/docs/research/REMAINING-GAPS-PLAN.md +363 -0
- package/docs/research/SESSION-SUMMARY-2026-05-08.md +146 -0
- package/docs/research/UI-RESPONSIVENESS-AUDIT.md +173 -0
- package/docs/research-awesome-agent-skills-distillation.md +100 -100
- package/docs/research-extension-examples.md +297 -297
- package/docs/research-extension-system.md +324 -324
- package/docs/research-oh-my-pi-distillation.md +56 -9
- package/docs/research-optimization-plan.md +548 -548
- package/docs/research-phase10-distillation.md +198 -198
- package/docs/research-phase11-distillation.md +201 -201
- package/docs/research-pi-coding-agent.md +357 -357
- package/docs/research-source-pi-crew-reference.md +174 -174
- package/docs/runtime-flow.md +148 -148
- package/docs/source-runtime-refactor-map.md +107 -107
- package/index.ts +6 -6
- package/package.json +99 -98
- package/schema.json +8 -0
- 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 -0
- 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/agents/agent-config.ts +6 -0
- package/src/agents/agent-search.ts +98 -0
- package/src/agents/agent-serializer.ts +4 -0
- package/src/agents/discover-agents.ts +17 -4
- package/src/config/config.ts +24 -0
- package/src/config/defaults.ts +11 -0
- package/src/extension/autonomous-policy.ts +26 -33
- package/src/extension/cross-extension-rpc.ts +82 -82
- package/src/extension/help.ts +1 -0
- package/src/extension/management.ts +5 -0
- package/src/extension/register.ts +58 -13
- package/src/extension/registration/commands.ts +33 -1
- package/src/extension/registration/compaction-guard.ts +125 -125
- package/src/extension/registration/team-tool.ts +6 -4
- package/src/extension/run-bundle-schema.ts +89 -89
- package/src/extension/run-index.ts +24 -18
- package/src/extension/run-maintenance.ts +68 -62
- package/src/extension/team-tool/api.ts +23 -2
- package/src/extension/team-tool/cancel.ts +86 -11
- package/src/extension/team-tool/context.ts +3 -0
- package/src/extension/team-tool/handle-settings.ts +188 -188
- package/src/extension/team-tool/inspect.ts +41 -41
- package/src/extension/team-tool/intent-policy.ts +42 -0
- package/src/extension/team-tool/lifecycle-actions.ts +47 -18
- package/src/extension/team-tool/parallel-dispatch.ts +156 -0
- package/src/extension/team-tool/plan.ts +19 -19
- package/src/extension/team-tool/respond.ts +10 -2
- package/src/extension/team-tool/run.ts +3 -2
- package/src/extension/team-tool/status.ts +1 -1
- package/src/extension/team-tool-types.ts +1 -0
- package/src/extension/team-tool.ts +13 -3
- package/src/hooks/registry.ts +61 -0
- package/src/hooks/types.ts +41 -0
- package/src/i18n.ts +184 -184
- package/src/observability/exporters/otlp-exporter.ts +77 -77
- package/src/prompt/prompt-runtime.ts +72 -72
- package/src/runtime/agent-control.ts +108 -2
- 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/async-runner.ts +3 -1
- package/src/runtime/attention-events.ts +28 -28
- package/src/runtime/background-runner.ts +19 -0
- package/src/runtime/cancellation-token.ts +89 -0
- package/src/runtime/cancellation.ts +61 -51
- package/src/runtime/capability-inventory.ts +116 -0
- package/src/runtime/child-pi.ts +2 -1
- package/src/runtime/code-summary.ts +247 -0
- package/src/runtime/completion-guard.ts +190 -190
- package/src/runtime/crash-recovery.ts +181 -0
- package/src/runtime/crew-agent-records.ts +35 -7
- package/src/runtime/crew-agent-runtime.ts +1 -0
- package/src/runtime/custom-tools/irc-tool.ts +201 -0
- package/src/runtime/custom-tools/submit-result-tool.ts +90 -0
- package/src/runtime/delivery-coordinator.ts +3 -1
- package/src/runtime/direct-run.ts +35 -35
- package/src/runtime/effectiveness.ts +81 -76
- package/src/runtime/event-stream-bridge.ts +90 -0
- 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/live-agent-control.ts +88 -88
- package/src/runtime/live-agent-manager.ts +78 -2
- package/src/runtime/live-control-realtime.ts +36 -36
- package/src/runtime/live-extension-bridge.ts +150 -0
- package/src/runtime/live-irc.ts +92 -0
- package/src/runtime/live-session-health.ts +100 -0
- package/src/runtime/live-session-runtime.ts +297 -7
- package/src/runtime/mcp-proxy.ts +113 -0
- package/src/runtime/notebook-helpers.ts +90 -0
- package/src/runtime/orphan-sentinel.ts +7 -0
- package/src/runtime/output-validator.ts +187 -0
- package/src/runtime/parallel-research.ts +44 -44
- package/src/runtime/parallel-utils.ts +57 -0
- package/src/runtime/parent-guard.ts +80 -0
- package/src/runtime/pi-json-output.ts +111 -111
- package/src/runtime/policy-engine.ts +79 -79
- package/src/runtime/progress-event-coalescer.ts +43 -43
- package/src/runtime/prose-compressor.ts +164 -0
- package/src/runtime/recovery-recipes.ts +74 -74
- package/src/runtime/result-extractor.ts +121 -0
- package/src/runtime/role-permission.ts +39 -39
- package/src/runtime/runtime-resolver.ts +1 -4
- package/src/runtime/semaphore.ts +131 -0
- package/src/runtime/sensitive-paths.ts +92 -0
- 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 -0
- package/src/runtime/subagent-manager.ts +3 -2
- package/src/runtime/subprocess-tool-registry.ts +67 -0
- package/src/runtime/supervisor-contact.ts +59 -59
- package/src/runtime/task-display.ts +38 -38
- package/src/runtime/task-output-context.ts +59 -9
- package/src/runtime/task-runner/capabilities.ts +78 -78
- package/src/runtime/task-runner/live-executor.ts +2 -0
- package/src/runtime/task-runner/progress.ts +119 -119
- package/src/runtime/task-runner/prompt-builder.ts +70 -8
- 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 +104 -0
- package/src/runtime/task-runner/state-helpers.ts +22 -22
- package/src/runtime/task-runner.ts +75 -4
- package/src/runtime/team-runner.ts +60 -8
- package/src/runtime/worker-heartbeat.ts +21 -21
- package/src/runtime/worker-startup.ts +57 -57
- package/src/runtime/workspace-tree.ts +298 -0
- package/src/runtime/yield-handler.ts +189 -0
- package/src/schema/config-schema.ts +6 -0
- package/src/schema/team-tool-schema.ts +11 -1
- package/src/skills/discover-skills.ts +67 -0
- package/src/state/active-run-registry.ts +4 -2
- package/src/state/artifact-store.ts +4 -1
- package/src/state/atomic-write.ts +50 -1
- package/src/state/blob-store.ts +117 -0
- package/src/state/contracts.ts +1 -0
- package/src/state/event-log-rotation.ts +158 -0
- package/src/state/event-log.ts +52 -2
- package/src/state/mailbox.ts +87 -7
- package/src/state/state-store.ts +24 -4
- package/src/state/task-claims.ts +44 -44
- package/src/state/types.ts +20 -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/agent-management-overlay.ts +144 -0
- package/src/ui/crew-footer.ts +101 -101
- package/src/ui/crew-select-list.ts +111 -111
- package/src/ui/crew-widget.ts +11 -2
- package/src/ui/dashboard-panes/cancellation-pane.ts +43 -0
- package/src/ui/dashboard-panes/capability-pane.ts +60 -0
- package/src/ui/dashboard-panes/mailbox-pane.ts +35 -11
- package/src/ui/dashboard-panes/metrics-pane.ts +34 -34
- package/src/ui/dynamic-border.ts +25 -25
- package/src/ui/layout-primitives.ts +106 -106
- package/src/ui/live-run-sidebar.ts +4 -0
- package/src/ui/loaders.ts +158 -158
- package/src/ui/powerbar-publisher.ts +77 -15
- package/src/ui/render-coalescer.ts +51 -0
- package/src/ui/render-diff.ts +119 -119
- package/src/ui/render-scheduler.ts +143 -143
- package/src/ui/run-dashboard.ts +4 -0
- package/src/ui/run-event-bus.ts +209 -0
- package/src/ui/run-snapshot-cache.ts +68 -16
- package/src/ui/snapshot-types.ts +8 -0
- 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 -0
- package/src/utils/atomic-write.ts +33 -33
- 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 -12
- package/src/utils/incremental-reader.ts +104 -0
- 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 +137 -0
- package/src/utils/sleep.ts +32 -32
- package/src/utils/sse-parser.ts +134 -0
- package/src/utils/task-name-generator.ts +337 -0
- package/src/utils/visual.ts +33 -2
- package/src/workflows/validate-workflow.ts +40 -40
- package/src/worktree/branch-freshness.ts +45 -45
- package/src/worktree/cleanup.ts +2 -1
- 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 +29 -29
- package/workflows/fast-fix.workflow.md +22 -22
- package/workflows/implementation.workflow.md +38 -38
- package/workflows/parallel-research.workflow.md +46 -46
- package/workflows/research.workflow.md +22 -22
- package/workflows/review.workflow.md +30 -30
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.
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
# pi-crew runtime refactor source map
|
|
2
|
-
|
|
3
|
-
This document records the source projects used as the baseline for the pi-crew subagent/runtime refactor. The goal is to avoid ad-hoc fixes in critical process orchestration paths and instead align pi-crew with proven Pi extension patterns.
|
|
4
|
-
|
|
5
|
-
## Source/pi-subagents
|
|
6
|
-
|
|
7
|
-
Primary source for child-process worker execution.
|
|
8
|
-
|
|
9
|
-
- `pi-spawn.ts`: robust Pi CLI resolution on Windows and package installs.
|
|
10
|
-
- `async-execution.ts`: detached async runner with `windowsHide: true` to avoid blank console windows.
|
|
11
|
-
- `subagent-runner.ts`: streaming child Pi process runner, output capture, result extraction.
|
|
12
|
-
- `post-exit-stdio-guard.ts`: guards for child processes that exit before stdio fully closes.
|
|
13
|
-
- `result-watcher.ts` and `async-job-tracker.ts`: durable async job/result observation patterns.
|
|
14
|
-
- `model-fallback.ts`: model fallback policy independent of hardcoded provider assumptions.
|
|
15
|
-
- `subagent-control.ts`, `run-status.ts`: status and control semantics.
|
|
16
|
-
|
|
17
|
-
pi-crew alignment:
|
|
18
|
-
|
|
19
|
-
- Background runner and child worker spawn options now explicitly set `windowsHide: true`.
|
|
20
|
-
- Parallel research no longer gates all shard workers behind a single discover worker.
|
|
21
|
-
- Further work should consolidate `child-pi.ts`, `async-runner.ts`, and `subagent-manager.ts` into a durable-first subagent runtime module.
|
|
22
|
-
|
|
23
|
-
## Source/pi-subagents2
|
|
24
|
-
|
|
25
|
-
Primary source for higher-level agent management and UI patterns.
|
|
26
|
-
|
|
27
|
-
- `src/agent-manager.ts`: agent lifecycle registry boundaries.
|
|
28
|
-
- `src/agent-runner.ts`: invocation/run abstraction separate from UI registration.
|
|
29
|
-
- `src/model-resolver.ts`: cleaner model resolution responsibility.
|
|
30
|
-
- `src/output-file.ts`: output file abstraction.
|
|
31
|
-
- `src/ui/agent-widget.ts`, `src/ui/conversation-viewer.ts`: compact live status and transcript viewing.
|
|
32
|
-
|
|
33
|
-
pi-crew alignment:
|
|
34
|
-
|
|
35
|
-
- Keep `Agent`/`crew_agent` tools as thin adapters over a durable manager.
|
|
36
|
-
- Avoid storing essential run mapping in memory only.
|
|
37
|
-
- Keep UI active-only and file-backed.
|
|
38
|
-
|
|
39
|
-
## Source/pi-mono
|
|
40
|
-
|
|
41
|
-
Primary source for Pi extension API/lifecycle constraints.
|
|
42
|
-
|
|
43
|
-
- `packages/coding-agent/src/core/extensions/types.ts`: extension context/tool contracts.
|
|
44
|
-
- `packages/coding-agent/src/core/extensions/runner.ts`: extension execution boundaries.
|
|
45
|
-
- `packages/coding-agent/src/core/model-registry.ts`: available model discovery.
|
|
46
|
-
- `packages/coding-agent/src/modes/interactive/interactive-mode.ts`: session lifecycle/UI behavior.
|
|
47
|
-
|
|
48
|
-
pi-crew alignment:
|
|
49
|
-
|
|
50
|
-
- Treat session-bound foreground workers differently from explicit async background workers.
|
|
51
|
-
- Do not assume hardcoded providers/models.
|
|
52
|
-
- Use Pi-native UI calls without modal auto-open by default.
|
|
53
|
-
|
|
54
|
-
## Source/pi-powerbar, pi-plan, pi-diff-review, pi-extensions*
|
|
55
|
-
|
|
56
|
-
Sources for UI and small-extension patterns.
|
|
57
|
-
|
|
58
|
-
- `pi-powerbar/src/powerbar/*`: low-noise status segment publishing.
|
|
59
|
-
- `pi-plan/src/plan-action-ui.ts`: action-oriented UI without persistent heavy overlays.
|
|
60
|
-
- `pi-diff-review/src/*`: command/tool registration and review UX patterns.
|
|
61
|
-
- `pi-extensions2/files-widget/*`: file-backed UI composition and navigation.
|
|
62
|
-
|
|
63
|
-
pi-crew alignment:
|
|
64
|
-
|
|
65
|
-
- Keep persistent widget active-only.
|
|
66
|
-
- Prefer manual dashboard/transcript commands for history.
|
|
67
|
-
- Avoid expensive render scans and auto-opening focus-capturing overlays.
|
|
68
|
-
|
|
69
|
-
## Source/oh-my-pi
|
|
70
|
-
|
|
71
|
-
Primary source for broader agent runtime, UI, extension, hook, skill, native process, and release patterns.
|
|
72
|
-
|
|
73
|
-
Detailed distillation: `docs/research-oh-my-pi-distillation.md`.
|
|
74
|
-
Next implementation roadmap: `docs/next-upgrade-roadmap.md`.
|
|
75
|
-
|
|
76
|
-
Key patterns to apply:
|
|
77
|
-
|
|
78
|
-
- Separate durable run history from worker/provider prompt context.
|
|
79
|
-
- Distinguish steering (interrupt active work) from follow-up (continue after idle).
|
|
80
|
-
- Preserve cancellation invariants with structured cancel reasons and synthetic terminal events.
|
|
81
|
-
- Use shared/exclusive execution semantics and intent tracing for risky actions.
|
|
82
|
-
- Keep TUI components small, width-safe, event-driven, coalesced, and lifecycle-clean.
|
|
83
|
-
- Split extension/plugin lifecycle into register vs initialized side-effect phases.
|
|
84
|
-
- Normalize teams/workflows/agents/skills/hooks/tools into a capability inventory with disabled/shadowed states.
|
|
85
|
-
- Add typed lifecycle hooks for crew operations.
|
|
86
|
-
- Move toward append-only run history with attempt/branch provenance.
|
|
87
|
-
- Use cooperative cancellation tokens and two-phase process teardown for workers.
|
|
88
|
-
- Cache raw scan entries, not final semantic query results.
|
|
89
|
-
- Consider content-addressed blob artifacts for large worker outputs/log chunks.
|
|
90
|
-
|
|
91
|
-
## Current refactor checkpoints
|
|
92
|
-
|
|
93
|
-
- [x] Hide Windows console windows for background runner and child Pi workers.
|
|
94
|
-
- [x] Make parallel research shard workers start in parallel instead of depending on a single discover worker.
|
|
95
|
-
- [x] Keep direct-agent reconstruction gated by `workflow === "direct-agent"` only.
|
|
96
|
-
- [x] Persist subagent records and recover terminal results after restart.
|
|
97
|
-
- [x] Fail fast for unrecoverable persisted records without `runId` instead of hanging.
|
|
98
|
-
- [x] Persist direct-agent model override into task state for background/resume reconstruction.
|
|
99
|
-
|
|
100
|
-
For the current prioritized upgrade backlog, see `docs/next-upgrade-roadmap.md`.
|
|
101
|
-
|
|
102
|
-
## Remaining larger subsystem work
|
|
103
|
-
|
|
104
|
-
- Consolidate subagent runtime into `src/subagents/*` or equivalent durable-first module.
|
|
105
|
-
- Move model routing transparency into persisted task/subagent records: requested model, selected model, fallback chain, fallback reason.
|
|
106
|
-
- Add real integration smoke scripts for Windows process visibility, async restart recovery, and multi-shard fanout.
|
|
107
|
-
- Add adaptive planner repair/retry for invalid JSON instead of immediate block when safe.
|
|
1
|
+
# pi-crew runtime refactor source map
|
|
2
|
+
|
|
3
|
+
This document records the source projects used as the baseline for the pi-crew subagent/runtime refactor. The goal is to avoid ad-hoc fixes in critical process orchestration paths and instead align pi-crew with proven Pi extension patterns.
|
|
4
|
+
|
|
5
|
+
## Source/pi-subagents
|
|
6
|
+
|
|
7
|
+
Primary source for child-process worker execution.
|
|
8
|
+
|
|
9
|
+
- `pi-spawn.ts`: robust Pi CLI resolution on Windows and package installs.
|
|
10
|
+
- `async-execution.ts`: detached async runner with `windowsHide: true` to avoid blank console windows.
|
|
11
|
+
- `subagent-runner.ts`: streaming child Pi process runner, output capture, result extraction.
|
|
12
|
+
- `post-exit-stdio-guard.ts`: guards for child processes that exit before stdio fully closes.
|
|
13
|
+
- `result-watcher.ts` and `async-job-tracker.ts`: durable async job/result observation patterns.
|
|
14
|
+
- `model-fallback.ts`: model fallback policy independent of hardcoded provider assumptions.
|
|
15
|
+
- `subagent-control.ts`, `run-status.ts`: status and control semantics.
|
|
16
|
+
|
|
17
|
+
pi-crew alignment:
|
|
18
|
+
|
|
19
|
+
- Background runner and child worker spawn options now explicitly set `windowsHide: true`.
|
|
20
|
+
- Parallel research no longer gates all shard workers behind a single discover worker.
|
|
21
|
+
- Further work should consolidate `child-pi.ts`, `async-runner.ts`, and `subagent-manager.ts` into a durable-first subagent runtime module.
|
|
22
|
+
|
|
23
|
+
## Source/pi-subagents2
|
|
24
|
+
|
|
25
|
+
Primary source for higher-level agent management and UI patterns.
|
|
26
|
+
|
|
27
|
+
- `src/agent-manager.ts`: agent lifecycle registry boundaries.
|
|
28
|
+
- `src/agent-runner.ts`: invocation/run abstraction separate from UI registration.
|
|
29
|
+
- `src/model-resolver.ts`: cleaner model resolution responsibility.
|
|
30
|
+
- `src/output-file.ts`: output file abstraction.
|
|
31
|
+
- `src/ui/agent-widget.ts`, `src/ui/conversation-viewer.ts`: compact live status and transcript viewing.
|
|
32
|
+
|
|
33
|
+
pi-crew alignment:
|
|
34
|
+
|
|
35
|
+
- Keep `Agent`/`crew_agent` tools as thin adapters over a durable manager.
|
|
36
|
+
- Avoid storing essential run mapping in memory only.
|
|
37
|
+
- Keep UI active-only and file-backed.
|
|
38
|
+
|
|
39
|
+
## Source/pi-mono
|
|
40
|
+
|
|
41
|
+
Primary source for Pi extension API/lifecycle constraints.
|
|
42
|
+
|
|
43
|
+
- `packages/coding-agent/src/core/extensions/types.ts`: extension context/tool contracts.
|
|
44
|
+
- `packages/coding-agent/src/core/extensions/runner.ts`: extension execution boundaries.
|
|
45
|
+
- `packages/coding-agent/src/core/model-registry.ts`: available model discovery.
|
|
46
|
+
- `packages/coding-agent/src/modes/interactive/interactive-mode.ts`: session lifecycle/UI behavior.
|
|
47
|
+
|
|
48
|
+
pi-crew alignment:
|
|
49
|
+
|
|
50
|
+
- Treat session-bound foreground workers differently from explicit async background workers.
|
|
51
|
+
- Do not assume hardcoded providers/models.
|
|
52
|
+
- Use Pi-native UI calls without modal auto-open by default.
|
|
53
|
+
|
|
54
|
+
## Source/pi-powerbar, pi-plan, pi-diff-review, pi-extensions*
|
|
55
|
+
|
|
56
|
+
Sources for UI and small-extension patterns.
|
|
57
|
+
|
|
58
|
+
- `pi-powerbar/src/powerbar/*`: low-noise status segment publishing.
|
|
59
|
+
- `pi-plan/src/plan-action-ui.ts`: action-oriented UI without persistent heavy overlays.
|
|
60
|
+
- `pi-diff-review/src/*`: command/tool registration and review UX patterns.
|
|
61
|
+
- `pi-extensions2/files-widget/*`: file-backed UI composition and navigation.
|
|
62
|
+
|
|
63
|
+
pi-crew alignment:
|
|
64
|
+
|
|
65
|
+
- Keep persistent widget active-only.
|
|
66
|
+
- Prefer manual dashboard/transcript commands for history.
|
|
67
|
+
- Avoid expensive render scans and auto-opening focus-capturing overlays.
|
|
68
|
+
|
|
69
|
+
## Source/oh-my-pi
|
|
70
|
+
|
|
71
|
+
Primary source for broader agent runtime, UI, extension, hook, skill, native process, and release patterns.
|
|
72
|
+
|
|
73
|
+
Detailed distillation: `docs/research-oh-my-pi-distillation.md`.
|
|
74
|
+
Next implementation roadmap: `docs/next-upgrade-roadmap.md`.
|
|
75
|
+
|
|
76
|
+
Key patterns to apply:
|
|
77
|
+
|
|
78
|
+
- Separate durable run history from worker/provider prompt context.
|
|
79
|
+
- Distinguish steering (interrupt active work) from follow-up (continue after idle).
|
|
80
|
+
- Preserve cancellation invariants with structured cancel reasons and synthetic terminal events.
|
|
81
|
+
- Use shared/exclusive execution semantics and intent tracing for risky actions.
|
|
82
|
+
- Keep TUI components small, width-safe, event-driven, coalesced, and lifecycle-clean.
|
|
83
|
+
- Split extension/plugin lifecycle into register vs initialized side-effect phases.
|
|
84
|
+
- Normalize teams/workflows/agents/skills/hooks/tools into a capability inventory with disabled/shadowed states.
|
|
85
|
+
- Add typed lifecycle hooks for crew operations.
|
|
86
|
+
- Move toward append-only run history with attempt/branch provenance.
|
|
87
|
+
- Use cooperative cancellation tokens and two-phase process teardown for workers.
|
|
88
|
+
- Cache raw scan entries, not final semantic query results.
|
|
89
|
+
- Consider content-addressed blob artifacts for large worker outputs/log chunks.
|
|
90
|
+
|
|
91
|
+
## Current refactor checkpoints
|
|
92
|
+
|
|
93
|
+
- [x] Hide Windows console windows for background runner and child Pi workers.
|
|
94
|
+
- [x] Make parallel research shard workers start in parallel instead of depending on a single discover worker.
|
|
95
|
+
- [x] Keep direct-agent reconstruction gated by `workflow === "direct-agent"` only.
|
|
96
|
+
- [x] Persist subagent records and recover terminal results after restart.
|
|
97
|
+
- [x] Fail fast for unrecoverable persisted records without `runId` instead of hanging.
|
|
98
|
+
- [x] Persist direct-agent model override into task state for background/resume reconstruction.
|
|
99
|
+
|
|
100
|
+
For the current prioritized upgrade backlog, see `docs/next-upgrade-roadmap.md`.
|
|
101
|
+
|
|
102
|
+
## Remaining larger subsystem work
|
|
103
|
+
|
|
104
|
+
- Consolidate subagent runtime into `src/subagents/*` or equivalent durable-first module.
|
|
105
|
+
- Move model routing transparency into persisted task/subagent records: requested model, selected model, fallback chain, fallback reason.
|
|
106
|
+
- Add real integration smoke scripts for Windows process visibility, async restart recovery, and multi-shard fanout.
|
|
107
|
+
- Add adaptive planner repair/retry for invalid JSON instead of immediate block when safe.
|
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
|
+
}
|