pi-crew 0.11.1 → 0.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -9
- package/README.md +161 -1036
- package/agents/verifier.md +18 -7
- package/dist/index.mjs +744 -91462
- package/docs/README.md +57 -46
- package/docs/architecture.md +87 -33
- package/docs/commands-reference.md +9 -5
- package/docs/troubleshooting.md +3 -2
- package/package.json +1 -3
- package/schema.json +29 -0
- package/skills/real-test-pi-crew/SKILL.md +193 -36
- package/src/agents/agent-config.ts +1 -1
- package/src/agents/discover-agents.ts +1 -1
- package/src/config/config-validation.ts +15 -0
- package/src/config/config.ts +47 -13
- package/src/config/env-vars.ts +35 -0
- package/src/config/types.ts +19 -0
- package/src/errors.ts +2 -2
- package/src/extension/async-notifier.ts +23 -0
- package/src/extension/help.ts +21 -10
- package/src/extension/knowledge-injection.ts +2 -1
- package/src/extension/management.ts +8 -3
- package/src/extension/notification-sink.ts +17 -0
- package/src/extension/registration/command-utils.ts +28 -2
- package/src/extension/registration/commands/dashboard.ts +11 -1
- package/src/extension/registration/commands/manage.ts +31 -15
- package/src/extension/registration/commands/run.ts +24 -2
- package/src/extension/registration/commands/shared.ts +23 -0
- package/src/extension/registration/commands/status.ts +25 -2
- package/src/extension/registration/context-builder.ts +8 -2
- package/src/extension/registration/health-notify-policy.ts +100 -0
- package/src/extension/registration/lazy-configurers.ts +35 -0
- package/src/extension/registration/lifecycle-handlers.ts +91 -30
- package/src/extension/registration/lifecycle.ts +75 -10
- package/src/extension/registration/observability.ts +98 -35
- package/src/extension/registration/registration-types.ts +7 -5
- package/src/extension/registration/runtime-cleanup.ts +9 -3
- package/src/extension/registration/subagent-helpers.ts +38 -0
- package/src/extension/registration/wire-cross-extension.ts +28 -0
- package/src/extension/run-compare.ts +220 -0
- package/src/extension/run-export.ts +37 -5
- package/src/extension/run-maintenance.ts +155 -5
- package/src/extension/team-tool/dispatch/index.ts +3 -2
- package/src/extension/team-tool/dispatch/manage.ts +5 -2
- package/src/extension/team-tool/goal.ts +4 -1
- package/src/extension/team-tool/handle-settings.ts +19 -2
- package/src/extension/team-tool/health-monitor.ts +21 -7
- package/src/extension/team-tool/lifecycle-actions.ts +49 -1
- package/src/extension/team-tool/plan.ts +10 -0
- package/src/extension/team-tool/routing-hint.ts +63 -0
- package/src/extension/team-tool/status.ts +4 -0
- package/src/extension/team-tool.ts +52 -6
- package/src/extension/webhook-notify.ts +382 -0
- package/src/observability/metric-sink.ts +12 -2
- package/src/prompt/prompt-runtime.ts +82 -31
- package/src/prompt/worker-events-channel.ts +12 -0
- package/src/runtime/README.md +1 -1
- package/src/runtime/async-runner.ts +87 -1
- package/src/runtime/background-runner.ts +313 -234
- package/src/runtime/broker/crew-broker.ts +17 -11
- package/src/runtime/broker/delegate/shadow-lifecycle.ts +92 -0
- package/src/runtime/broker/wait-status-cache.ts +1 -1
- package/src/runtime/child-pi/child-pi-timers.ts +1 -1
- package/src/runtime/child-pi/mock-fixtures.ts +48 -0
- package/src/runtime/crew-agent-records.ts +337 -45
- package/src/runtime/deadletter.ts +43 -1
- package/src/runtime/delegate-spawn.ts +5 -1
- package/src/runtime/dispatch-batch.ts +72 -5
- package/src/runtime/goal-workflow/goal-loop-runner.ts +73 -4
- package/src/runtime/heartbeat/heartbeat-watcher.ts +7 -0
- package/src/runtime/model/model-fallback.ts +21 -1
- package/src/runtime/model/pi-args.ts +8 -10
- package/src/runtime/recovery/crash-recovery.ts +25 -1
- package/src/runtime/run-worker.ts +12 -1
- package/src/runtime/scheduling/global-worker-cap.ts +13 -6
- package/src/runtime/scheduling/run-coalesced-task-group.ts +27 -1
- package/src/runtime/scheduling/scheduler.ts +49 -13
- package/src/runtime/scheduling/semaphore.ts +148 -20
- package/src/runtime/scratchpad/README.md +1 -1
- package/src/runtime/scratchpad/protocol.ts +1 -1
- package/src/runtime/settings-store.ts +1 -1
- package/src/runtime/skill-instructions.ts +22 -0
- package/src/runtime/stale-reconciler.ts +85 -13
- package/src/runtime/task-runner/pre-execution.ts +26 -2
- package/src/runtime/task-runner/prompt-builder.ts +142 -45
- package/src/runtime/task-runner.ts +21 -1
- package/src/runtime/team-runner.ts +38 -1
- package/src/runtime/workspace-lock.ts +4 -1
- package/src/schema/config-schema.ts +14 -0
- package/src/schema/team-tool-schema.ts +17 -0
- package/src/state/atomic-write.ts +53 -0
- package/src/state/contracts.ts +109 -0
- package/src/state/coordination/locks.ts +191 -33
- package/src/state/coordination/mailbox.ts +140 -15
- package/src/state/crew-init.ts +87 -12
- package/src/state/event-log/cursor.ts +37 -1
- package/src/state/event-log/event-log-rotation.ts +72 -7
- package/src/state/stores/active-run-registry.ts +13 -1
- package/src/state/stores/state-store.ts +112 -22
- package/src/state/types.ts +4 -0
- package/src/ui/dashboard-panes/agents-pane.ts +11 -2
- package/src/ui/heartbeat-aggregator.ts +34 -0
- package/src/ui/keybinding-map.ts +22 -4
- package/src/ui/live-conversation-overlay.ts +6 -3
- package/src/ui/run-dashboard.ts +98 -5
- package/src/ui/run-snapshot-cache.ts +18 -1
- package/src/ui/spinner.ts +26 -2
- package/src/ui/tool-progress-formatter.ts +2 -1
- package/src/ui/tool-renderers/brief-mode.ts +2 -1
- package/src/ui/tool-renderers/index.ts +3 -3
- package/src/utils/incremental-reader.ts +11 -3
- package/src/utils/paths.ts +94 -12
- package/src/utils/project-markers.ts +40 -0
- package/src/worktree/worktree-manager.ts +206 -26
- package/workflows/distill.workflow.md +3 -3
- package/workflows/fast-fix.workflow.md +1 -1
- package/workflows/plan-execute.workflow.md +1 -1
- package/workflows/review.workflow.md +1 -1
- package/workflows/strict-fast-fix.workflow.md +1 -1
- package/docs/migration-v0.4-v0.5.md +0 -208
- package/docs/runtime-flow.md +0 -148
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [Unreleased]
|
|
4
|
+
|
|
5
|
+
## [0.11.2] — runtime hygiene, in-process async test seam, slash-command fixes (2026-09-26)
|
|
6
|
+
|
|
7
|
+
### runtime: ambient-noise + temp-workspace hygiene + in-process async test seam
|
|
8
|
+
|
|
9
|
+
- **Ambient notification false-positives (guest `gc-*` subagents)**: the heartbeat watcher and the UI heartbeat aggregator no longer treat delegate-owned guest tasks as worker heartbeats — guests have no heartbeat channel (their lifecycle is `delegate.requested/admitted/completed`); fires were observed 52ms after admit. Skipped at both independent layers (`heartbeat-watcher.ts`, `heartbeat-aggregator.ts`), each with a guard-test proving a genuinely-missing real worker is still flagged.
|
|
10
|
+
- **Temp-workspace hygiene** (live triage: health `running=144`, ~3.4k `pi-crew-*` tmpdirs, frozen reconciler): the orphan sweep batch now rotates statelessly (`floor(now/60s) % batches`) so an alphabetically-first stuck cluster can no longer starve the dirs behind it; abandoned `.cleanup-in-progress` sentinels older than 10 minutes are reclaimed; the test runner sweeps pre-existing `pi-crew-*` debris (mtime < suiteStart−30min) after every suite — one choke point covering ~320 mkdtemp-using test files (opt-out `PI_CREW_TEST_NO_TMP_SWEEP=1`).
|
|
11
|
+
- **In-process async test seam**: `PI_CREW_TEST_ASYNC_INLINE=1` + `PI_CREW_ALLOW_MOCK=1` (double gate; production sets neither) executes async runs in-process instead of spawning a detached background-runner — the run logic is now an exported `executeBackgroundRun()` core shared verbatim by the detached runner and the seam, and `main()` is entry-guarded (`PI_CREW_BACKGROUND_RUNNER_ENTRY` or argv entry check) so importing the module runs nothing. Kills the Windows Defender first-spawn stall (`subagent-tools-integration`: 5+min stall-prone → 14/14 in 37s) and the orphan-runner tmpdir leak (in-process runs die with the test process). See `docs/decisions/2026-09-26-inline-async-test-seam.md`.
|
|
12
|
+
|
|
13
|
+
### slash-commands usability fixes
|
|
14
|
+
|
|
15
|
+
- `/team-respond` now guards its arguments (`<runId> <taskId|--all> <message>`) with a usage message instead of surfacing an opaque tool error.
|
|
16
|
+
- `/team-goal` metadata is honest: description lists the real sub-actions (`cancel`, `reset`, default `status`) and first-argument completions suggest them.
|
|
17
|
+
- `/team-metrics` appends a hint when the snapshot is empty — naming observability as the likely cause and the `observability: true` enable path.
|
|
18
|
+
- `/team-dashboard` in a headless session now notifies that it needs a UI (suggesting `/team-status`) instead of silently doing nothing.
|
|
19
|
+
- Notification truncation is explicit: clipped output ends with `… [truncated]`, still capped at 800 chars; `/team-events` appends the on-disk events log path when truncated so the full log stays reachable.
|
|
20
|
+
- `/skill-create` resolution is ESM-safe (`import.meta.url` walk-up replacing `require.resolve`/`__dirname`) and works identically under strip-types and the bundle; missing/unknown template ids now list the available template ids.
|
|
21
|
+
- `/team-help` resynced to the real command surface (all 38 team commands + pointer to the 5 non-team commands).
|
|
22
|
+
- `docs/commands-reference.md` truth-synced: phantom `/team-cleanup` removed, `/team-respond`//`/team-follow-up`//`/team-invalidate` args fixed, `/team-vibes` reduced to its real `[on|off]` surface, `/schedules`//`/skill-list`//`/skill-create`//`/crew-brief`//`/team-cleanup-menu` documented — locked by a new docs↔code set-equality parity test.
|
|
23
|
+
- New handler tests: team-respond guard, team-goal metadata, command output hints (truncation/dashboard/metrics), skill-create ESM resolution, team-vibes (status/on/off/usage-error).
|
|
24
|
+
|
|
25
|
+
### docs: lean docs tree
|
|
26
|
+
|
|
27
|
+
- README rewritten as a lean landing page (1099 → 206 lines): the changelog-duplicate section, full config dump, and action/command tables are replaced by links to their single sources; stale claims corrected (55 actions, 18 agents). The "⚠️ IMPORTANT — Read before using" warning is restored as a compact callout (same honest framing, details delegated to trust-model/security-issues/limitations).
|
|
28
|
+
- Dated point-in-time docs (audits, plans, fix specs, roadmaps, migration guides) moved to `docs/archive/`; perf analyses to `docs/perf/`; `docs/README.md` rebuilt as a three-group index (Start here / Reference / Records).
|
|
29
|
+
- `runtime-flow.md` folded into `architecture.md` ("Runtime flow"); the stale `v0.10.3` version header dropped.
|
|
30
|
+
- Error-code range corrected to E001–E013 everywhere (E013 `ModelOutOfScope` shipped undocumented).
|
|
31
|
+
- Cross-references updated repo-wide (docs, src/test comments, runtime warning string, tarball whitelist); `migration-v0.4-v0.5.md` and `runtime-flow.md` dropped from the npm file whitelist.
|
|
32
|
+
|
|
3
33
|
> **Note:** `atomic-write-v2.ts` / `AtomicWriter` mentioned in historical entries below was consolidated into `atomic-write.ts` as of v0.9.42. This changelog is preserved as historical record — the migration was completed (the v2 class was never adopted; v1 won on simplicity + symlink-safety + link+unlink atomicity). See `docs/migration/atomic-write-v2-migration.md` for the decision rationale.
|
|
4
34
|
|
|
5
35
|
## [0.11.1] — RAIL: one UI design language for every surface + UI-audit fixes (2026-09-16)
|
|
@@ -860,7 +890,7 @@ waiting-producer-ask, spec-system (+ round-1 errata).
|
|
|
860
890
|
Branch `refactor/maintainability`: 16-round audit → 5-phase refactor →
|
|
861
891
|
finding-by-finding sweep → full remediation of every open finding (Waves
|
|
862
892
|
1A/1B/2A/2B/B/C). Full execution log with commit map:
|
|
863
|
-
`docs/refactor-plan.md`. Audit inventory: `docs/refactor-plan.review.md`.
|
|
893
|
+
`docs/archive/refactor-plan.md`. Audit inventory: `docs/archive/refactor-plan.review.md`.
|
|
864
894
|
|
|
865
895
|
### Security (config tiering)
|
|
866
896
|
- Schema-driven project-config sanitize: `sensitive:true` drop-list +
|
|
@@ -923,8 +953,8 @@ finding-by-finding sweep → full remediation of every open finding (Waves
|
|
|
923
953
|
|
|
924
954
|
## [0.9.68] — RLM fixes after deep-review verification (2026-08-12)
|
|
925
955
|
|
|
926
|
-
Fixes from `docs/rlm-deep-review-2026-08-12.md` (verified) +
|
|
927
|
-
`docs/rlm-fixes-implementation-plan.md`. Each code part loop-reviewed (3
|
|
956
|
+
Fixes from `docs/archive/rlm-deep-review-2026-08-12.md` (verified) +
|
|
957
|
+
`docs/archive/rlm-fixes-implementation-plan.md`. Each code part loop-reviewed (3
|
|
928
958
|
parallel reviewers: security/correctness/tests, read-only) before merge here.
|
|
929
959
|
|
|
930
960
|
### Fixes
|
|
@@ -971,7 +1001,7 @@ parallel reviewers: security/correctness/tests, read-only) before merge here.
|
|
|
971
1001
|
|
|
972
1002
|
## [0.9.67] — RLM/scratchpad adoption batch (I1–I7) (2026-08-11)
|
|
973
1003
|
|
|
974
|
-
First shippable slice of `improvement-plan-2026-08-11.md` — the scratchpad was
|
|
1004
|
+
First shippable slice of `docs/archive/improvement-plan-2026-08-11.md` — the scratchpad was
|
|
975
1005
|
armed-but-unused (0 cells in 14 runs); this batch fixes the doctrine, adds an
|
|
976
1006
|
adoption/value metric, and ports the pattern-12 shell guard. Each item was
|
|
977
1007
|
loop-reviewed (iterative-audit) before commit; `test:critical` 101/0, 129
|
|
@@ -1221,10 +1251,10 @@ Six fixes distilled from the `real-test-pi-crew` 9-tier battery (run 2026-08-10)
|
|
|
1221
1251
|
- **Notifier/session-summary (`src/extension/async-notifier.ts`, `session-summary.ts`)**: filter `listRuns` theo `ownerSessionId` trước notify — session B không còn toast về run của A.
|
|
1222
1252
|
- **Health filter (#3)**: `ctx.currentCtx?.sessionManager?.getSessionId()` + bỏ dead clause `ownerSessionGeneration` (field không tồn tại trên `TeamRunManifest`) — trước đó silently drop tất cả owned runs.
|
|
1223
1253
|
- Verified end-to-end theo skill `real-test-pi-crew`: `test:critical` 101/101, 3-path kill-switch green, typecheck + bundle + md5 sync OK, live TUI (tmux + pty) render không crash, smoke verifier 52s (<300s, no hang), full feature battery (team tool 9a–9f + subagent tools) clean — zero `Unknown type`/`Validation failed`. 6837 unit + 214 integration tests pass.
|
|
1224
|
-
- Lưu ý: `#12` (DeliveryCoordinator) infrastructure staged nhưng inert — `deliver*` không có production caller, nên queue không bao giờ được feed. Documented trong `docs/cross-session-leak-fix-plan.md`.
|
|
1254
|
+
- Lưu ý: `#12` (DeliveryCoordinator) infrastructure staged nhưng inert — `deliver*` không có production caller, nên queue không bao giờ được feed. Documented trong `docs/archive/cross-session-leak-fix-plan.md`.
|
|
1225
1255
|
|
|
1226
1256
|
### Docs
|
|
1227
|
-
- `docs/cross-session-leak-audit.md` (audit re-verify: 2/2 root cause CONFIRMED, 12/13 vector CONFIRMED, #3 REFUTED) + `docs/cross-session-leak-fix-plan.md` (phased plan, reviewed).
|
|
1257
|
+
- `docs/archive/cross-session-leak-audit.md` (audit re-verify: 2/2 root cause CONFIRMED, 12/13 vector CONFIRMED, #3 REFUTED) + `docs/archive/cross-session-leak-fix-plan.md` (phased plan, reviewed).
|
|
1228
1258
|
|
|
1229
1259
|
## [0.9.58] — fix load crash on stale hoisted typebox: defensive guard + bundle vendoring (survives `pi update`) + round-1/round-2 fixes (2026-08-04)
|
|
1230
1260
|
|
|
@@ -6580,7 +6610,7 @@ Note: `src/runtime/parent-guard.ts:37` left as-is — that's an exit-time log th
|
|
|
6580
6610
|
- **CHANGELOG.md** — Added the v0.5.5 entry covering all 13 rounds of code review hardening (this entry).
|
|
6581
6611
|
- **SECURITY-ISSUES.md** — Bumped to v2.0, added v0.5.5 round-13 findings table (8 new issues closed).
|
|
6582
6612
|
- **docs/architecture.md** — Cross-references v0.5.5 and `docs/pi-crew-v0.5.5-audit-fix-plan.md`.
|
|
6583
|
-
- **docs/migration-v0.4-v0.5.md** — Added v0.5.5 highlights (no breaking changes; drop-in replacement).
|
|
6613
|
+
- **docs/archive/migration-v0.4-v0.5.md** — Added v0.5.5 highlights (no breaking changes; drop-in replacement).
|
|
6584
6614
|
|
|
6585
6615
|
### Fixes
|
|
6586
6616
|
|
|
@@ -6749,7 +6779,7 @@ correctness+error-handling, and performance+architecture audits across 77 source
|
|
|
6749
6779
|
- Improved consistency in section naming
|
|
6750
6780
|
|
|
6751
6781
|
### Documentation
|
|
6752
|
-
- Added `docs/migration-v0.4-v0.5.md` - comprehensive migration guide
|
|
6782
|
+
- Added `docs/archive/migration-v0.4-v0.5.md` - comprehensive migration guide
|
|
6753
6783
|
- Updated `docs/deep-review-report.md` - complete issue tracking
|
|
6754
6784
|
|
|
6755
6785
|
### Dependencies
|
|
@@ -7431,7 +7461,7 @@ correctness+error-handling, and performance+architecture audits across 77 source
|
|
|
7431
7461
|
- docs/pi-crew-bugs.md: v0.5.22 + historical note
|
|
7432
7462
|
- docs/TEST_MATRIX.md: test count updated to 2703
|
|
7433
7463
|
- docs/deep-review-report.md: marked historical
|
|
7434
|
-
- docs/migration-v0.4-v0.5.md: drop-in replacement note
|
|
7464
|
+
- docs/archive/migration-v0.4-v0.5.md: drop-in replacement note
|
|
7435
7465
|
|
|
7436
7466
|
### CI
|
|
7437
7467
|
- `.github/workflows/ci.yml`: typecheck step re-enabled (was disabled since v0.3.x)
|