pi-crew 0.9.50 → 0.9.52
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 +150 -0
- package/README.md +216 -20
- package/dist/build-meta.json +2222 -1761
- package/dist/index.mjs +18636 -17603
- package/docs/actions-reference.md +431 -1
- package/package.json +19 -9
- package/schema.json +41 -0
- package/scripts/check-bundle-size.mjs +38 -0
- package/scripts/test-runner.mjs +11 -1
- package/skills/distill-software/SKILL.md +24 -1
- package/dist/index.mjs.map +0 -7
- package/docs/FEATURE_INTAKE.md +0 -126
- package/docs/HARNESS.md +0 -87
- package/docs/HARNESS_BACKLOG.md +0 -89
- package/docs/PROJECT_REVIEW.md +0 -270
- package/docs/PROJECT_REVIEW_FIXES.md +0 -342
- package/docs/PROJECT_REVIEW_ROUND4.md +0 -156
- package/docs/PROJECT_REVIEW_ROUND5.md +0 -86
- package/docs/REVIEW-FINDINGS-2026-06 +0 -357
- package/docs/REVIEW-FINDINGS-2026-07-CORE.md +0 -139
- package/docs/REVIEW-FINDINGS-2026-07.md +0 -125
- package/docs/TEST_MATRIX.md +0 -51
- package/docs/archive/README.md +0 -91
- package/docs/archive/followup-review-round3-2026-05-12.md +0 -342
- package/docs/archive/followup-review-round4-2026-05-13.md +0 -107
- package/docs/archive/pi-crew-bugs.md +0 -961
- package/docs/archive/pi-crew-test-final.md +0 -120
- package/docs/archive/pi-crew-test-results.md +0 -260
- package/docs/archive/pi-crew-test-round2.md +0 -136
- package/docs/archive/pi-crew-test-round4.md +0 -100
- package/docs/archive/pi-crew-test-round5.md +0 -70
- package/docs/archive/pi-crew-test-round6.md +0 -110
- package/docs/archive/pi-crew-v0.5.10-audit-fix-plan.md +0 -60
- package/docs/archive/pi-crew-v0.5.11-audit-fix-plan.md +0 -92
- package/docs/archive/pi-crew-v0.5.12-audit-fix-plan.md +0 -76
- package/docs/archive/pi-crew-v0.5.13-audit-fix-plan.md +0 -75
- package/docs/archive/pi-crew-v0.5.14-audit-fix-plan.md +0 -75
- package/docs/archive/pi-crew-v0.5.16-audit-fix-plan.md +0 -35
- package/docs/archive/pi-crew-v0.5.17-audit-fix-plan.md +0 -80
- package/docs/archive/pi-crew-v0.5.5-audit-fix-plan.md +0 -133
- package/docs/archive/pi-crew-v0.5.9-audit-fix-plan.md +0 -88
- package/docs/archive/pi-mono-opportunities.md +0 -969
- package/docs/archive/pi-mono-review.md +0 -291
- package/docs/archive/pi-subagent4-comparison.md +0 -261
- package/docs/archive/pi-subagents3-deep-analysis.md +0 -508
- package/docs/bugs/bug-021-notification-badge-counter-misleading.md +0 -293
- package/docs/bugs/bug-023-chain-windows-path-resolution.md +0 -106
- package/docs/bugs/bug-quota-display-truncation.md +0 -223
- package/docs/bugs/cross-session-notification-leakage.md +0 -82
- package/docs/code-review-2026-05-11.md +0 -592
- package/docs/coding-agent-optimization.md +0 -268
- package/docs/comparison-pi-subagents-vs-pi-crew.md +0 -303
- package/docs/decisions/0001-durable-state.md +0 -41
- package/docs/decisions/0002-child-process-for-async.md +0 -42
- package/docs/decisions/0003-depth-guard.md +0 -36
- package/docs/decisions/0004-execfile-over-exec.md +0 -34
- package/docs/decisions/0005-no-parameter-properties.md +0 -49
- package/docs/decisions/0006-publish-bundled-esm.md +0 -63
- package/docs/decisions/0007-active-run-binary-index.md +0 -54
- package/docs/decisions/0008-child-pi-warm-pool.md +0 -61
- package/docs/decisions/2026-07-21-broker-phase4-default-on.md +0 -77
- package/docs/decisions/2026-07-21-broker-windows-perms.md +0 -91
- package/docs/decisions/2026-07-22-broker-phase4-gated-on.md +0 -99
- package/docs/decisions/2026-07-24-oidc-trusted-publishing.md +0 -112
- package/docs/decisions/README.md +0 -26
- package/docs/deep-review-report.md +0 -384
- package/docs/distillation/cybersecurity-patterns.md +0 -294
- package/docs/feature-analysis-subagent4.md +0 -305
- package/docs/fix-plan-disabletools-exit-null.md +0 -219
- package/docs/fixes/BATCH_A_H1_H2.md +0 -86
- package/docs/fixes/bug-006-foreground-cancel-concurrent.md +0 -78
- package/docs/fixes/bug-007-async-notifier-stale-ctx.md +0 -112
- package/docs/fixes/bug-008-child-process-silent-timeout.md +0 -100
- package/docs/fixes/bug-009-executor-yield-limit-needs-attention.md +0 -75
- package/docs/fixes/bug-010-child-process-api-key-filtered.md +0 -109
- package/docs/fixes/bug-011-spawn-pi-enoent.md +0 -92
- package/docs/fixes/bug-012-essential-env-stripped.md +0 -89
- package/docs/fixes/bug-013-background-runner-death.md +0 -84
- package/docs/fixes/bug-014-infinite-retry-loop-needs-attention.md +0 -82
- package/docs/fixes/bug-015-background-runner-sigterm.md +0 -65
- package/docs/fixes/bug-017-background-runner-session-shutdown.md +0 -66
- package/docs/fixes/bug-017-background-runner-sigkill-double-fork.md +0 -28
- package/docs/fixes/bug-018-child-pi-worker-stdin-hang.md +0 -61
- package/docs/fixes/bug-019-phantom-runs-temp-workspace.md +0 -52
- package/docs/fixes/bug-020-infinite-retry-loop-needs-attention.md +0 -47
- package/docs/fixes/v0.9.10/locks-fix-verify.md +0 -3
- package/docs/fixes/v0.9.10/smoke-test.md +0 -12
- package/docs/followup-plan-2026-05-12.md +0 -463
- package/docs/followup-review-2026-05-12.md +0 -297
- package/docs/goals.md +0 -59
- package/docs/implementation-plan-top3.md +0 -333
- package/docs/issue-29-analysis.md +0 -189
- package/docs/live-mailbox-runtime.md +0 -36
- package/docs/migration/atomic-write-v2-migration.md +0 -299
- package/docs/next-upgrade-roadmap.md +0 -808
- package/docs/oh-my-pi-research.md +0 -509
- package/docs/optimization-plan-2026-07.md +0 -366
- package/docs/optimization-plan.md +0 -644
- package/docs/patterns/command-agent-skill.md +0 -71
- package/docs/perf/baseline-2026-05.md +0 -113
- package/docs/perf/final-report-2026-05.md +0 -206
- package/docs/perf/optimization-plan-2026-07-verified.md +0 -396
- package/docs/perf/performance-audit-report-2026-07.md +0 -948
- package/docs/perf/performance-review-2026-07.md +0 -287
- package/docs/perf/sprint-1-report.md +0 -71
- package/docs/perf/sprint-2-report.md +0 -81
- package/docs/perf/sprint-2.5-report.md +0 -53
- package/docs/perf/sprint-3-report.md +0 -36
- package/docs/perf/sprint-4-report.md +0 -47
- package/docs/perf/sprint-5-report.md +0 -51
- package/docs/perf/sprint-6-report.md +0 -94
- package/docs/perf/sprint-7-report.md +0 -74
- package/docs/perf/upgrade-plan-2026-05.md +0 -147
- package/docs/performance-optimization-execution-plan.md +0 -520
- package/docs/phase4-triage.md +0 -58
- package/docs/pi-crew-investigation-report.md +0 -411
- package/docs/product/README.md +0 -31
- package/docs/product/platform.md +0 -27
- package/docs/product/runtime-safety.md +0 -37
- package/docs/product/team-run.md +0 -39
- package/docs/product/team-tool.md +0 -37
- package/docs/runtime-analysis-child-vs-live.md +0 -171
- package/docs/runtime-migration-in-process-analysis.md +0 -250
- package/docs/skills/REFERENCE.md +0 -138
- package/docs/stories/README.md +0 -32
- package/docs/stories/US-DEPS-major-upgrade.md +0 -62
- package/docs/stories/backlog.md +0 -36
- package/docs/superpowers/plans/2026-06-09-fallow-patterns-adoption.md +0 -1270
- package/docs/templates/decision.md +0 -27
- package/docs/templates/story.md +0 -44
- package/docs/templates/validation-report.md +0 -32
- package/docs/ui-optimization-plan.md +0 -447
- package/src/adapters/claude-adapter.ts +0 -23
- package/src/adapters/codex-adapter.ts +0 -21
- package/src/adapters/cursor-adapter.ts +0 -17
- package/src/adapters/export-util.ts +0 -143
- package/src/adapters/index.ts +0 -15
- package/src/adapters/registry.ts +0 -18
- package/src/adapters/types.ts +0 -23
- package/src/agents/agent-config.ts +0 -194
- package/src/agents/agent-search.ts +0 -98
- package/src/agents/agent-serializer.ts +0 -38
- package/src/agents/discover-agents.ts +0 -623
- package/src/benchmark/benchmark-runner.ts +0 -313
- package/src/benchmark/feedback-loop.ts +0 -73
- package/src/config/config.ts +0 -1269
- package/src/config/defaults.ts +0 -193
- package/src/config/drift-detector.ts +0 -290
- package/src/config/markers.ts +0 -330
- package/src/config/resilient-parser.ts +0 -117
- package/src/config/role-tools.ts +0 -118
- package/src/config/suggestions.ts +0 -75
- package/src/config/types.ts +0 -278
- package/src/errors.ts +0 -194
- package/src/extension/action-suggestions.ts +0 -117
- package/src/extension/async-notifier.ts +0 -179
- package/src/extension/autonomous-policy.ts +0 -209
- package/src/extension/command-completions.ts +0 -120
- package/src/extension/context-status-injection.ts +0 -185
- package/src/extension/crew-autocomplete.ts +0 -131
- package/src/extension/crew-cleanup.ts +0 -168
- package/src/extension/crew-input-router.ts +0 -93
- package/src/extension/crew-shortcuts.ts +0 -87
- package/src/extension/crew-vibes/cat-frames.ts +0 -18
- package/src/extension/crew-vibes/config.ts +0 -195
- package/src/extension/crew-vibes/figures.ts +0 -101
- package/src/extension/crew-vibes/font-detect.ts +0 -71
- package/src/extension/crew-vibes/footer.ts +0 -292
- package/src/extension/crew-vibes/index.ts +0 -432
- package/src/extension/crew-vibes/provider-usage.ts +0 -396
- package/src/extension/crew-vibes/render.ts +0 -206
- package/src/extension/crew-vibes/speed.ts +0 -286
- package/src/extension/cross-extension-rpc.ts +0 -350
- package/src/extension/help.ts +0 -62
- package/src/extension/import-index.ts +0 -74
- package/src/extension/knowledge-injection.ts +0 -402
- package/src/extension/management.ts +0 -571
- package/src/extension/message-renderers.ts +0 -108
- package/src/extension/notification-router.ts +0 -152
- package/src/extension/notification-sink.ts +0 -54
- package/src/extension/pi-api.ts +0 -56
- package/src/extension/plan-orchestrate.ts +0 -302
- package/src/extension/project-init.ts +0 -170
- package/src/extension/register.ts +0 -113
- package/src/extension/registration/artifact-cleanup.ts +0 -20
- package/src/extension/registration/command-registration.ts +0 -58
- package/src/extension/registration/command-utils.ts +0 -58
- package/src/extension/registration/commands.ts +0 -1228
- package/src/extension/registration/compaction-guard.ts +0 -333
- package/src/extension/registration/context-builder.ts +0 -135
- package/src/extension/registration/crash-recovery-cache.ts +0 -54
- package/src/extension/registration/foreground-run-controller.ts +0 -238
- package/src/extension/registration/hook-registration.ts +0 -119
- package/src/extension/registration/lazy-configurers.ts +0 -124
- package/src/extension/registration/lifecycle-handlers.ts +0 -923
- package/src/extension/registration/lifecycle.ts +0 -259
- package/src/extension/registration/observability.ts +0 -322
- package/src/extension/registration/registration-types.ts +0 -158
- package/src/extension/registration/runtime-cleanup.ts +0 -230
- package/src/extension/registration/subagent-helpers.ts +0 -125
- package/src/extension/registration/subagent-manager-setup.ts +0 -330
- package/src/extension/registration/subagent-tools.ts +0 -456
- package/src/extension/registration/team-tool.ts +0 -220
- package/src/extension/registration/tool-registration.ts +0 -50
- package/src/extension/registration/ui.ts +0 -172
- package/src/extension/registration/viewers.ts +0 -121
- package/src/extension/registration/wire-cross-extension.ts +0 -37
- package/src/extension/result-watcher.ts +0 -139
- package/src/extension/rpc-hmac.ts +0 -256
- package/src/extension/run-bundle-schema.ts +0 -104
- package/src/extension/run-export.ts +0 -97
- package/src/extension/run-import.ts +0 -168
- package/src/extension/run-index.ts +0 -131
- package/src/extension/run-maintenance.ts +0 -190
- package/src/extension/session-summary.ts +0 -18
- package/src/extension/team-manager-command.ts +0 -153
- package/src/extension/team-onboard.ts +0 -177
- package/src/extension/team-recommendation.ts +0 -288
- package/src/extension/team-tool/anchor.ts +0 -172
- package/src/extension/team-tool/api.ts +0 -1244
- package/src/extension/team-tool/auto-summarize.ts +0 -142
- package/src/extension/team-tool/cache-control.ts +0 -19
- package/src/extension/team-tool/cancel.ts +0 -337
- package/src/extension/team-tool/chain-dispatch.ts +0 -95
- package/src/extension/team-tool/chain-executor.ts +0 -379
- package/src/extension/team-tool/config-patch.ts +0 -50
- package/src/extension/team-tool/context.ts +0 -149
- package/src/extension/team-tool/destructive-gate.ts +0 -52
- package/src/extension/team-tool/doctor.ts +0 -431
- package/src/extension/team-tool/explain.ts +0 -282
- package/src/extension/team-tool/failure-patterns.ts +0 -118
- package/src/extension/team-tool/goal-wrap.ts +0 -330
- package/src/extension/team-tool/goal.ts +0 -556
- package/src/extension/team-tool/handle-schedule.ts +0 -332
- package/src/extension/team-tool/handle-settings.ts +0 -520
- package/src/extension/team-tool/health-monitor.ts +0 -481
- package/src/extension/team-tool/inspect.ts +0 -88
- package/src/extension/team-tool/intent-policy.ts +0 -45
- package/src/extension/team-tool/lifecycle-actions.ts +0 -615
- package/src/extension/team-tool/orchestrate.ts +0 -98
- package/src/extension/team-tool/parallel-dispatch.ts +0 -183
- package/src/extension/team-tool/plan.ts +0 -50
- package/src/extension/team-tool/respond.ts +0 -150
- package/src/extension/team-tool/run-not-found.ts +0 -49
- package/src/extension/team-tool/run.ts +0 -1035
- package/src/extension/team-tool/status.ts +0 -260
- package/src/extension/team-tool/workflow-manage.ts +0 -261
- package/src/extension/team-tool-types.ts +0 -26
- package/src/extension/team-tool.ts +0 -1116
- package/src/extension/tool-result.ts +0 -16
- package/src/extension/validate-resources.ts +0 -108
- package/src/hooks/registry.ts +0 -200
- package/src/hooks/types.ts +0 -69
- package/src/i18n.ts +0 -212
- package/src/observability/correlation.ts +0 -50
- package/src/observability/event-bus.ts +0 -86
- package/src/observability/event-to-metric.ts +0 -170
- package/src/observability/exporters/adapter.ts +0 -27
- package/src/observability/exporters/otlp-exporter.ts +0 -356
- package/src/observability/exporters/prometheus-exporter.ts +0 -54
- package/src/observability/metric-registry.ts +0 -100
- package/src/observability/metric-retention.ts +0 -64
- package/src/observability/metric-sink.ts +0 -99
- package/src/observability/metrics-primitives.ts +0 -219
- package/src/plugins/plugin-define.ts +0 -6
- package/src/plugins/plugin-registry.ts +0 -32
- package/src/plugins/plugins/index.ts +0 -3
- package/src/plugins/plugins/nextjs.ts +0 -19
- package/src/plugins/plugins/vite.ts +0 -10
- package/src/plugins/plugins/vitest.ts +0 -9
- package/src/prompt/prompt-runtime.ts +0 -380
- package/src/runtime/adaptive-plan.ts +0 -563
- package/src/runtime/agent-control.ts +0 -215
- package/src/runtime/agent-memory.ts +0 -81
- package/src/runtime/agent-observability.ts +0 -122
- package/src/runtime/anchor-manager.ts +0 -475
- package/src/runtime/async-marker.ts +0 -32
- package/src/runtime/async-runner.ts +0 -381
- package/src/runtime/attention-events.ts +0 -28
- package/src/runtime/auto-summarize.ts +0 -344
- package/src/runtime/background-runner.ts +0 -837
- package/src/runtime/batch-barrier.ts +0 -147
- package/src/runtime/broker-issuer.ts +0 -37
- package/src/runtime/cancellation-token.ts +0 -99
- package/src/runtime/cancellation.ts +0 -99
- package/src/runtime/capability-inventory.ts +0 -137
- package/src/runtime/chain-parser.ts +0 -237
- package/src/runtime/chain-runner.ts +0 -606
- package/src/runtime/checkpoint.ts +0 -291
- package/src/runtime/child-pi-constants.ts +0 -42
- package/src/runtime/child-pi-kill.ts +0 -180
- package/src/runtime/child-pi-pool.ts +0 -68
- package/src/runtime/child-pi-spawn.ts +0 -287
- package/src/runtime/child-pi-steering.ts +0 -128
- package/src/runtime/child-pi-streams.ts +0 -296
- package/src/runtime/child-pi-transcript.ts +0 -169
- package/src/runtime/child-pi.ts +0 -1105
- package/src/runtime/coalesce-tasks.ts +0 -268
- package/src/runtime/code-summary.ts +0 -292
- package/src/runtime/command-trace.ts +0 -105
- package/src/runtime/compact-pipeline.ts +0 -56
- package/src/runtime/compact-stages/ansi-strip-stage.ts +0 -25
- package/src/runtime/compact-stages/blank-collapse-stage.ts +0 -31
- package/src/runtime/compact-stages/deduplicate-stage.ts +0 -34
- package/src/runtime/compact-stages/head-snap-stage.ts +0 -57
- package/src/runtime/compact-stages/index.ts +0 -23
- package/src/runtime/compact-stages/tail-capture-stage.ts +0 -77
- package/src/runtime/compact-stages/truncation-stage.ts +0 -74
- package/src/runtime/compaction-summary.ts +0 -278
- package/src/runtime/completion-guard.ts +0 -207
- package/src/runtime/concurrency.ts +0 -58
- package/src/runtime/crash-classification.ts +0 -229
- package/src/runtime/crash-recovery.ts +0 -577
- package/src/runtime/crew-agent-records.ts +0 -593
- package/src/runtime/crew-agent-runtime.ts +0 -62
- package/src/runtime/crew-broker-child.ts +0 -88
- package/src/runtime/crew-broker-client.ts +0 -673
- package/src/runtime/crew-broker-tokens.ts +0 -84
- package/src/runtime/crew-broker.ts +0 -1276
- package/src/runtime/crew-hooks.ts +0 -227
- package/src/runtime/cross-extension-rpc.ts +0 -143
- package/src/runtime/custom-tools/irc-tool.ts +0 -282
- package/src/runtime/custom-tools/submit-result-tool.ts +0 -102
- package/src/runtime/deadletter.ts +0 -47
- package/src/runtime/delivery-coordinator.ts +0 -211
- package/src/runtime/delta-conflict.ts +0 -348
- package/src/runtime/deterministic-ast.ts +0 -161
- package/src/runtime/diagnostic-export.ts +0 -171
- package/src/runtime/direct-run.ts +0 -45
- package/src/runtime/dwf-state-store.ts +0 -102
- package/src/runtime/dynamic-workflow-context.ts +0 -1016
- package/src/runtime/dynamic-workflow-runner.ts +0 -310
- package/src/runtime/effectiveness.ts +0 -90
- package/src/runtime/errors/crew-errors.ts +0 -162
- package/src/runtime/event-stream-bridge.ts +0 -98
- package/src/runtime/foreground-control.ts +0 -193
- package/src/runtime/foreground-watchdog.ts +0 -132
- package/src/runtime/global-worker-cap.ts +0 -96
- package/src/runtime/goal-achievement.ts +0 -148
- package/src/runtime/goal-evaluator.ts +0 -361
- package/src/runtime/goal-loop-runner.ts +0 -828
- package/src/runtime/goal-state-store.ts +0 -219
- package/src/runtime/green-contract.ts +0 -55
- package/src/runtime/group-join.ts +0 -267
- package/src/runtime/handoff-manager.ts +0 -598
- package/src/runtime/heartbeat-gradient.ts +0 -36
- package/src/runtime/heartbeat-watcher.ts +0 -239
- package/src/runtime/hidden-handoff.ts +0 -407
- package/src/runtime/important-line-classifier.ts +0 -140
- package/src/runtime/intercom-bridge.ts +0 -187
- package/src/runtime/iteration-hooks.ts +0 -305
- package/src/runtime/live-agent-control.ts +0 -136
- package/src/runtime/live-agent-manager.ts +0 -704
- package/src/runtime/live-control-realtime.ts +0 -56
- package/src/runtime/live-extension-bridge.ts +0 -148
- package/src/runtime/live-irc.ts +0 -97
- package/src/runtime/live-session-health.ts +0 -108
- package/src/runtime/live-session-runtime.ts +0 -1139
- package/src/runtime/loop-gates.ts +0 -128
- package/src/runtime/manifest-cache.ts +0 -375
- package/src/runtime/mcp-proxy.ts +0 -105
- package/src/runtime/metric-parser.ts +0 -36
- package/src/runtime/model-fallback.ts +0 -409
- package/src/runtime/model-resolver.ts +0 -126
- package/src/runtime/model-scope.ts +0 -158
- package/src/runtime/orphan-worker-registry.ts +0 -465
- package/src/runtime/output-validator.ts +0 -202
- package/src/runtime/overflow-recovery.ts +0 -206
- package/src/runtime/parallel-research.ts +0 -68
- package/src/runtime/parallel-utils.ts +0 -160
- package/src/runtime/parent-guard.ts +0 -134
- package/src/runtime/path-overlap.ts +0 -150
- package/src/runtime/peer-dep.ts +0 -292
- package/src/runtime/per-write-validator.ts +0 -181
- package/src/runtime/phase-progress.ts +0 -217
- package/src/runtime/phase-tracker.ts +0 -385
- package/src/runtime/pi-args.ts +0 -655
- package/src/runtime/pi-json-output.ts +0 -170
- package/src/runtime/pi-spawn.ts +0 -273
- package/src/runtime/pipeline-runner.ts +0 -523
- package/src/runtime/plan-templates.ts +0 -201
- package/src/runtime/policy-engine.ts +0 -115
- package/src/runtime/post-checks.ts +0 -142
- package/src/runtime/post-exit-stdio-guard.ts +0 -104
- package/src/runtime/process-lifecycle.ts +0 -491
- package/src/runtime/process-status.ts +0 -154
- package/src/runtime/progress-event-coalescer.ts +0 -44
- package/src/runtime/progress-tracker.ts +0 -124
- package/src/runtime/prose-compressor.ts +0 -162
- package/src/runtime/recovery-recipes.ts +0 -203
- package/src/runtime/replace.ts +0 -570
- package/src/runtime/resilient-edit.ts +0 -153
- package/src/runtime/result-extractor.ts +0 -213
- package/src/runtime/retry-executor.ts +0 -100
- package/src/runtime/retry-runner.ts +0 -336
- package/src/runtime/role-permission.ts +0 -59
- package/src/runtime/run-coalesced-task-group.ts +0 -308
- package/src/runtime/run-drift.ts +0 -219
- package/src/runtime/run-tracker.ts +0 -116
- package/src/runtime/runtime-policy.ts +0 -29
- package/src/runtime/runtime-resolver.ts +0 -172
- package/src/runtime/runtime-warmup.ts +0 -160
- package/src/runtime/scheduler.ts +0 -353
- package/src/runtime/semaphore.ts +0 -141
- package/src/runtime/sensitive-paths.ts +0 -93
- package/src/runtime/session-resources.ts +0 -25
- package/src/runtime/session-snapshot.ts +0 -59
- package/src/runtime/session-usage.ts +0 -79
- package/src/runtime/settings-store.ts +0 -155
- package/src/runtime/sidechain-output.ts +0 -35
- package/src/runtime/single-agent-compose.ts +0 -84
- package/src/runtime/skill-effectiveness.ts +0 -524
- package/src/runtime/skill-instructions.ts +0 -391
- package/src/runtime/stale-reconciler.ts +0 -680
- package/src/runtime/stream-preview.ts +0 -184
- package/src/runtime/streaming-output.ts +0 -50
- package/src/runtime/subagent-manager.ts +0 -561
- package/src/runtime/subprocess-tool-registry.ts +0 -70
- package/src/runtime/supervisor-contact.ts +0 -64
- package/src/runtime/task-display.ts +0 -52
- package/src/runtime/task-graph-scheduler.ts +0 -227
- package/src/runtime/task-graph.ts +0 -290
- package/src/runtime/task-health.ts +0 -83
- package/src/runtime/task-id.ts +0 -161
- package/src/runtime/task-output-context.ts +0 -602
- package/src/runtime/task-packet.ts +0 -268
- package/src/runtime/task-quality.ts +0 -199
- package/src/runtime/task-runner/capabilities.ts +0 -78
- package/src/runtime/task-runner/context-retrieval.ts +0 -163
- package/src/runtime/task-runner/live-executor.ts +0 -227
- package/src/runtime/task-runner/output-splitter.ts +0 -152
- package/src/runtime/task-runner/progress.ts +0 -157
- package/src/runtime/task-runner/prompt-builder.ts +0 -278
- package/src/runtime/task-runner/prompt-pipeline.ts +0 -88
- package/src/runtime/task-runner/result-utils.ts +0 -16
- package/src/runtime/task-runner/retrieval-orchestrator.ts +0 -310
- package/src/runtime/task-runner/run-projection.ts +0 -125
- package/src/runtime/task-runner/state-helpers.ts +0 -176
- package/src/runtime/task-runner/tail-read.ts +0 -34
- package/src/runtime/task-runner.ts +0 -1420
- package/src/runtime/team-runner-artifacts.ts +0 -13
- package/src/runtime/team-runner.ts +0 -1993
- package/src/runtime/tool-output-pruner.ts +0 -333
- package/src/runtime/tool-progress.ts +0 -278
- package/src/runtime/usage-tracker.ts +0 -73
- package/src/runtime/verification-gates.ts +0 -571
- package/src/runtime/verification-integrity.ts +0 -105
- package/src/runtime/verification-worktree.ts +0 -186
- package/src/runtime/worker-heartbeat.ts +0 -25
- package/src/runtime/worker-startup.ts +0 -83
- package/src/runtime/workflow-state.ts +0 -195
- package/src/runtime/workspace-lock.ts +0 -443
- package/src/runtime/workspace-tree.ts +0 -312
- package/src/runtime/yield-handler.ts +0 -224
- package/src/runtime/zombie-scanner.ts +0 -298
- package/src/schema/config-schema.ts +0 -327
- package/src/schema/team-tool-schema.ts +0 -415
- package/src/schema/validation-types.ts +0 -159
- package/src/skills/discover-skills.ts +0 -197
- package/src/skills/skill-templates.ts +0 -456
- package/src/skills/validate.ts +0 -285
- package/src/state/active-run-registry.ts +0 -439
- package/src/state/artifact-store.ts +0 -176
- package/src/state/atomic-write.ts +0 -903
- package/src/state/blob-store.ts +0 -308
- package/src/state/contracts.ts +0 -158
- package/src/state/crew-init.ts +0 -269
- package/src/state/decision-ledger.ts +0 -345
- package/src/state/event-log-rotation.ts +0 -342
- package/src/state/event-log.ts +0 -1311
- package/src/state/event-reconstructor.ts +0 -229
- package/src/state/gitignore-manager.ts +0 -46
- package/src/state/health-store.ts +0 -79
- package/src/state/hook-instinct-bridge.ts +0 -94
- package/src/state/hook-integrations.ts +0 -51
- package/src/state/instinct-store.ts +0 -275
- package/src/state/jsonl-writer.ts +0 -107
- package/src/state/locks.ts +0 -562
- package/src/state/mailbox.ts +0 -916
- package/src/state/observation-store.ts +0 -176
- package/src/state/run-cache.ts +0 -193
- package/src/state/run-graph.ts +0 -183
- package/src/state/run-metrics.ts +0 -165
- package/src/state/schedule.ts +0 -166
- package/src/state/session-state-map.ts +0 -51
- package/src/state/state-store.ts +0 -958
- package/src/state/task-claims.ts +0 -61
- package/src/state/tiered-eval.ts +0 -480
- package/src/state/types-eval.ts +0 -58
- package/src/state/types.ts +0 -440
- package/src/state/usage.ts +0 -138
- package/src/state/worker-atomic-writer.ts +0 -194
- package/src/subagents/async-entry.ts +0 -1
- package/src/subagents/index.ts +0 -3
- package/src/subagents/live/control.ts +0 -1
- package/src/subagents/live/manager.ts +0 -1
- package/src/subagents/live/realtime.ts +0 -1
- package/src/subagents/live/session-runtime.ts +0 -1
- package/src/subagents/manager.ts +0 -1
- package/src/subagents/spawn.ts +0 -1
- package/src/teams/discover-teams.ts +0 -187
- package/src/teams/team-config.ts +0 -27
- package/src/teams/team-serializer.ts +0 -38
- package/src/tools/safe-bash-extension.ts +0 -54
- package/src/tools/safe-bash.ts +0 -505
- package/src/types/diff.d.ts +0 -18
- package/src/types/new-api-types.ts +0 -35
- package/src/ui/agent-management-overlay.ts +0 -160
- package/src/ui/card-colors.ts +0 -139
- package/src/ui/crew-footer.ts +0 -102
- package/src/ui/crew-select-list.ts +0 -111
- package/src/ui/dashboard-panes/agents-pane.ts +0 -164
- package/src/ui/dashboard-panes/cancellation-pane.ts +0 -66
- package/src/ui/dashboard-panes/capability-pane.ts +0 -77
- package/src/ui/dashboard-panes/health-pane.ts +0 -31
- package/src/ui/dashboard-panes/mailbox-pane.ts +0 -35
- package/src/ui/dashboard-panes/metrics-pane.ts +0 -37
- package/src/ui/dashboard-panes/progress-pane.ts +0 -38
- package/src/ui/dashboard-panes/transcript-pane.ts +0 -10
- package/src/ui/deploy-bundled-themes.ts +0 -71
- package/src/ui/dwf-phase-display.ts +0 -151
- package/src/ui/dynamic-border.ts +0 -35
- package/src/ui/heartbeat-aggregator.ts +0 -74
- package/src/ui/key-utils.ts +0 -42
- package/src/ui/keybinding-map.ts +0 -248
- package/src/ui/layout-primitives.ts +0 -106
- package/src/ui/live-conversation-overlay.ts +0 -183
- package/src/ui/live-duration.ts +0 -55
- package/src/ui/live-run-sidebar.ts +0 -301
- package/src/ui/loaders.ts +0 -176
- package/src/ui/mascot.ts +0 -436
- package/src/ui/overlays/agent-picker-overlay.ts +0 -65
- package/src/ui/overlays/confirm-overlay.ts +0 -60
- package/src/ui/overlays/help-overlay.ts +0 -177
- package/src/ui/overlays/mailbox-compose-overlay.ts +0 -181
- package/src/ui/overlays/mailbox-compose-preview.ts +0 -78
- package/src/ui/overlays/mailbox-detail-overlay.ts +0 -154
- package/src/ui/pi-ui-compat.ts +0 -68
- package/src/ui/powerbar-publisher.ts +0 -459
- package/src/ui/render-coalescer.ts +0 -101
- package/src/ui/render-diff.ts +0 -160
- package/src/ui/render-scheduler.ts +0 -224
- package/src/ui/run-action-dispatcher.ts +0 -182
- package/src/ui/run-dashboard.ts +0 -913
- package/src/ui/run-event-bus.ts +0 -381
- package/src/ui/run-snapshot-cache.ts +0 -1057
- package/src/ui/settings-overlay.ts +0 -1067
- package/src/ui/snapshot-types.ts +0 -90
- package/src/ui/spinner.ts +0 -17
- package/src/ui/status-colors.ts +0 -143
- package/src/ui/syntax-highlight.ts +0 -136
- package/src/ui/terminal-status.ts +0 -269
- package/src/ui/theme-adapter.ts +0 -271
- package/src/ui/theme-discovery.ts +0 -199
- package/src/ui/tool-progress-formatter.ts +0 -93
- package/src/ui/tool-render.ts +0 -453
- package/src/ui/tool-renderers/brief-mode.ts +0 -225
- package/src/ui/tool-renderers/index.ts +0 -726
- package/src/ui/transcript-cache.ts +0 -128
- package/src/ui/transcript-entries.ts +0 -256
- package/src/ui/transcript-viewer.ts +0 -424
- package/src/ui/widget/index.ts +0 -357
- package/src/ui/widget/widget-formatters.ts +0 -182
- package/src/ui/widget/widget-model.ts +0 -110
- package/src/ui/widget/widget-renderer.ts +0 -182
- package/src/ui/widget/widget-types.ts +0 -36
- package/src/utils/bm25-search.ts +0 -235
- package/src/utils/completion-dedupe.ts +0 -63
- package/src/utils/conflict-detect.ts +0 -668
- package/src/utils/env-allowlist.ts +0 -30
- package/src/utils/env-filter.ts +0 -155
- package/src/utils/file-coalescer.ts +0 -98
- package/src/utils/fingerprint.ts +0 -180
- package/src/utils/frontmatter.ts +0 -70
- package/src/utils/fs-watch.ts +0 -37
- package/src/utils/gh-protocol.ts +0 -556
- package/src/utils/git.ts +0 -260
- package/src/utils/guards.ts +0 -107
- package/src/utils/ids.ts +0 -24
- package/src/utils/incremental-reader.ts +0 -220
- package/src/utils/internal-error.ts +0 -10
- package/src/utils/names.ts +0 -36
- package/src/utils/ndjson.ts +0 -115
- package/src/utils/paths.ts +0 -227
- package/src/utils/project-detector.ts +0 -160
- package/src/utils/redaction.ts +0 -347
- package/src/utils/resolve-shell.ts +0 -36
- package/src/utils/run-watcher-registry.ts +0 -152
- package/src/utils/safe-paths.ts +0 -383
- package/src/utils/scan-cache.ts +0 -144
- package/src/utils/session-utils.ts +0 -110
- package/src/utils/sleep.ts +0 -54
- package/src/utils/socket-path.ts +0 -127
- package/src/utils/sse-parser.ts +0 -129
- package/src/utils/task-name-generator.ts +0 -337
- package/src/utils/timings.ts +0 -33
- package/src/utils/token-counter.ts +0 -200
- package/src/utils/visual.ts +0 -207
- package/src/workflows/cost-estimator.ts +0 -34
- package/src/workflows/discover-workflows.ts +0 -290
- package/src/workflows/intermediate-store.ts +0 -166
- package/src/workflows/preflight-validator.ts +0 -168
- package/src/workflows/topology-analyzer.ts +0 -203
- package/src/workflows/validate-workflow.ts +0 -50
- package/src/workflows/workflow-config.ts +0 -70
- package/src/workflows/workflow-serializer.ts +0 -32
- package/src/worktree/branch-freshness.ts +0 -112
- package/src/worktree/cleanup.ts +0 -341
- package/src/worktree/worktree-manager.ts +0 -1200
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
# pi-crew Performance Baseline — 2026-05
|
|
2
|
-
|
|
3
|
-
Date captured: 2026-05-14
|
|
4
|
-
Branch: `perf/baseline-bench`
|
|
5
|
-
Environment:
|
|
6
|
-
- OS: Windows (`win32`)
|
|
7
|
-
- Node: v24.10.0
|
|
8
|
-
- npm: 11.6.1
|
|
9
|
-
- Pi: installed at `C:\Users\baphu\AppData\Roaming\npm\pi.ps1`
|
|
10
|
-
|
|
11
|
-
## How to capture
|
|
12
|
-
|
|
13
|
-
```powershell
|
|
14
|
-
cd pi-crew
|
|
15
|
-
npm install # if node_modules missing
|
|
16
|
-
npm run typecheck
|
|
17
|
-
npm run bench:capture # writes test/bench/baseline.json
|
|
18
|
-
npm run profile:startup # writes .profile/summary.json
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## How to verify against baseline (CI gate)
|
|
22
|
-
|
|
23
|
-
```powershell
|
|
24
|
-
npm run bench
|
|
25
|
-
npm run bench:check # fails if any p95 regresses > 15%
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Override threshold or baseline path:
|
|
29
|
-
|
|
30
|
-
```powershell
|
|
31
|
-
$env:THRESHOLD_PCT = 10 # tighter
|
|
32
|
-
$env:BASELINE = "test/bench/baseline-2026-05.json"
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Bench results (commit 2026-05-14, end of Sprint 1)
|
|
36
|
-
|
|
37
|
-
> Sprint 0 captured the original baseline; Sprint 1 re-captured at the
|
|
38
|
-
> end of the sprint. Subsequent sprint:check gates compare against this
|
|
39
|
-
> table (the JSON in `test/bench/baseline.json`).
|
|
40
|
-
|
|
41
|
-
### register-startup (cold load via child process, 20 iters)
|
|
42
|
-
|
|
43
|
-
| Metric | min | p50 | p95 | p99 | max |
|
|
44
|
-
|---|---|---|---|---|---|
|
|
45
|
-
| import (ms) | 513.76 | 528.15 | 542.49 | 542.49 | 566.58 |
|
|
46
|
-
| register (ms) | 23.32 | 24.27 | 25.49 | 25.49 | 26.45 |
|
|
47
|
-
|
|
48
|
-
### render-flush (200 events / iter, 100 iters)
|
|
49
|
-
|
|
50
|
-
| Metric | min | p50 | p95 | p99 | max |
|
|
51
|
-
|---|---|---|---|---|---|
|
|
52
|
-
| ms | 0.07 | 0.10 | 0.25 | 1.02 | 1.12 |
|
|
53
|
-
|
|
54
|
-
### snapshot-cache (10 tasks, 200 events, 50 iters)
|
|
55
|
-
|
|
56
|
-
| Metric | min | p50 | p95 | p99 | max |
|
|
57
|
-
|---|---|---|---|---|---|
|
|
58
|
-
| cold (ms) | 2.14 | 2.42 | 2.82 | 2.92 | 3.01 |
|
|
59
|
-
| warm (ms) | 2.16 | 2.41 | 2.70 | 2.75 | 3.99 |
|
|
60
|
-
|
|
61
|
-
### Delta vs Sprint-0 baseline
|
|
62
|
-
|
|
63
|
-
| Metric | Sprint 0 | Sprint 1 | Delta |
|
|
64
|
-
|---|---|---|---|
|
|
65
|
-
| register-startup.import.p95 | 655.39 | 542.49 | **−17.2 %** |
|
|
66
|
-
| register-startup.register.p95 | 27.51 | 25.49 | **−7.3 %** |
|
|
67
|
-
| render-flush.p95 | 0.36 | 0.25 | **−30.6 %** |
|
|
68
|
-
| snapshot-cache.cold.p95 | 3.06 | 2.82 | **−7.8 %** |
|
|
69
|
-
| snapshot-cache.warm.p95 | 3.06 | 2.70 | **−11.8 %** |
|
|
70
|
-
|
|
71
|
-
## Profile-startup (5 iters)
|
|
72
|
-
|
|
73
|
-
| Metric | Value |
|
|
74
|
-
|---|---|
|
|
75
|
-
| importMs | 609.48 |
|
|
76
|
-
| registerMs.p50 | 6.40 |
|
|
77
|
-
| registerMs.p95 | 9.02 |
|
|
78
|
-
| registerMs.max | 30.98 |
|
|
79
|
-
|
|
80
|
-
CPU profile: `.profile/startup-2026-05-14T14-38-20-180Z.cpuprofile` (open in Chrome DevTools → Performance → Load profile).
|
|
81
|
-
|
|
82
|
-
> `registerMs` is lower than the register-startup bench because the profile runs 5 iters in the same process (the module cache is warm after iter 1). The `register-startup` bench is what reflects the actual cold start.
|
|
83
|
-
|
|
84
|
-
## Sprint targets (vs. the baseline above)
|
|
85
|
-
|
|
86
|
-
| Metric | Baseline | Target after completing the full plan | Expected sprint |
|
|
87
|
-
|---|---|---|---|
|
|
88
|
-
| register-startup.import.p95 | 655 ms | ≤ 400 ms (lazy) / ≤ 200 ms (bundled) | 2 / 5 |
|
|
89
|
-
| register-startup.register.p95 | 27.5 ms | ≤ 25 ms (keep as-is) | — |
|
|
90
|
-
| render-flush.p95 | 0.36 ms | ≤ 0.5 ms (keep as-is) | — |
|
|
91
|
-
| snapshot-cache.cold.p95 | 3.06 ms | ≤ 2.1 ms (-30%) | 1, 2 |
|
|
92
|
-
| snapshot-cache.warm.p95 | 3.06 ms | ≤ 1.5 ms (-50%) | 1, 2 |
|
|
93
|
-
| dashboard FPS while a run is active | n/a | +50% | 3 |
|
|
94
|
-
| events.jsonl tail 32 KB parse p95 | n/a | < 5 ms | 2 |
|
|
95
|
-
| cancel round-trip | n/a | < 200 ms | 4 |
|
|
96
|
-
|
|
97
|
-
## Files committed for the gate
|
|
98
|
-
|
|
99
|
-
- `scripts/profile-startup.mjs` — CPU profile harness.
|
|
100
|
-
- `scripts/run-bench.mjs` — run all benches, collect to `results.json`.
|
|
101
|
-
- `scripts/bench-check.mjs` — gate; fails on > 15 % regression.
|
|
102
|
-
- `test/bench/register-startup.bench.ts`
|
|
103
|
-
- `test/bench/render-flush.bench.ts`
|
|
104
|
-
- `test/bench/snapshot-cache.bench.ts`
|
|
105
|
-
- `test/bench/baseline.json` — committed.
|
|
106
|
-
- `package.json` scripts: `bench`, `bench:check`, `bench:capture`, `profile:startup`.
|
|
107
|
-
- `.gitignore`: `.profile/`, `test/bench/results.json`, `*.cpuprofile`.
|
|
108
|
-
|
|
109
|
-
## Caveats
|
|
110
|
-
|
|
111
|
-
- The baseline was recorded on a single Windows machine. Other machines with different CPU/disk will produce different numbers. When you need to re-baseline (Node major bump, OS upgrade, different CI machine), copy `results.json → baseline.json` and write a new file `baseline-<date>.md`.
|
|
112
|
-
- The `register-startup` bench takes ~13 s (20 iters × 600 ms); keep it in CI. Locally you can set `BENCH_ITERS=5` for fast debugging.
|
|
113
|
-
- The bench does not run as part of `npm test` to keep the test suite fast; trigger it separately via `npm run bench` or a dedicated CI step.
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
# pi-crew Performance Upgrade — Final Report (2026-05)
|
|
2
|
-
|
|
3
|
-
Date: 2026-05-14
|
|
4
|
-
Branches: `perf/baseline-bench` → `perf/sprint-1` → `perf/sprint-2` →
|
|
5
|
-
`perf/sprint-2.5` → `perf/sprint-3` → `perf/sprint-4` → `perf/sprint-5` →
|
|
6
|
-
`perf/sprint-6-cleanup` → `perf/sprint-7-scaffolding`
|
|
7
|
-
Status: 7 sprint cycles + cleanup + scaffolding completed. 32 items
|
|
8
|
-
shipped + 3 ADRs proposed. 4 caller-migration TODOs remain (Sprint 7
|
|
9
|
-
ships the producer-side APIs they need).
|
|
10
|
-
|
|
11
|
-
## Cumulative bench delta (Sprint 0 → final)
|
|
12
|
-
|
|
13
|
-
| Metric | Sprint 0 baseline | Final | Delta |
|
|
14
|
-
|---|---|---|---|
|
|
15
|
-
| register-startup.import.p95 | 655.39 ms | 536.57 ms | **−18.1 %** |
|
|
16
|
-
| register-startup.register.p95 | 27.51 ms | 25.77 ms | **−6.3 %** |
|
|
17
|
-
| render-flush.p95 | 0.36 ms | ~0.27 ms | **−25 %** |
|
|
18
|
-
| snapshot-cache.cold.p95 | 3.06 ms | ~2.60 ms | **−15 %** |
|
|
19
|
-
| snapshot-cache.warm.p95 | 3.06 ms | ~2.55 ms | **−16.7 %** |
|
|
20
|
-
|
|
21
|
-
Numbers are end-of-Sprint-6 with the same Node v24.10.0 / Windows
|
|
22
|
-
hardware. The bundled ESM artifact (`dist/index.mjs`, ADR 0006) is
|
|
23
|
-
ready and verified loading — flipping `pi.extensions[]` to it is
|
|
24
|
-
projected to bring `register-startup.import.p95` to ≤ 250 ms after a
|
|
25
|
-
3-OS smoke pass.
|
|
26
|
-
|
|
27
|
-
## Items shipped per sprint
|
|
28
|
-
|
|
29
|
-
### Sprint 0 — Baseline & gate
|
|
30
|
-
|
|
31
|
-
- Bench harness (`test/bench/{register-startup,render-flush,snapshot-cache}.bench.ts`)
|
|
32
|
-
- Profile script (`scripts/profile-startup.mjs`)
|
|
33
|
-
- Bench-check gate (`scripts/bench-check.mjs`) — 15 % regression floor;
|
|
34
|
-
sub-ms metrics use absolute +0.5 ms cap to avoid noise
|
|
35
|
-
- Baseline JSON committed at `test/bench/baseline.json`
|
|
36
|
-
- Plan (`docs/perf/upgrade-plan-2026-05.md`) + baseline doc
|
|
37
|
-
- Bonus fix: pre-existing `// LAZY:` marker missing in
|
|
38
|
-
`src/runtime/background-runner.ts`
|
|
39
|
-
|
|
40
|
-
### Sprint 1 — Smooth UI, low risk (6 items)
|
|
41
|
-
|
|
42
|
-
- 1.4 events stamp via `.seq` sequence file
|
|
43
|
-
- 1.5 drop per-agent outputStamp from SnapshotStamps
|
|
44
|
-
- 1.8 per-segment powerbar dedup keying full payload
|
|
45
|
-
- 1.9 per-runId invalidate coalesce in RenderScheduler
|
|
46
|
-
- 1.1 renderTick zero-fs-IO
|
|
47
|
-
- 1.2 drop sync `refreshIfStale` fallback on hot render path
|
|
48
|
-
- 1.10 mascot pause idle — skipped (mascot is splash, not always-on)
|
|
49
|
-
|
|
50
|
-
### Sprint 2 — Cut I/O sync hot path (4 items)
|
|
51
|
-
|
|
52
|
-
- 2.10 cache findRepoRoot lookups (TTL-LRU 30 s)
|
|
53
|
-
- 2.7 lazy-load OTLPExporter, LiveRunSidebar, crash-recovery
|
|
54
|
-
- 4.1 keep metric-sink fd open per UTC date
|
|
55
|
-
- 2.3 lower events.jsonl rotation threshold 5 MB → 4 MB
|
|
56
|
-
- 4.4 sample task.progress 1/10 — skipped (existing
|
|
57
|
-
`shouldAppendProgressEventUpdate` is smarter than naive sampling)
|
|
58
|
-
|
|
59
|
-
### Sprint 2.5 — Deferred I/O items (1 item)
|
|
60
|
-
|
|
61
|
-
- 1.3 native fs.watch on `<crewRoot>/state` with poll fallback
|
|
62
|
-
- 2.1 atomic-write coalescer — deferred to durability sprint
|
|
63
|
-
- 2.2 events.jsonl buffer 20 ms — deferred to durability sprint
|
|
64
|
-
|
|
65
|
-
### Sprint 3 — Refactor & UI selectors (3 items)
|
|
66
|
-
|
|
67
|
-
- 5.1 test:unit `--test-concurrency=4 --test-isolation=process`
|
|
68
|
-
- 2.8 extract `src/runtime/adaptive-plan.ts` (team-runner.ts 57 KB → 43 KB)
|
|
69
|
-
- 2.9 extract `src/config/types.ts` (config.ts 38 KB → 34 KB)
|
|
70
|
-
- 1.6 dashboard pane independent rendering — deferred (UI selectors
|
|
71
|
-
follow-up)
|
|
72
|
-
- 1.7 memoized snapshot slice — deferred (depends on 1.6)
|
|
73
|
-
|
|
74
|
-
### Sprint 4 — Stability & telemetry (6 items)
|
|
75
|
-
|
|
76
|
-
- 3.4 atomic-write rename: jitter ±20 %, cap 8 retries
|
|
77
|
-
- 3.6 HeartbeatWatcher deadletter cooldown (default 60 s)
|
|
78
|
-
- 3.2 HeartbeatWatcher poll backoff: stale → 1 s, healthy → 5 s
|
|
79
|
-
- 4.3 pre-tuned histogram buckets for run/task duration + tokens
|
|
80
|
-
- 4.2 OTLP exporter gzips body
|
|
81
|
-
- 3.7 idempotent resume — already preserved by path-keyed artifact map
|
|
82
|
-
- 3.1, 3.5, 3.3, 3.8 — deferred (medium-risk, need stress harness)
|
|
83
|
-
|
|
84
|
-
### Sprint 5 — High-risk + ADRs (1 item + 3 ADRs)
|
|
85
|
-
|
|
86
|
-
- 5.2 npm run test:watch script
|
|
87
|
-
- ADR 0006 publish-bundled-esm (5.5) — Proposed
|
|
88
|
-
- ADR 0007 active-run-binary-index (2.4) — Proposed
|
|
89
|
-
- ADR 0008 child-pi-warm-pool (2.6) — Proposed
|
|
90
|
-
- 2.5 lazy materialize crew-agent-records — deferred (depends on 2.2)
|
|
91
|
-
|
|
92
|
-
### Sprint 6 — Cleanup of deferred items (7 items)
|
|
93
|
-
|
|
94
|
-
- 3.8 Windows taskkill verification + retry once if stuck
|
|
95
|
-
- 3.5 Fast-escalate to SIGKILL within 200 ms on explicit cancel
|
|
96
|
-
- 3.3 Mailbox auto-archive at 10 MB (jsonl rotation + reader walks
|
|
97
|
-
archives)
|
|
98
|
-
- 3.1 Soft backpressure watermark on child stdout (256 KB / 50 ms pause)
|
|
99
|
-
- 1.6 + 1.7 Per-slice signatures on `RunUiSnapshot.sliceSignatures` so
|
|
100
|
-
panes can short-circuit when their slice hasn't moved
|
|
101
|
-
- 5.5 esbuild bundle dual-ship — `scripts/build-bundle.mjs` produces
|
|
102
|
-
`dist/index.mjs` (~1.4 MB) + sourcemap; `pi.extensions[]` keeps
|
|
103
|
-
pointing at `index.ts` until 3-OS smoke; ready to flip
|
|
104
|
-
- 2.4 active-run-registry binary mirror via `node:v8` serialize/deserialize
|
|
105
|
-
with JSON dual-ship for legacy readers
|
|
106
|
-
|
|
107
|
-
### Sprint 7 — Scaffolding for last 4 deferred items (4 items)
|
|
108
|
-
|
|
109
|
-
- 2.2 `appendEventBuffered` + `flushEventLogBuffer` — refactors
|
|
110
|
-
appendEvent into appendEventInsideLock; buffered queue flushes a
|
|
111
|
-
whole batch under a single withEventLogLockSync acquire while
|
|
112
|
-
preserving the monotonic seq invariant.
|
|
113
|
-
- 2.1 `atomicWriteJsonCoalesced` + `flushPendingAtomicWrites` —
|
|
114
|
-
per-path 50 ms coalesce window with last-value-wins; auto-flush
|
|
115
|
-
on process.on(exit/SIGTERM/SIGINT).
|
|
116
|
-
- 2.5 `saveCrewAgentsCoalesced` + `writeCrewAgentStatusCoalesced` +
|
|
117
|
-
`flushPendingAgentWrites` — wraps 2.1 for crew-agent-records.
|
|
118
|
-
- 2.6 `src/runtime/child-pi-pool.ts` skeleton — flag + interface
|
|
119
|
-
(`acquirePooledChild` / `releasePooledChild` / `disposeWarmPool` +
|
|
120
|
-
`resolveWarmPoolSize`). Returns null until Pi runtime gains
|
|
121
|
-
wait-for-prompt handshake (ADR 0008).
|
|
122
|
-
|
|
123
|
-
## Caller-migration TODOs (after Sprint 7)
|
|
124
|
-
|
|
125
|
-
The producer-side APIs are now in place. The 4 remaining "make the
|
|
126
|
-
default path use them" tasks each require their own integration test
|
|
127
|
-
harness so they ride out on follow-up branches:
|
|
128
|
-
|
|
129
|
-
| ID | Migration | Producer API ready in |
|
|
130
|
-
|---|---|---|
|
|
131
|
-
| 2.1 caller | switch `saveRunTasks` mergeTaskUpdates loop to `atomicWriteJsonCoalesced` | Sprint 7 (b8fe5d9) |
|
|
132
|
-
| 2.2 caller | switch `task.progress` events in team-runner / task-runner to `appendEventBuffered` | Sprint 7 (34d8652) |
|
|
133
|
-
| 2.5 caller | switch progress hook to `writeCrewAgentStatusCoalesced` and aggregate to `saveCrewAgentsCoalesced` | Sprint 7 (ddb77f7) |
|
|
134
|
-
| 2.6 impl | flip `acquirePooledChild` from null-stub to actual pool once Pi supports the `PI_CREW_POOL_HEALTH=1` handshake | Sprint 7 (69d135d) |
|
|
135
|
-
| 1.6 / 1.7 panes | dashboard panes read `snapshot.sliceSignatures.<slice>` and short-circuit | Sprint 6 (d2d76cb) |
|
|
136
|
-
| 5.5 entry-flip | `pi.extensions[]` → `./dist/index.mjs` after 3-OS smoke | Sprint 6 (2ef4012) |
|
|
137
|
-
|
|
138
|
-
## Test surface
|
|
139
|
-
|
|
140
|
-
- 1578 / 1580 unit test cases pass (2 skipped, 0 fail) under
|
|
141
|
-
concurrency=4 isolation=process.
|
|
142
|
-
- Wall time `npm run test:unit`: ~63 s on Windows.
|
|
143
|
-
- New tests added across sprints:
|
|
144
|
-
- `render-scheduler.test.ts`: +2 invalidate-coalesce cases (1.9)
|
|
145
|
-
- `powerbar-publisher.test.ts`: +1 dedup case (1.8)
|
|
146
|
-
- `paths.test.ts`: +1 cache case (2.10)
|
|
147
|
-
- `fs-watch.test.ts`: +2 cases for native watcher (1.3)
|
|
148
|
-
|
|
149
|
-
## Tooling delta
|
|
150
|
-
|
|
151
|
-
- `package.json`: +5 scripts (`bench`, `bench:check`, `bench:capture`,
|
|
152
|
-
`profile:startup`, `test:watch`).
|
|
153
|
-
- `scripts/`: +3 mjs files for bench harness + profile.
|
|
154
|
-
- `test/bench/`: +3 .bench.ts files + `baseline.json`.
|
|
155
|
-
- `.gitignore`: ignore `.profile/`, `test/bench/results.json`,
|
|
156
|
-
`*.cpuprofile`.
|
|
157
|
-
|
|
158
|
-
## Files (new)
|
|
159
|
-
|
|
160
|
-
- `docs/perf/upgrade-plan-2026-05.md`
|
|
161
|
-
- `docs/perf/baseline-2026-05.md`
|
|
162
|
-
- `docs/perf/sprint-{1,2,2.5,3,4,5}-report.md`
|
|
163
|
-
- `docs/perf/final-report-2026-05.md` (this file)
|
|
164
|
-
- `docs/decisions/0006-publish-bundled-esm.md`
|
|
165
|
-
- `docs/decisions/0007-active-run-binary-index.md`
|
|
166
|
-
- `docs/decisions/0008-child-pi-warm-pool.md`
|
|
167
|
-
- `src/runtime/adaptive-plan.ts`
|
|
168
|
-
- `src/config/types.ts`
|
|
169
|
-
- `scripts/profile-startup.mjs`, `scripts/run-bench.mjs`,
|
|
170
|
-
`scripts/bench-check.mjs`
|
|
171
|
-
- `test/bench/{register-startup,render-flush,snapshot-cache}.bench.ts`
|
|
172
|
-
- `test/bench/baseline.json`
|
|
173
|
-
|
|
174
|
-
## Files (modified)
|
|
175
|
-
|
|
176
|
-
- `src/extension/register.ts` — 2.7 (lazy phase 2), 1.1, 1.3, 2.10
|
|
177
|
-
- `src/ui/run-snapshot-cache.ts` — 1.4, 1.5
|
|
178
|
-
- `src/ui/render-scheduler.ts` — 1.9
|
|
179
|
-
- `src/ui/powerbar-publisher.ts` — 1.8, 1.2
|
|
180
|
-
- `src/ui/crew-widget.ts` — 1.2
|
|
181
|
-
- `src/utils/paths.ts` — 2.10
|
|
182
|
-
- `src/utils/fs-watch.ts` — 1.3
|
|
183
|
-
- `src/observability/metric-sink.ts` — 4.1
|
|
184
|
-
- `src/observability/event-to-metric.ts` — 4.3
|
|
185
|
-
- `src/observability/exporters/otlp-exporter.ts` — 4.2
|
|
186
|
-
- `src/state/atomic-write.ts` — 3.4
|
|
187
|
-
- `src/state/event-log-rotation.ts` — 2.3
|
|
188
|
-
- `src/runtime/heartbeat-watcher.ts` — 3.2, 3.6
|
|
189
|
-
- `src/runtime/team-runner.ts` — 2.8 (extracted adaptive-plan)
|
|
190
|
-
- `src/runtime/background-runner.ts` — fix LAZY marker
|
|
191
|
-
- `src/config/config.ts` — 2.9 (extracted types)
|
|
192
|
-
- `package.json` — bench scripts + test concurrency
|
|
193
|
-
- `.gitignore` — bench artifacts
|
|
194
|
-
- `scripts/bench-check.mjs` — sub-ms gate
|
|
195
|
-
|
|
196
|
-
## Recommended follow-ups (in priority order)
|
|
197
|
-
|
|
198
|
-
1. **Flip `pi.extensions[]` to `./dist/index.mjs` after 3-OS smoke** —
|
|
199
|
-
ADR 0006 is shipped and verified; flipping the entrypoint is the
|
|
200
|
-
biggest remaining lever for cold start (projected p95 ≤ 250 ms).
|
|
201
|
-
2. **Migrate dashboard panes to consume `snapshot.sliceSignatures.<slice>`** —
|
|
202
|
-
per-pane refactor; framework is in place from Sprint 6.
|
|
203
|
-
3. **Durability coalescers (2.1 + 2.2)** — own branch with crash-recovery
|
|
204
|
-
integration test harness.
|
|
205
|
-
4. **Lazy materialize crew-agent-records (2.5)** — once 2.2 lands.
|
|
206
|
-
5. **Child-pi warm pool (2.6)** — ADR 0008; needs soak harness.
|