pi-squad 0.16.6 → 0.17.0
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/README.md +26 -3
- package/docs/behavioral-contract-exact-targeting-review-suspended-attention.md +204 -0
- package/docs/file-spec-and-full-read-attestation-contract.md +412 -0
- package/docs/fleet-bridge.md +79 -0
- package/package.json +2 -1
- package/src/agent-pool.ts +16 -4
- package/src/file-spec.ts +451 -0
- package/src/index.ts +209 -83
- package/src/panel/squad-widget.ts +16 -7
- package/src/panel/task-list.ts +10 -0
- package/src/presentation.ts +38 -0
- package/src/protocol.ts +21 -0
- package/src/review.ts +19 -6
- package/src/scheduler.ts +211 -18
- package/src/skills/squad-supervisor/SKILL.md +6 -1
- package/src/store.ts +39 -2
- package/src/types.ts +18 -1
package/src/types.ts
CHANGED
|
@@ -85,6 +85,17 @@ export interface SquadReview {
|
|
|
85
85
|
issues: string[];
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
+
export interface SuspendedStallAttention {
|
|
89
|
+
kind: "suspended_stall";
|
|
90
|
+
/** Canonical identity of the exact suspended/blocked task sets. */
|
|
91
|
+
fingerprint: string;
|
|
92
|
+
suspendedTaskIds: string[];
|
|
93
|
+
blockedTaskIds: string[];
|
|
94
|
+
detectedAt: string;
|
|
95
|
+
delivery: "pending" | "delivered";
|
|
96
|
+
deliveredAt: string | null;
|
|
97
|
+
}
|
|
98
|
+
|
|
88
99
|
export interface SquadConfig {
|
|
89
100
|
maxConcurrency: number;
|
|
90
101
|
autoUnblock: boolean;
|
|
@@ -112,10 +123,14 @@ export interface Squad {
|
|
|
112
123
|
/** Agent name → overrides. Keys must exist in .pi/squad/agents/ */
|
|
113
124
|
agents: Record<string, SquadAgentEntry>;
|
|
114
125
|
config: SquadConfig;
|
|
126
|
+
/** Immutable canonical contract for file-based squads; absent for legacy inline squads. */
|
|
127
|
+
spec?: { schemaVersion: 1; sha256: string; bytes: number; path: string; chunkBytes: 32768; chunkCount: number };
|
|
115
128
|
/** Mandatory independent main-session review; absent while rework is running. */
|
|
116
129
|
review?: SquadReview;
|
|
117
130
|
/** Completed prior review attempts retained as same-squad audit evidence. */
|
|
118
131
|
reviewHistory?: SquadReview[];
|
|
132
|
+
/** Durable, level-triggered attention for an explicit-suspension stall. */
|
|
133
|
+
suspendedStallAttention?: SuspendedStallAttention;
|
|
119
134
|
}
|
|
120
135
|
|
|
121
136
|
// ============================================================================
|
|
@@ -157,6 +172,8 @@ export interface Task {
|
|
|
157
172
|
usage: TaskUsage;
|
|
158
173
|
/** Durable Pi context for this task. Absent until its first process creates a session. */
|
|
159
174
|
session?: TaskSession;
|
|
175
|
+
/** Dynamic task delta created after immutable file-spec publication. */
|
|
176
|
+
fileSpecDelta?: boolean;
|
|
160
177
|
/** If this is a rework task, the original task ID it's fixing */
|
|
161
178
|
retryOf?: string;
|
|
162
179
|
/** How many times this task chain has been retried */
|
|
@@ -285,7 +302,7 @@ export interface SupervisorResult {
|
|
|
285
302
|
// ============================================================================
|
|
286
303
|
|
|
287
304
|
export interface PlannerOutput {
|
|
288
|
-
agents: Record<string,
|
|
305
|
+
agents: Record<string, SquadAgentEntry>;
|
|
289
306
|
tasks: Array<{
|
|
290
307
|
id: string;
|
|
291
308
|
title: string;
|