pi-amq 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +66 -0
- package/LICENSE +21 -0
- package/README.md +92 -0
- package/THIRD_PARTY_NOTICES.md +33 -0
- package/dist/extension/guidance.d.ts +25 -0
- package/dist/extension/guidance.d.ts.map +1 -0
- package/dist/extension/guidance.js +121 -0
- package/dist/extension/guidance.js.map +1 -0
- package/dist/extension/guide.d.ts +30 -0
- package/dist/extension/guide.d.ts.map +1 -0
- package/dist/extension/guide.js +128 -0
- package/dist/extension/guide.js.map +1 -0
- package/dist/extension/index.d.ts +4 -0
- package/dist/extension/index.d.ts.map +1 -0
- package/dist/extension/index.js +6 -0
- package/dist/extension/index.js.map +1 -0
- package/dist/extension/runtime.d.ts +48 -0
- package/dist/extension/runtime.d.ts.map +1 -0
- package/dist/extension/runtime.js +1095 -0
- package/dist/extension/runtime.js.map +1 -0
- package/dist/extension/tools.d.ts +12 -0
- package/dist/extension/tools.d.ts.map +1 -0
- package/dist/extension/tools.js +198 -0
- package/dist/extension/tools.js.map +1 -0
- package/dist/extension/worker-runtime.d.ts +34 -0
- package/dist/extension/worker-runtime.d.ts.map +1 -0
- package/dist/extension/worker-runtime.js +974 -0
- package/dist/extension/worker-runtime.js.map +1 -0
- package/dist/extension/worker-tools.d.ts +140 -0
- package/dist/extension/worker-tools.d.ts.map +1 -0
- package/dist/extension/worker-tools.js +217 -0
- package/dist/extension/worker-tools.js.map +1 -0
- package/dist/integration/confirmed-bind-onboarding.d.ts +44 -0
- package/dist/integration/confirmed-bind-onboarding.d.ts.map +1 -0
- package/dist/integration/confirmed-bind-onboarding.js +199 -0
- package/dist/integration/confirmed-bind-onboarding.js.map +1 -0
- package/dist/integration/fleet-view.d.ts +66 -0
- package/dist/integration/fleet-view.d.ts.map +1 -0
- package/dist/integration/fleet-view.js +238 -0
- package/dist/integration/fleet-view.js.map +1 -0
- package/dist/integration/fresh-session-dispatcher.d.ts +66 -0
- package/dist/integration/fresh-session-dispatcher.d.ts.map +1 -0
- package/dist/integration/fresh-session-dispatcher.js +103 -0
- package/dist/integration/fresh-session-dispatcher.js.map +1 -0
- package/dist/integration/launch-preview.d.ts +31 -0
- package/dist/integration/launch-preview.d.ts.map +1 -0
- package/dist/integration/launch-preview.js +325 -0
- package/dist/integration/launch-preview.js.map +1 -0
- package/dist/integration/transport-port.d.ts +39 -0
- package/dist/integration/transport-port.d.ts.map +1 -0
- package/dist/integration/transport-port.js +2 -0
- package/dist/integration/transport-port.js.map +1 -0
- package/dist/integration/worker-completion-notifier.d.ts +22 -0
- package/dist/integration/worker-completion-notifier.d.ts.map +1 -0
- package/dist/integration/worker-completion-notifier.js +81 -0
- package/dist/integration/worker-completion-notifier.js.map +1 -0
- package/dist/transport/amq-cli-adapter.d.ts +41 -0
- package/dist/transport/amq-cli-adapter.d.ts.map +1 -0
- package/dist/transport/amq-cli-adapter.js +291 -0
- package/dist/transport/amq-cli-adapter.js.map +1 -0
- package/dist/transport/amq-message.d.ts +47 -0
- package/dist/transport/amq-message.d.ts.map +1 -0
- package/dist/transport/amq-message.js +173 -0
- package/dist/transport/amq-message.js.map +1 -0
- package/dist/transport/amq-operations.d.ts +105 -0
- package/dist/transport/amq-operations.d.ts.map +1 -0
- package/dist/transport/amq-operations.js +320 -0
- package/dist/transport/amq-operations.js.map +1 -0
- package/dist/transport/atomic-json.d.ts +18 -0
- package/dist/transport/atomic-json.d.ts.map +1 -0
- package/dist/transport/atomic-json.js +90 -0
- package/dist/transport/atomic-json.js.map +1 -0
- package/dist/transport/binding-resolver.d.ts +46 -0
- package/dist/transport/binding-resolver.d.ts.map +1 -0
- package/dist/transport/binding-resolver.js +389 -0
- package/dist/transport/binding-resolver.js.map +1 -0
- package/dist/transport/bridge-journal.d.ts +100 -0
- package/dist/transport/bridge-journal.d.ts.map +1 -0
- package/dist/transport/bridge-journal.js +459 -0
- package/dist/transport/bridge-journal.js.map +1 -0
- package/dist/transport/dlq-retry-audit.d.ts +28 -0
- package/dist/transport/dlq-retry-audit.d.ts.map +1 -0
- package/dist/transport/dlq-retry-audit.js +66 -0
- package/dist/transport/dlq-retry-audit.js.map +1 -0
- package/dist/transport/inbox-pump.d.ts +81 -0
- package/dist/transport/inbox-pump.d.ts.map +1 -0
- package/dist/transport/inbox-pump.js +558 -0
- package/dist/transport/inbox-pump.js.map +1 -0
- package/dist/transport/index.d.ts +12 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +12 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/presence-projector.d.ts +29 -0
- package/dist/transport/presence-projector.d.ts.map +1 -0
- package/dist/transport/presence-projector.js +73 -0
- package/dist/transport/presence-projector.js.map +1 -0
- package/dist/transport/priority-delivery-scheduler.d.ts +85 -0
- package/dist/transport/priority-delivery-scheduler.d.ts.map +1 -0
- package/dist/transport/priority-delivery-scheduler.js +210 -0
- package/dist/transport/priority-delivery-scheduler.js.map +1 -0
- package/dist/transport/receiver-lease.d.ts +102 -0
- package/dist/transport/receiver-lease.d.ts.map +1 -0
- package/dist/transport/receiver-lease.js +778 -0
- package/dist/transport/receiver-lease.js.map +1 -0
- package/dist/transport/runtime-status.d.ts +48 -0
- package/dist/transport/runtime-status.d.ts.map +1 -0
- package/dist/transport/runtime-status.js +71 -0
- package/dist/transport/runtime-status.js.map +1 -0
- package/dist/workflow/atomic-storage.d.ts +12 -0
- package/dist/workflow/atomic-storage.d.ts.map +1 -0
- package/dist/workflow/atomic-storage.js +104 -0
- package/dist/workflow/atomic-storage.js.map +1 -0
- package/dist/workflow/budget.d.ts +18 -0
- package/dist/workflow/budget.d.ts.map +1 -0
- package/dist/workflow/budget.js +74 -0
- package/dist/workflow/budget.js.map +1 -0
- package/dist/workflow/index.d.ts +17 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +17 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/lifecycle-projection.d.ts +18 -0
- package/dist/workflow/lifecycle-projection.d.ts.map +1 -0
- package/dist/workflow/lifecycle-projection.js +22 -0
- package/dist/workflow/lifecycle-projection.js.map +1 -0
- package/dist/workflow/model-fallback.d.ts +2 -0
- package/dist/workflow/model-fallback.d.ts.map +1 -0
- package/dist/workflow/model-fallback.js +17 -0
- package/dist/workflow/model-fallback.js.map +1 -0
- package/dist/workflow/pi-session-fork.d.ts +18 -0
- package/dist/workflow/pi-session-fork.d.ts.map +1 -0
- package/dist/workflow/pi-session-fork.js +80 -0
- package/dist/workflow/pi-session-fork.js.map +1 -0
- package/dist/workflow/run-artifacts.d.ts +5 -0
- package/dist/workflow/run-artifacts.d.ts.map +1 -0
- package/dist/workflow/run-artifacts.js +25 -0
- package/dist/workflow/run-artifacts.js.map +1 -0
- package/dist/workflow/run-cleanup.d.ts +70 -0
- package/dist/workflow/run-cleanup.d.ts.map +1 -0
- package/dist/workflow/run-cleanup.js +222 -0
- package/dist/workflow/run-cleanup.js.map +1 -0
- package/dist/workflow/run-gate.d.ts +43 -0
- package/dist/workflow/run-gate.d.ts.map +1 -0
- package/dist/workflow/run-gate.js +70 -0
- package/dist/workflow/run-gate.js.map +1 -0
- package/dist/workflow/run-store.d.ts +208 -0
- package/dist/workflow/run-store.d.ts.map +1 -0
- package/dist/workflow/run-store.js +2965 -0
- package/dist/workflow/run-store.js.map +1 -0
- package/dist/workflow/spawn-confirmation.d.ts +44 -0
- package/dist/workflow/spawn-confirmation.d.ts.map +1 -0
- package/dist/workflow/spawn-confirmation.js +228 -0
- package/dist/workflow/spawn-confirmation.js.map +1 -0
- package/dist/workflow/system-process-inspector.d.ts +9 -0
- package/dist/workflow/system-process-inspector.d.ts.map +1 -0
- package/dist/workflow/system-process-inspector.js +129 -0
- package/dist/workflow/system-process-inspector.js.map +1 -0
- package/dist/workflow/worker-child-extension.d.ts +3 -0
- package/dist/workflow/worker-child-extension.d.ts.map +1 -0
- package/dist/workflow/worker-child-extension.js +182 -0
- package/dist/workflow/worker-child-extension.js.map +1 -0
- package/dist/workflow/worker-gate.d.ts +74 -0
- package/dist/workflow/worker-gate.d.ts.map +1 -0
- package/dist/workflow/worker-gate.js +165 -0
- package/dist/workflow/worker-gate.js.map +1 -0
- package/dist/workflow/worker-launch.d.ts +65 -0
- package/dist/workflow/worker-launch.d.ts.map +1 -0
- package/dist/workflow/worker-launch.js +338 -0
- package/dist/workflow/worker-launch.js.map +1 -0
- package/dist/workflow/worker-model-catalog.d.ts +36 -0
- package/dist/workflow/worker-model-catalog.d.ts.map +1 -0
- package/dist/workflow/worker-model-catalog.js +105 -0
- package/dist/workflow/worker-model-catalog.js.map +1 -0
- package/dist/workflow/worker-process-supervisor.d.ts +110 -0
- package/dist/workflow/worker-process-supervisor.d.ts.map +1 -0
- package/dist/workflow/worker-process-supervisor.js +1188 -0
- package/dist/workflow/worker-process-supervisor.js.map +1 -0
- package/dist/workflow/worker-prompt-capsule.d.ts +32 -0
- package/dist/workflow/worker-prompt-capsule.d.ts.map +1 -0
- package/dist/workflow/worker-prompt-capsule.js +52 -0
- package/dist/workflow/worker-prompt-capsule.js.map +1 -0
- package/dist/workflow/worker-role-presets.d.ts +38 -0
- package/dist/workflow/worker-role-presets.d.ts.map +1 -0
- package/dist/workflow/worker-role-presets.js +201 -0
- package/dist/workflow/worker-role-presets.js.map +1 -0
- package/dist/workflow/workflow-doctor.d.ts +57 -0
- package/dist/workflow/workflow-doctor.d.ts.map +1 -0
- package/dist/workflow/workflow-doctor.js +289 -0
- package/dist/workflow/workflow-doctor.js.map +1 -0
- package/dist/workflow/workflow-lease.d.ts +125 -0
- package/dist/workflow/workflow-lease.d.ts.map +1 -0
- package/dist/workflow/workflow-lease.js +689 -0
- package/dist/workflow/workflow-lease.js.map +1 -0
- package/dist/workflow/workflow-types.d.ts +335 -0
- package/dist/workflow/workflow-types.d.ts.map +1 -0
- package/dist/workflow/workflow-types.js +11 -0
- package/dist/workflow/workflow-types.js.map +1 -0
- package/dist/workflow/workspace-paths.d.ts +4 -0
- package/dist/workflow/workspace-paths.d.ts.map +1 -0
- package/dist/workflow/workspace-paths.js +22 -0
- package/dist/workflow/workspace-paths.js.map +1 -0
- package/docs/conformance.md +116 -0
- package/docs/demo-transcript.md +34 -0
- package/docs/design.md +1481 -0
- package/docs/operator-guide.md +100 -0
- package/extension/guidance.ts +162 -0
- package/extension/guide.ts +155 -0
- package/extension/index.ts +8 -0
- package/extension/runtime.ts +1224 -0
- package/extension/tools.ts +221 -0
- package/extension/worker-runtime.ts +1150 -0
- package/extension/worker-tools.ts +276 -0
- package/integration/confirmed-bind-onboarding.ts +296 -0
- package/integration/fleet-view.ts +286 -0
- package/integration/fresh-session-dispatcher.ts +166 -0
- package/integration/launch-preview.ts +396 -0
- package/integration/transport-port.ts +29 -0
- package/integration/worker-completion-notifier.ts +98 -0
- package/package.json +55 -0
- package/roles/oracle.md +9 -0
- package/roles/researcher.md +8 -0
- package/roles/reviewer.md +9 -0
- package/roles/scout.md +8 -0
- package/roles/worker.md +10 -0
- package/scripts/demo-two-terminal.sh +59 -0
- package/skills/coordination-patterns/SKILL.md +41 -0
- package/skills/coordination-patterns/references/supervised-worker-fan-out.md +12 -0
- package/skills/coordination-patterns/references/today-mail-team.md +36 -0
- package/transport/amq-cli-adapter.ts +381 -0
- package/transport/amq-message.ts +218 -0
- package/transport/amq-operations.ts +482 -0
- package/transport/atomic-json.ts +115 -0
- package/transport/binding-resolver.ts +565 -0
- package/transport/bridge-journal.ts +588 -0
- package/transport/dlq-retry-audit.ts +97 -0
- package/transport/inbox-pump.ts +729 -0
- package/transport/index.ts +11 -0
- package/transport/presence-projector.ts +104 -0
- package/transport/priority-delivery-scheduler.ts +328 -0
- package/transport/receiver-lease.ts +945 -0
- package/transport/runtime-status.ts +112 -0
- package/workflow/.gitkeep +1 -0
- package/workflow/atomic-storage.ts +120 -0
- package/workflow/budget.ts +90 -0
- package/workflow/index.ts +16 -0
- package/workflow/lifecycle-projection.ts +37 -0
- package/workflow/model-fallback.ts +17 -0
- package/workflow/pi-session-fork.ts +96 -0
- package/workflow/run-artifacts.ts +36 -0
- package/workflow/run-cleanup.ts +315 -0
- package/workflow/run-gate.ts +122 -0
- package/workflow/run-store.ts +3890 -0
- package/workflow/spawn-confirmation.ts +305 -0
- package/workflow/system-process-inspector.ts +142 -0
- package/workflow/worker-child-extension.ts +193 -0
- package/workflow/worker-gate.ts +238 -0
- package/workflow/worker-launch.ts +485 -0
- package/workflow/worker-model-catalog.ts +165 -0
- package/workflow/worker-process-supervisor.ts +1504 -0
- package/workflow/worker-prompt-capsule.ts +81 -0
- package/workflow/worker-role-presets.ts +241 -0
- package/workflow/workflow-doctor.ts +400 -0
- package/workflow/workflow-lease.ts +905 -0
- package/workflow/workflow-types.ts +367 -0
- package/workflow/workspace-paths.ts +32 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-lease.js","sourceRoot":"","sources":["../../workflow/workflow-lease.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
export type RunId = `run_${string}`;
|
|
2
|
+
export type StepId = `step_${string}`;
|
|
3
|
+
export type WorkerId = `worker_${string}`;
|
|
4
|
+
export type AttemptId = `attempt_${string}`;
|
|
5
|
+
export type AmbiguityId = `ambiguity_${string}`;
|
|
6
|
+
export type ContractRevisionId = `revision_${string}`;
|
|
7
|
+
export type PeerMessageId = `peer_${string}`;
|
|
8
|
+
export interface ReportFieldSchema {
|
|
9
|
+
readonly type: "string" | "number" | "boolean" | "object" | "array" | "null";
|
|
10
|
+
}
|
|
11
|
+
export interface ReportSchemaV1 {
|
|
12
|
+
readonly schema: 1;
|
|
13
|
+
readonly required: readonly string[];
|
|
14
|
+
readonly properties: Readonly<Record<string, ReportFieldSchema>>;
|
|
15
|
+
}
|
|
16
|
+
export interface AcceptanceCheck {
|
|
17
|
+
readonly command: string;
|
|
18
|
+
readonly args: readonly string[];
|
|
19
|
+
}
|
|
20
|
+
export type BudgetLimit = {
|
|
21
|
+
readonly kind: "limited";
|
|
22
|
+
readonly value: number;
|
|
23
|
+
} | {
|
|
24
|
+
readonly kind: "unlimited";
|
|
25
|
+
};
|
|
26
|
+
export interface RunBudget {
|
|
27
|
+
readonly maxWorkers: BudgetLimit;
|
|
28
|
+
readonly maxConcurrency: BudgetLimit;
|
|
29
|
+
readonly maxDepth: BudgetLimit;
|
|
30
|
+
readonly maxAttempts: BudgetLimit;
|
|
31
|
+
readonly maxWallClockMs: BudgetLimit;
|
|
32
|
+
readonly maxTokens: BudgetLimit;
|
|
33
|
+
readonly maxCostUsd: BudgetLimit;
|
|
34
|
+
readonly maxOutputBytes: BudgetLimit;
|
|
35
|
+
}
|
|
36
|
+
export interface WorkerBudget {
|
|
37
|
+
readonly maxAttempts: BudgetLimit;
|
|
38
|
+
readonly maxWallClockMs: BudgetLimit;
|
|
39
|
+
readonly maxTokens: BudgetLimit;
|
|
40
|
+
readonly maxCostUsd: BudgetLimit;
|
|
41
|
+
readonly maxOutputBytes: BudgetLimit;
|
|
42
|
+
}
|
|
43
|
+
export interface EvidenceNode {
|
|
44
|
+
readonly id: string;
|
|
45
|
+
readonly kind: "claim" | "artifact";
|
|
46
|
+
readonly assertion: string;
|
|
47
|
+
readonly verifier: string;
|
|
48
|
+
readonly requires: readonly string[];
|
|
49
|
+
}
|
|
50
|
+
export interface ObjectiveContract {
|
|
51
|
+
readonly schema: 1;
|
|
52
|
+
readonly goal: string;
|
|
53
|
+
readonly acceptance: readonly string[];
|
|
54
|
+
readonly constraints: readonly string[];
|
|
55
|
+
readonly permissions: readonly string[];
|
|
56
|
+
readonly budget: RunBudget;
|
|
57
|
+
readonly evidenceGraph?: {
|
|
58
|
+
readonly nodes: readonly EvidenceNode[];
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export interface RunSource {
|
|
62
|
+
readonly kind: "interactive" | "amq" | "external-engine";
|
|
63
|
+
readonly amqMessageId: string | null;
|
|
64
|
+
readonly driverSessionId: string;
|
|
65
|
+
}
|
|
66
|
+
export interface ModelSpec {
|
|
67
|
+
readonly provider: string;
|
|
68
|
+
readonly id: string;
|
|
69
|
+
readonly thinkingLevel?: string;
|
|
70
|
+
}
|
|
71
|
+
export interface WorkspaceGrant {
|
|
72
|
+
readonly path: string;
|
|
73
|
+
readonly mode: "read-only" | "mutating";
|
|
74
|
+
readonly worktreePath?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface ContentRef {
|
|
77
|
+
readonly kind: "file" | "session" | "artifact";
|
|
78
|
+
readonly value: string;
|
|
79
|
+
readonly hash?: string;
|
|
80
|
+
}
|
|
81
|
+
export interface WorkerRoleContract {
|
|
82
|
+
readonly name: string;
|
|
83
|
+
readonly tier: string;
|
|
84
|
+
readonly charter: string;
|
|
85
|
+
readonly presetSource: "builtin" | "user" | "project";
|
|
86
|
+
readonly presetFingerprint: string;
|
|
87
|
+
}
|
|
88
|
+
export type WorkerProposalEditableField = "role" | "task" | "model" | "difficulty" | "budget";
|
|
89
|
+
export interface WorkerProposalProvenance {
|
|
90
|
+
readonly source: "tool" | "human-edited";
|
|
91
|
+
readonly confirmSpawns: "on" | "multi-worker-only" | "off";
|
|
92
|
+
readonly disposition: "accepted" | "skipped-policy-off" | "skipped-single-worker";
|
|
93
|
+
readonly humanEditedFields: readonly WorkerProposalEditableField[];
|
|
94
|
+
}
|
|
95
|
+
export type WorkerContextMode = "fresh" | "fork";
|
|
96
|
+
export interface WorkerForkSource {
|
|
97
|
+
readonly sourceSessionFile: string;
|
|
98
|
+
readonly branchPointId: string;
|
|
99
|
+
readonly inheritedEntries: number;
|
|
100
|
+
readonly inheritedBytes: number;
|
|
101
|
+
}
|
|
102
|
+
export interface WorkerRequest {
|
|
103
|
+
readonly schema: 1;
|
|
104
|
+
readonly requestKey: string;
|
|
105
|
+
readonly difficulty?: "hard" | "medium" | "easy";
|
|
106
|
+
readonly role?: WorkerRoleContract;
|
|
107
|
+
readonly proposal?: WorkerProposalProvenance;
|
|
108
|
+
readonly context?: WorkerContextMode;
|
|
109
|
+
readonly forkSource?: WorkerForkSource;
|
|
110
|
+
readonly goal: string;
|
|
111
|
+
readonly acceptance: readonly string[];
|
|
112
|
+
readonly constraints: readonly string[];
|
|
113
|
+
readonly budget: WorkerBudget;
|
|
114
|
+
readonly model: ModelSpec;
|
|
115
|
+
readonly modelFallbacks?: readonly ModelSpec[];
|
|
116
|
+
readonly capabilities: readonly string[];
|
|
117
|
+
readonly workspace: WorkspaceGrant;
|
|
118
|
+
readonly contextRefs: readonly ContentRef[];
|
|
119
|
+
readonly channel: "json-result" | "rpc";
|
|
120
|
+
readonly sideEffectPolicy: "none" | "idempotent" | "reconcilable" | "external";
|
|
121
|
+
readonly report_schema?: ReportSchemaV1;
|
|
122
|
+
readonly requires_human_approval?: boolean;
|
|
123
|
+
readonly acceptance_check?: AcceptanceCheck;
|
|
124
|
+
}
|
|
125
|
+
export interface WorkerContract extends WorkerRequest {
|
|
126
|
+
readonly context: WorkerContextMode;
|
|
127
|
+
readonly runId: RunId;
|
|
128
|
+
readonly workerId: WorkerId;
|
|
129
|
+
readonly createdByDriverSessionId: string;
|
|
130
|
+
}
|
|
131
|
+
export interface WorkerLaunchContractV1 {
|
|
132
|
+
readonly schema: 1;
|
|
133
|
+
readonly runId: RunId;
|
|
134
|
+
readonly workerId: WorkerId;
|
|
135
|
+
readonly attemptId: AttemptId;
|
|
136
|
+
readonly workerAttemptGeneration: string;
|
|
137
|
+
readonly supervisorGeneration: string;
|
|
138
|
+
readonly transportMode: "send-only";
|
|
139
|
+
readonly channel: "json-result" | "rpc";
|
|
140
|
+
readonly depth: number;
|
|
141
|
+
readonly model: ModelSpec;
|
|
142
|
+
readonly capabilities: readonly string[];
|
|
143
|
+
readonly tools: readonly string[];
|
|
144
|
+
readonly workspace: WorkspaceGrant;
|
|
145
|
+
readonly sessionDirectory: string;
|
|
146
|
+
readonly continuedSessionFile?: string;
|
|
147
|
+
readonly forkedSessionFile?: string;
|
|
148
|
+
readonly projectTrust: "trusted" | "untrusted";
|
|
149
|
+
readonly parentLivenessFd: 3;
|
|
150
|
+
readonly budget: WorkerBudget;
|
|
151
|
+
readonly sideEffectPolicy: WorkerRequest["sideEffectPolicy"];
|
|
152
|
+
}
|
|
153
|
+
export interface WorkerContinuationProvenance {
|
|
154
|
+
readonly priorWorkerId: WorkerId;
|
|
155
|
+
readonly priorAttemptId: AttemptId;
|
|
156
|
+
readonly priorLeaseGeneration: string;
|
|
157
|
+
readonly sessionFile: string;
|
|
158
|
+
}
|
|
159
|
+
export interface ProcessStartEvidence {
|
|
160
|
+
readonly pid: number | null;
|
|
161
|
+
readonly processStartIdentity: string | null;
|
|
162
|
+
readonly bootIdentity: string | null;
|
|
163
|
+
readonly executable: string | null;
|
|
164
|
+
readonly hostname: string | null;
|
|
165
|
+
readonly spawnedAt: string | null;
|
|
166
|
+
readonly observedExitAt: string | null;
|
|
167
|
+
readonly exitStatus: {
|
|
168
|
+
readonly code: number | null;
|
|
169
|
+
readonly signal: string | null;
|
|
170
|
+
} | null;
|
|
171
|
+
}
|
|
172
|
+
export interface AttemptUsageProjection {
|
|
173
|
+
readonly tokens: number;
|
|
174
|
+
readonly costUsd: number;
|
|
175
|
+
readonly outputBytes: number;
|
|
176
|
+
}
|
|
177
|
+
export interface WorkerAttemptProjection {
|
|
178
|
+
readonly attemptId: AttemptId;
|
|
179
|
+
readonly attemptNumber: number;
|
|
180
|
+
readonly workerAttemptGeneration: string;
|
|
181
|
+
readonly supervisorGeneration: string;
|
|
182
|
+
readonly state: "pending" | "running" | "blocked" | "ambiguous" | "done" | "failed" | "cancelled";
|
|
183
|
+
readonly session: {
|
|
184
|
+
readonly path: string;
|
|
185
|
+
readonly file: string | null;
|
|
186
|
+
readonly leaseGeneration: string | null;
|
|
187
|
+
};
|
|
188
|
+
readonly launchContract: WorkerLaunchContractV1 | null;
|
|
189
|
+
readonly modelSelection?: {
|
|
190
|
+
readonly model: ModelSpec;
|
|
191
|
+
readonly fallbackReason: string | null;
|
|
192
|
+
};
|
|
193
|
+
readonly pidStartEvidence: ProcessStartEvidence;
|
|
194
|
+
readonly usage: AttemptUsageProjection;
|
|
195
|
+
readonly candidateOutcome: {
|
|
196
|
+
readonly valueOrRef: string | null;
|
|
197
|
+
readonly hash: string | null;
|
|
198
|
+
};
|
|
199
|
+
readonly sideEffects: {
|
|
200
|
+
readonly policy: WorkerRequest["sideEffectPolicy"];
|
|
201
|
+
readonly status: "none" | "known" | "uncertain";
|
|
202
|
+
};
|
|
203
|
+
readonly control: {
|
|
204
|
+
readonly status: "attached" | "detached";
|
|
205
|
+
readonly reason: string | null;
|
|
206
|
+
readonly recordedAt: string | null;
|
|
207
|
+
};
|
|
208
|
+
readonly cancellation: {
|
|
209
|
+
readonly reason: string | null;
|
|
210
|
+
readonly requestedAt: string | null;
|
|
211
|
+
readonly sentAt: string | null;
|
|
212
|
+
readonly observedAt: string | null;
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
export interface ContractRevisionProjection {
|
|
216
|
+
readonly revisionId: ContractRevisionId;
|
|
217
|
+
readonly revision: number;
|
|
218
|
+
readonly contract: WorkerContract;
|
|
219
|
+
readonly status: "pending" | "delivered";
|
|
220
|
+
readonly correlation: string | null;
|
|
221
|
+
readonly requestedAt: string;
|
|
222
|
+
readonly deliveredAt: string | null;
|
|
223
|
+
}
|
|
224
|
+
export interface WorkerWaitProjection {
|
|
225
|
+
readonly attemptId: AttemptId;
|
|
226
|
+
readonly workerAttemptGeneration: string;
|
|
227
|
+
readonly reason: string;
|
|
228
|
+
readonly correlation: string;
|
|
229
|
+
readonly status: "waiting" | "satisfied";
|
|
230
|
+
readonly declaredAt: string;
|
|
231
|
+
readonly satisfiedAt: string | null;
|
|
232
|
+
readonly satisfiedBy: "steer" | "revise_contract" | "peer_message" | null;
|
|
233
|
+
}
|
|
234
|
+
export interface WorkerStallProjection {
|
|
235
|
+
readonly silent: {
|
|
236
|
+
readonly detected: boolean;
|
|
237
|
+
readonly expectedCadenceMs: number | null;
|
|
238
|
+
readonly recordedAt: string | null;
|
|
239
|
+
};
|
|
240
|
+
readonly noProgress: {
|
|
241
|
+
readonly detected: boolean;
|
|
242
|
+
readonly fingerprint: string | null;
|
|
243
|
+
readonly identicalRounds: number;
|
|
244
|
+
readonly recordedAt: string | null;
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
export interface WorkerGateProjection {
|
|
248
|
+
readonly evidenceExists: boolean;
|
|
249
|
+
readonly reportMatches: boolean | null;
|
|
250
|
+
readonly acceptanceCheckExitCode: number | null;
|
|
251
|
+
readonly humanApproved: boolean | null;
|
|
252
|
+
readonly blockers: readonly string[];
|
|
253
|
+
}
|
|
254
|
+
export interface PeerMessageProjection {
|
|
255
|
+
readonly messageId: PeerMessageId;
|
|
256
|
+
readonly senderWorkerId: WorkerId;
|
|
257
|
+
readonly recipientWorkerId: WorkerId;
|
|
258
|
+
readonly grant: string;
|
|
259
|
+
readonly correlation: string;
|
|
260
|
+
readonly messageHash: string;
|
|
261
|
+
readonly status: "pending" | "delivered" | "indeterminate";
|
|
262
|
+
readonly requestedAt: string;
|
|
263
|
+
readonly deliveredAt: string | null;
|
|
264
|
+
readonly diagnostic: string | null;
|
|
265
|
+
}
|
|
266
|
+
export interface WorkerProjection {
|
|
267
|
+
readonly workerId: WorkerId;
|
|
268
|
+
readonly spawnRequestKey: string;
|
|
269
|
+
readonly atomicCallStepId: StepId;
|
|
270
|
+
readonly contractFingerprint: string;
|
|
271
|
+
readonly contract: WorkerContract;
|
|
272
|
+
readonly continuation: WorkerContinuationProvenance | null;
|
|
273
|
+
readonly parentWorkerId: WorkerId | null;
|
|
274
|
+
readonly depth: number;
|
|
275
|
+
readonly state: WorkerAttemptProjection["state"];
|
|
276
|
+
readonly lastLedgerAt: string;
|
|
277
|
+
readonly attempts: readonly WorkerAttemptProjection[];
|
|
278
|
+
readonly contractRevisions: readonly ContractRevisionProjection[];
|
|
279
|
+
readonly peerMessages: readonly PeerMessageProjection[];
|
|
280
|
+
readonly waits: readonly WorkerWaitProjection[];
|
|
281
|
+
readonly stall: WorkerStallProjection;
|
|
282
|
+
readonly gate: WorkerGateProjection;
|
|
283
|
+
readonly acceptedOutcome: null;
|
|
284
|
+
}
|
|
285
|
+
export interface RunBudgetProjection {
|
|
286
|
+
readonly limits: RunBudget;
|
|
287
|
+
readonly reserved: {
|
|
288
|
+
readonly workers: number;
|
|
289
|
+
readonly attempts: number;
|
|
290
|
+
readonly tokens: number | "unlimited";
|
|
291
|
+
readonly costUsd: number | "unlimited";
|
|
292
|
+
readonly outputBytes: number | "unlimited";
|
|
293
|
+
};
|
|
294
|
+
readonly spent: {
|
|
295
|
+
readonly tokens: number;
|
|
296
|
+
readonly costUsd: number;
|
|
297
|
+
readonly outputBytes: number;
|
|
298
|
+
};
|
|
299
|
+
readonly remaining: {
|
|
300
|
+
readonly workers: BudgetLimit;
|
|
301
|
+
readonly attempts: BudgetLimit;
|
|
302
|
+
readonly tokens: BudgetLimit;
|
|
303
|
+
readonly wallClockMs: BudgetLimit;
|
|
304
|
+
readonly costUsd: BudgetLimit;
|
|
305
|
+
readonly outputBytes: BudgetLimit;
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
export interface AmbiguityProjection {
|
|
309
|
+
readonly ambiguityId: AmbiguityId;
|
|
310
|
+
readonly status: "needs-reconcile";
|
|
311
|
+
readonly reason: string;
|
|
312
|
+
readonly relatedIds: readonly string[];
|
|
313
|
+
readonly recordedAt: string;
|
|
314
|
+
}
|
|
315
|
+
export declare const RUN_STATES: readonly ["open", "verifying", "done", "blocked", "cancel-requested", "cancelled", "ambiguous", "needs-attention"];
|
|
316
|
+
export type RunState = (typeof RUN_STATES)[number];
|
|
317
|
+
export interface RunProjectionV2 {
|
|
318
|
+
readonly schema: 2;
|
|
319
|
+
readonly runId: RunId;
|
|
320
|
+
readonly requestKey: string;
|
|
321
|
+
readonly requestFingerprint: string;
|
|
322
|
+
readonly source: RunSource;
|
|
323
|
+
readonly objective: ObjectiveContract;
|
|
324
|
+
readonly budget: RunBudgetProjection;
|
|
325
|
+
readonly state: RunState;
|
|
326
|
+
readonly workers: Readonly<Record<string, WorkerProjection>>;
|
|
327
|
+
readonly unresolvedAmbiguities: readonly AmbiguityProjection[];
|
|
328
|
+
readonly ledger: {
|
|
329
|
+
readonly throughSeq: number;
|
|
330
|
+
readonly chainHash: string;
|
|
331
|
+
};
|
|
332
|
+
readonly createdAt: string;
|
|
333
|
+
readonly updatedAt: string;
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=workflow-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-types.d.ts","sourceRoot":"","sources":["../../workflow/workflow-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-types.js","sourceRoot":"","sources":["../../workflow/workflow-types.ts"],"names":[],"mappings":"AAmVA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM;IACN,WAAW;IACX,MAAM;IACN,SAAS;IACT,kBAAkB;IAClB,WAAW;IACX,WAAW;IACX,iBAAiB;CACT,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function defaultPiStateDirectory(): string;
|
|
2
|
+
export declare function workflowWorkspaceId(workspacePath: string): string;
|
|
3
|
+
export declare function workflowNamespaceDirectory(piStateDirectory: string, workspacePath: string): string;
|
|
4
|
+
//# sourceMappingURL=workspace-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-paths.d.ts","sourceRoot":"","sources":["../../workflow/workspace-paths.ts"],"names":[],"mappings":"AAIA,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,wBAAgB,0BAA0B,CACxC,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,GACpB,MAAM,CAUR"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { isAbsolute, join, normalize, resolve } from "node:path";
|
|
4
|
+
export function defaultPiStateDirectory() {
|
|
5
|
+
return join(homedir(), ".pi", "agent");
|
|
6
|
+
}
|
|
7
|
+
export function workflowWorkspaceId(workspacePath) {
|
|
8
|
+
const canonical = canonicalWorkspacePath(workspacePath);
|
|
9
|
+
return createHash("sha256").update(canonical).digest("hex");
|
|
10
|
+
}
|
|
11
|
+
export function workflowNamespaceDirectory(piStateDirectory, workspacePath) {
|
|
12
|
+
if (!isAbsolute(piStateDirectory)) {
|
|
13
|
+
throw new TypeError("Pi state directory must be absolute");
|
|
14
|
+
}
|
|
15
|
+
return join(normalize(piStateDirectory), "workspaces", workflowWorkspaceId(workspacePath), "pi-amq-workflow");
|
|
16
|
+
}
|
|
17
|
+
function canonicalWorkspacePath(workspacePath) {
|
|
18
|
+
if (!isAbsolute(workspacePath))
|
|
19
|
+
throw new TypeError("Workspace path must be absolute");
|
|
20
|
+
return normalize(resolve(workspacePath));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=workspace-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-paths.js","sourceRoot":"","sources":["../../workflow/workspace-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEjE,MAAM,UAAU,uBAAuB;IACrC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACvD,MAAM,SAAS,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACxD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,gBAAwB,EACxB,aAAqB;IAErB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CACT,SAAS,CAAC,gBAAgB,CAAC,EAC3B,YAAY,EACZ,mBAAmB,CAAC,aAAa,CAAC,EAClC,iBAAiB,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,aAAqB;IACnD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IACvF,OAAO,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Fault-sensitive test conformance
|
|
2
|
+
|
|
3
|
+
This document maps every required fault-sensitive test in
|
|
4
|
+
[`docs/design.md` §18 and §A.8](design.md) to the current test suite. It is a
|
|
5
|
+
traceability record, not a claim that similarly shaped tests satisfy a numbered
|
|
6
|
+
requirement.
|
|
7
|
+
|
|
8
|
+
Classification rules:
|
|
9
|
+
|
|
10
|
+
- `implemented`: a test name or adjacent test comment names the design number
|
|
11
|
+
(`[doc N]` or `[appendix N]`) and its assertions cover the complete required
|
|
12
|
+
fault, fence, or negative control.
|
|
13
|
+
- `partially`: numbered coverage exists but omits part of the required oracle,
|
|
14
|
+
or an unnumbered test provides supporting evidence that cannot qualify as an
|
|
15
|
+
implemented numbered test.
|
|
16
|
+
- `implemented-to-capability-limit`: the complete available capability-port
|
|
17
|
+
contract is fault-sensitive and green, while a named upstream runtime version
|
|
18
|
+
still lacks the API required for a real end-to-end oracle. The row records the
|
|
19
|
+
version-triggered re-verification obligation.
|
|
20
|
+
- `deferred-with-reason`: the required production capability or authorized
|
|
21
|
+
implementation layer does not exist yet, so no honest test can exercise it.
|
|
22
|
+
|
|
23
|
+
Where a capable fake or projection port is the only evidence, the table says so
|
|
24
|
+
explicitly.
|
|
25
|
+
|
|
26
|
+
| No. | Design case | Test evidence | Status | Coverage or missing evidence |
|
|
27
|
+
| ---: | --- | --- | --- | --- |
|
|
28
|
+
| 1 | Confirmed-bind roster | `test/confirmed-bind-onboarding.test.ts` — five `[doc 1]` confirmed-bootstrap, headless, existing-roster, partial-failure, and stock-AMQ cases | implemented | `/amq bind` previews the physical root, session/project, complete roster, `.amqrc`/`.gitignore` effects, and exact `coop init` command. TUI confirmation gates mutation; headless and partial verification remain dormant; stock AMQ's uninitialized `who=null` result is handled explicitly; env, mailbox, and roster are re-verified before persistence. |
|
|
29
|
+
| 2 | Kill before `pending` commit | `test/inbox-pump.test.ts` — `[doc 2] a failed pending commit cannot consume, and the next pump finds the same ID` | implemented | The atomic pre-commit fault prevents the read, then a new pump finds and injects the same ID. |
|
|
30
|
+
| 3 | Kill after `pending`, before read | `test/inbox-pump.test.ts` — `[doc 3,4,5,6] startup recovery reconciles projections and cur before watch`; `[doc 3] an exact-read miss enters recovery instead of orphaning its pending journal`<br>`test/bridge-journal.test.ts` — `[doc 3] a matching pending record can be adopted only by the replacement receiver generation` | implemented | Covers generation-safe adoption, exact-ID recovery, and recovery-before-watch. |
|
|
31
|
+
| 4 | Kill after `new -> cur`, before journal enrichment | `test/inbox-pump.test.ts` — `[doc 3,4,5,6] startup recovery reconciles projections and cur before watch`<br>`test/stock-amq-integration.test.ts` — `[doc 4] recovering an exact ID already in cur does not emit a second drained receipt` | implemented | Recovery reads the same exact ID from `cur`; the stock-AMQ receipt ledger remains at exactly one `drained` receipt after the recovery read. |
|
|
32
|
+
| 5 | Kill after pi scheduling, before `injected` | `test/inbox-pump.test.ts` — `[doc 3,4,5,6] startup recovery reconciles projections and cur before watch` | implemented | A disk-visible matching projection is reconciled before watch and the ID is not scheduled again. |
|
|
33
|
+
| 6 | Volatile scheduling and missing historical projection | `test/inbox-pump.test.ts` — `[doc 3,4,5,6] startup recovery reconciles projections and cur before watch` | implemented | Volatile-only delivery remains pending; a missing historical projection is reported without resurrecting the injected task. |
|
|
34
|
+
| 7 | Two live pi processes, one receiver | `test/receiver-lease.test.ts` — `[doc 7] two live contenders produce exactly one receiver owner`<br>`test/runtime-status.test.ts` — `[doc 7] the losing extension runtime exposes send-only while the owning generation receives` | implemented | Exactly one contender owns the generation; the loser retains send/reply inspection surfaces but exposes send-only and cannot consume or set principal presence. |
|
|
35
|
+
| 8 | Stale-lock race and fail-closed owners | `test/receiver-lease.test.ts` — four `[doc 8]` stale-race, fail-closed owner, identity-proof, and paused-owner cases | implemented | Proven-dead owners quarantine through the ordinary race; remote, corrupt, unverifiable, age-only, and live paused owners are never displaced. |
|
|
36
|
+
| 9 | Stock print/json subagent is send-only | `test/runtime-status.test.ts` — `[doc 9] print/json are send-only and never start the receiver`<br>`test/stock-pi-integration.test.ts` — `[doc 9] stock print/json pi subprocesses inherit AM_ME, stay send-only, and emit one attributed send` | implemented | Real Pi 0.84.2 text/JSON subprocesses use a deterministic provider and logged stock AMQ binary. Each performs one `delegate`-attributed send and no watch, read/drain claim, or principal-presence command. |
|
|
37
|
+
| 10 | Reload/resume/fork/clone/new-session handoff | `test/extension-lifecycle-integration.test.ts` — `[doc 10] extension lifecycle verifies every bind, hands one lease off sequentially, and keeps a concurrent parent send-only` | implemented | Real extension event handlers and stock AMQ cover binding verification plus sequential reload/resume/fork/clone/new-session release/reacquire. A concurrent same-handle process remains send-only with no watch or presence write. |
|
|
38
|
+
| 11 | Repin while watch waits | `test/inbox-pump.test.ts` — `[doc 11] watch restart is bounded and revalidates authority before another child`; `[doc 11] AMQ context mismatch disables receiving without restart` | implemented | Exit-5/mismatch disables receiving and bounded backoff cannot start another child after authority changes. |
|
|
39
|
+
| 12 | Priority delivery while idle/tools run and staged recovery | `test/priority-delivery-scheduler.test.ts` — `[doc 12] priority mapping and deterministic priority/created/ID order are exact`; `[doc 12] idle and active-tool runtime states preserve exact priority delivery without aborting the tool`<br>`test/inbox-pump.test.ts` — `[doc 12] kill with low mail staged, then replacement-generation recovery injects the same pending attempt`; `[doc 12,18]` cohort coverage | implemented | Idle and active-tool states retain exact `steer`/`followUp`/`nextTurn` options without tool abort. A volatile low delivery remains attempt 1 pending and a replacement lease generation recovers it from `cur` to a durable projection. |
|
|
40
|
+
| 13 | Fresh-session gate refusal | `test/fresh-session-dispatcher.test.ts` — `[doc 13] non-authorized fresh-session mail is refused without capability dispatch`<br>`test/inbox-pump.test.ts` — `[doc 13] refused fresh-session request is injected in the current session with visible metadata` | implemented | Proves no privileged dispatch and current-session injection with visible refusal metadata. |
|
|
41
|
+
| 14 | Authorized fresh-session replacement | `test/fresh-session-dispatcher.test.ts` — `[doc 14] capable fresh-session dispatch is serialized`; `[doc 14,15] capable command context waits idle, rechecks the interlock, and requires replacement projection`; `[doc 14] a not-yet-disk-visible replacement projection is a legitimate deferred state, not a failure`; `[doc 14] a replacement projection for an unrelated message id is rejected`<br>`test/fresh-session-port.test.ts` — `[design.md 8.3] replace() dispatches the expanded command and resolves once the handler completes newSession with a disk-visible projection`; `[design.md 8.3] a kickoff not yet flushed to disk but visible in the in-memory branch resolves with diskVisible:false`; `[design.md 8.3] a kickoff visible on neither disk nor the in-memory branch rejects instead of recording injected`<br>`test/inbox-pump.test.ts` — `[doc 14] capable fresh-session projection commits the replacement session target`; `[doc 14] a not-yet-disk-visible fresh-session projection stays pending with its target set until reconciliation observes the flush` | implemented | On the pi 0.84.2 floor, `PiFreshSessionReplacementPort` fires the real `expandPromptTemplates` dispatch and the registered `/amq-new-task` command handler drives `ctx.waitForIdle()` → `ctx.newSession` → `withSession` kickoff → projection verification, exercised against a fake `ExtensionCommandContext`/`ReplacedSessionContext` and real on-disk/in-memory-branch fixtures. Pi persists a fresh session's file lazily (nothing is written until its first assistant entry), so an in-memory-branch-only match legitimately resolves `diskVisible:false`; `CommandContextFreshSessionCapability`/`FreshSessionDispatcher` accept that deferred evidence by matching `messageId` only, and the journal (`transport/inbox-pump.ts`) commits the target session but records `injected` only once `diskVisible` becomes true, exactly as the pre-existing reconciliation path for ordinary delivery already required. A kickoff absent from both the branch and disk remains a hard failure. |
|
|
42
|
+
| 15 | Cancel/fail `ctx.newSession`, then ingest | `test/fresh-session-dispatcher.test.ts` — `[doc 14,15] capable command context waits idle, rechecks the interlock, and requires replacement projection`<br>`test/inbox-pump.test.ts` — `[doc 15] fresh-session capability gap stays pending until explicit ingest promotes current-session delivery`<br>`test/fresh-session-port.test.ts` — cancelled-`newSession`, dispatch-timeout, duplicate-in-flight, abort, and unmatched-projection cases | implemented | A cancelled `newSession`, a command handler that never fires within its dispatch bound, or a replacement session missing the matching in-memory/disk projection each surface as a real failure; the journal stays pending and `/amq ingest` recovers it without invented completion. |
|
|
43
|
+
| 16 | Per-envelope reply provenance with interactive input | `test/priority-delivery-scheduler.test.ts` — `[doc 16] every coalesced envelope retains immutable reply provenance`<br>`test/guidance.test.ts` — `[doc 16] guidance retains immutable per-envelope reply provenance under 40 lines`<br>`test/extension-registration.test.ts` — `[doc 16] queued interactive input cannot clear or overwrite immutable per-envelope reply provenance` | implemented | Queued interactive input leaves every ID/sender/thread/reply instruction byte-for-byte intact; the runtime has no mutable global channel/sender marker to clear or overwrite. |
|
|
44
|
+
| 17 | Bounded large bodies and safe slices | `test/priority-delivery-scheduler.test.ts` — `[doc 17] individual previews are 8 KiB, batches are 24 KiB, and truncation is explicit`<br>`test/amq-operations.test.ts` — `[doc 17] get_message uses the receiver claim port and returns a bounded UTF-8 slice` | implemented | Covers byte-safe preview/batch bounds, exact-ID slice retrieval, and queue-path suppression. |
|
|
45
|
+
| 18 | Corrupt mail goes to DLQ | `test/inbox-pump.test.ts` — `[doc 12,18] a cohort is journaled before exact reads, deduplicated, ordered, and DLQ-safe` | implemented | The corrupt candidate becomes terminal `dlq` and is absent from valid delivery batches. |
|
|
46
|
+
| 19 | Verified DLQ retry and terminal tombstone | `test/bridge-journal.test.ts` — two `[doc 19]` atomic promotion/crash-recovery cases<br>`test/dlq-retry-audit.test.ts` — `[doc 19]` production stock-AMQ audit parser/filter case<br>`test/inbox-pump.test.ts` — `[doc 19]` verified same-ID redelivery and no-evidence refusal cases | implemented | A terminal attempt advances exactly once only when the same ID is visibly redelivered and an unused AMQ `retry_state=delivered` audit with the matching retry count exists. The old attempt is archived before the pending attempt+1 replacement; a crash after history commit is recoverable; absent/reused audit evidence remains terminal. |
|
|
47
|
+
| 20 | Multi-recipient partial send | `test/amq-operations.test.ts` — `[doc 20,21] partial send evidence remains visible and is never retried` | implemented | Per-recipient committed/failed evidence remains visible and the send command runs exactly once. |
|
|
48
|
+
| 21 | Receipt and sender-outbox audit failures | `test/inbox-pump.test.ts` — `[doc 21] a receipt-audit failure is classified as a committed claim and remains distinct from sender audit failure`<br>`test/amq-operations.test.ts` — `[doc 21] a sender-outbox audit failure is classified separately after committed delivery`; `[doc 20,21]` partial-send evidence | implemented | Receipt failure is surfaced as `Claim committed; drained receipt audit failed`; sender outbox failure is `delivery-committed-sender-audit-failed`. Both retain committed primary delivery evidence and neither retries. |
|
|
49
|
+
| 22 | Compaction preserves pending recovery facts | `test/guidance.test.ts` — `[doc 22] compaction projection preserves only bounded pending IDs and unread counts`<br>`test/extension-lifecycle-integration.test.ts` — `[doc 22] real session_compact preserves injected and pending facts, then restart recovers only pending mail` | implemented | A real registered `session_compact` handler sees one injected and one volatile pending envelope, projects only the pending recovery fact, and a replacement runtime recovers only that ID without resurrecting or losing the injected fact. |
|
|
50
|
+
| 23 | Route/trace diagnostics preserve primary failure | `test/amq-operations.test.ts` — four `[doc 23]` send/timeout/trace/secondary diagnostic cases<br>`test/binding-resolver.test.ts` — `[doc 23] binding-failure integration preserves the primary verification refusal when route diagnosis also fails` | implemented | Binding, route, and trace diagnostic branches can fail independently while the literal primary failure/category remains authoritative; timeout never resends. |
|
|
51
|
+
| 24 | RPC worker is send-only | `test/worker-launch-contract.test.ts` — `[appendix 24,33,36]` exact send-only launch contract<br>`test/worker-process-supervisor.test.ts` — `[appendix 24,33,34,42]` supervised RPC cancellation | implemented | The launch contract fixes send-only transport, scrubs receiver authority, and the supervised RPC process follows durable cancellation ordering. |
|
|
52
|
+
| 25 | Fresh session while workers are active | `test/fresh-session-dispatcher.test.ts` — `[appendix 25]` capability interlock<br>`test/worker-runtime-policy.test.ts` and `test/workflow-run-store.test.ts` — `[appendix 25,37,47,48]` actual active-to-settled ledger path | implemented | The dispatcher refuses before capability dispatch; the authoritative ledger refuses replacement with a running worker and permits it only after every attempt is terminal, certain, and attached. |
|
|
53
|
+
| 26 | Crash after `run-opened` | `test/workflow-run-store.test.ts` — `[appendix 26,39,40]` ledger rebuild and `[appendix 26,39]` post-commit recovery | partially | Ledger authority and no-replay recovery are covered. Missing: a process-kill oracle at exactly the root-only event. |
|
|
54
|
+
| 27 | Idempotent `startRun` | `test/workflow-run-store.test.ts` — `[appendix 27]` same-key replay and conflicting fingerprint | implemented | Same input returns one run; changed immutable input refuses without another event. |
|
|
55
|
+
| 28 | Spawn contract validation | `test/workflow-run-store.test.ts` — `[appendix 28,41]` invalid-contract no-mutation<br>`test/worker-process-supervisor.test.ts` — `[appendix 28]` required-field matrix and `[appendix 28,34]` grant/depth/concurrency preflight | partially | Goal, acceptance, constraints, budget, model, capability, and workspace omissions all refuse before ledger, worker-session lease, or process effects. Capability, budget, and unresolved trust also fail closed. Missing: an explicit mutation-grant authority and exceedance oracle. |
|
|
56
|
+
| 29 | Idempotent `spawn_worker` | `test/worker-process-supervisor.test.ts` — `[appendix 28,34]` repeated request returns the existing worker | partially | Same-key replay and conflict fencing exist. Missing: a literal driver crash between tool return and caller observation. |
|
|
57
|
+
| 30 | One worker session, one owner | `test/workflow-lease.test.ts` — three `[appendix 30]` exclusivity/takeover/fail-closed tests<br>`test/worker-process-supervisor.test.ts` — run-scoped sessions, authoritative child exit, and PID-disappearance negative control | implemented | Canonical session leases are generation-fenced. Lease-owner staleness and worker lifecycle exit remain separate; PID disappearance never synthesizes worker exit or replacement. |
|
|
58
|
+
| 31 | Parent death and stale output | `test/node-pi-process-factory.test.ts` — `[appendix 31]` parent-liveness and process-group tests<br>`test/worker-process-supervisor.test.ts` — `[appendix 30,31,40]` detached no-replay recovery, `[appendix 31,32,34]` uncertain-effect ambiguity, and `[appendix 31]` live stale-output fencing | implemented | Parent loss leaves a known-live worker running with detached control and run needs-attention; uncertain effects enter ambiguity. After supervisor takeover, a live mutating old-generation worker cannot commit result, usage, candidate, or exit facts. |
|
|
59
|
+
| 32 | Broken RPC pipe after uncertain work | `test/worker-process-supervisor.test.ts` — `[appendix 31,32,34]` uncertain external exit becomes ambiguous<br>`test/workflow-run-store.test.ts` — `[appendix 32]` durable reconciliation | implemented | Uncertain effects become ambiguous, never replay, and require explicit reconciliation. |
|
|
60
|
+
| 33 | JSON/RPC contract boundary | `test/worker-launch-contract.test.ts` and `test/worker-process-supervisor.test.ts` — `[appendix 24,33,36]`, `[appendix 33]` | partially | JSON one-shot and RPC control/contract differences are enforced. Driver-inbox forwarding is not part of W3. |
|
|
61
|
+
| 34 | Hard budget enforcement | `test/worker-process-supervisor.test.ts` — `[appendix 28,34]`, `[appendix 31,32,34]`, and five `[appendix 34]` cases | implemented | Every run ceiling has direct evidence: max-workers, concurrency, depth, total attempts, token, wall-clock, cost, and output bytes. Preflight exhaustion refuses before process creation or ledger mutation; observed runtime exhaustion persists the trigger usage and cancellation intent before signaling. |
|
|
62
|
+
| 35 | Mutation isolation | — | deferred-with-reason | Requires worker mutation/worktree leases and concurrent mutating worker execution. |
|
|
63
|
+
| 36 | Child launch parity and trust | `test/worker-launch-contract.test.ts` — `[appendix 24,33,36]` and `[appendix 28,33,36]` | implemented | Model, thinking level, cwd, tools, capability, channel, and trust mismatches fail before useful child work. |
|
|
64
|
+
| 37 | Dormant transport independence | `test/workflow-run-store.test.ts` — `[appendix 37,47,48] zero-AMQ run demonstrates three governed workers and live FleetView`<br>`test/extension-registration.test.ts` and `test/worker-tools.test.ts` | implemented | One interactive non-AMQ run exercises three distinct model/difficulty/channel contracts, steer, cancellation, collection, Gate completion, budget projection, and Fleet navigation while proving no `.agent-mail` path is created. Worker tools register independently of transport activation. |
|
|
65
|
+
| 38 | Cross-domain correlation without merged state | `test/workflow-domain-isolation.test.ts` — `[appendix 38]` | implemented | AMQ correlation cannot cross-replay or mutate the workflow persistence owner. |
|
|
66
|
+
| 39 | Ledger projection correctness | `test/workflow-run-store.test.ts` — `[appendix 26,39,40]` and `[appendix 39,45]` | implemented | Snapshot corruption is ignored in favor of the contiguous event chain; gaps and checksum changes fail closed. |
|
|
67
|
+
| 40 | Resume has no hidden control flow | `test/worker-process-supervisor.test.ts` — `[appendix 30,31,40]` plus PID-disappearance negative control<br>`test/workflow-run-store.test.ts` — `[appendix 26,39,40]` | partially | Recovery performs no process replay and explicit resume requires authoritative exit/reconciliation evidence. Empty-root process-kill coverage remains part of case 26. |
|
|
68
|
+
| 41 | Evidence FSM/DAG guards | `test/worker-gate.test.ts`, `test/run-gate.test.ts`, W3/W4 Gate tests in `test/worker-process-supervisor.test.ts`, and invalid evidence-graph tests in `test/workflow-run-store.test.ts` | implemented | Separate worker and run legality tables reject undeclared transitions and report independent evidence, verifier, prerequisite, active, uncertain, and detached blockers; cyclic evidence prerequisites fail before mutation. |
|
|
69
|
+
| 42 | Model-driven cancellation semantics | `test/worker-process-supervisor.test.ts` — `[appendix 24,33,34,42]` and `[appendix 31,32,34]` | implemented | Intent precedes signaling; uncertain effects remain ambiguous rather than becoming cancelled by assertion. |
|
|
70
|
+
| 43 | Guidance is advisory | `test/guidance.test.ts`, `test/coordination-skill.test.ts`, `test/worker-tools.test.ts`, `test/extension-registration.test.ts`, and WR-G1/WR-G2 tests | implemented | Either named doctrine can be removed independently without changing functional projections; the registry explicitly rejects `pipeline`, `parallel`, `judge`, and `loop`, while the six atomic worker tools remain exact. |
|
|
71
|
+
| 44 | Worked fan-out uses atomic truth | `skills/coordination-patterns/references/supervised-worker-fan-out.md` plus Gate/tool tests | partially | The shipped few-shot uses atomic calls and Gate truth. A real multi-worker provider demo is still required. |
|
|
72
|
+
| 45 | Ledger chain failure is fail-closed | `test/workflow-run-store.test.ts` — `[appendix 39,45]`, `[appendix 30,45]` | implemented | Chain mutation and stale writer generation both refuse mutation. |
|
|
73
|
+
| 46 | Lifecycle adapter projection is derived | `test/lifecycle-projection.test.ts` — `[appendix 46]` exact Adapter Contract v1 context/labels; `extension/worker-runtime.ts` committed-projection subscriber | partially | Exact derived metadata and no-retry runtime wiring exist. Missing: an integration fault that injects failed and indeterminate AMQ sends while proving the committed worker ledger remains unchanged. |
|
|
74
|
+
| 47 | FleetView invalidation is live | `test/fleet-view.test.ts` — `[appendix 47]` live source invalidation/input boundary<br>`test/workflow-run-store.test.ts` — `[appendix 37,47,48]` authoritative multi-worker ledger projection | implemented | Committed ledger events update all three worker rows through the subscribed Fleet source, including lifecycle/activity/budget changes, while editor text remains unintercepted and list state stays open. |
|
|
75
|
+
| 48 | Viewer control is generation/mode fenced | `test/fleet-view.test.ts` — `[appendix 48]` and `[appendix 48,49]` detail controller<br>`test/workflow-run-store.test.ts` — `[appendix 37,47,48]` durable RPC steer/cancel facts | implemented | Current RPC generation fencing, exact JSON refusal text, `x,x` requested/observed/indeterminate semantics, and durable steer/cancel facts are covered; runtime rechecks the current ledger generation at the effect port. |
|
|
76
|
+
| 49 | Overlay is non-blocking | `test/fleet-view.test.ts` — `[appendix 48,49]` asynchronous detail controls and live resolver | partially | The overlay controller never switches sessions and resolves controls asynchronously against live records. Missing: one concurrent real-main-stream, worker-tail, and AMQ-delivery integration oracle. |
|
|
77
|
+
|
|
78
|
+
## Summary
|
|
79
|
+
|
|
80
|
+
- Implemented: **38**
|
|
81
|
+
- Implemented to capability limit: **2**
|
|
82
|
+
- Partially implemented: **8**
|
|
83
|
+
- Deferred with reason: **1**
|
|
84
|
+
- Total: **49**
|
|
85
|
+
|
|
86
|
+
## Unnumbered WorkerRuntime evidence gates
|
|
87
|
+
|
|
88
|
+
These gates extend the worker evidence protocol without renumbering or changing
|
|
89
|
+
the 49 transport/Appendix conformance cases above.
|
|
90
|
+
|
|
91
|
+
| Gate | Test evidence | Status | Coverage |
|
|
92
|
+
| --- | --- | --- | --- |
|
|
93
|
+
| WR-G1 prompt capsule | `test/worker-prompt-capsule.test.ts` | implemented | Canonical role/acceptance/constraint context is byte-identical at prompt head and tail; a one-byte negative control fails. |
|
|
94
|
+
| WR-G2 live model overlays | `test/worker-model-catalog.test.ts` | implemented | Live-catalog tier selection, current fallback, auditor floor, user notes, trusted project override, malformed notice, and untrusted-project non-read are covered. |
|
|
95
|
+
| WR-G3 launch preview | `test/spawn-confirmation.test.ts`, `test/launch-preview.test.ts`, and `test/workflow-run-store.test.ts` | implemented | Esc and tool abort call no launch effect; headless required previews fail before effects; single-worker `multi-worker-only` skips; role/task/model/difficulty/downward-budget edits are mutable proposals; accepted human-edited provenance survives ledger replay. |
|
|
96
|
+
| WR-G4 declarations and installed guide | `test/worker-role-presets.test.ts`, `test/guide.test.ts`, and `test/extension-registration.test.ts` | implemented | All five builtins, user/trusted-project precedence, untrusted-project non-read, fixed installed topics, unindexed path refusal, UTF-8 bounds, command/tool registration, and package-root resolution are covered. |
|
|
97
|
+
| WR-G5 deliberate worker continuation | `test/worker-process-supervisor.test.ts` — two `V1.1 deliberate continuation` cases | implemented | Fresh contracts may continue only the exact session file of a terminal worker whose exit is durably observed and whose process identity is absent or replaced. Live, unknown, and non-terminal sources fail before ledger/process effects; the new ledger projection links prior worker/attempt/lease provenance and the canonical lease generation changes. |
|
|
98
|
+
| WR-G6 explicit workflow cleanup | `test/run-cleanup.test.ts`, `test/worker-tools.test.ts`, and `test/extension-registration.test.ts` | implemented | Dry-run is mutation-free and reports run, worker-session, and artifact sizes; active, ambiguous, held-lease, and corrupt-lease state is refused. Deletion requires TUI or headless confirmation, holds the current supervisor fence, and persists an audit event before the first removal. |
|
|
99
|
+
| WR-G7 read-only workflow doctor | `test/workflow-doctor.test.ts`, `test/workflow-run-store.test.ts`, `test/workflow-lease.test.ts`, `test/worker-tools.test.ts`, and `test/extension-registration.test.ts` | implemented | Independent run-ledger validation, PID identity cross-checks, orphan/stale/abandoned/corrupt lease classification, dangling sessions, disk usage, and exact suggested argv are covered. The diagnostic leaves corrupt and dangling fixtures unchanged. |
|
|
100
|
+
| WR-G8 shared run artifact directory | `test/run-artifacts.test.ts`, `test/worker-prompt-capsule.test.ts`, `test/guidance.test.ts`, and `test/run-cleanup.test.ts` | implemented | One deterministic mode-0700 directory is shared by every worker in a run, differs across runs, becomes the first immutable artifact context ref without mutating caller input, is mirrored in the prompt capsule, and remains covered by explicit cleanup size/deletion evidence. |
|
|
101
|
+
| WR-G9 forked worker context | `test/pi-session-fork.test.ts`, `test/worker-process-supervisor.test.ts`, `test/launch-preview.test.ts`, and `test/workflow-run-store.test.ts` | implemented | Fresh remains the default. Fork copies the exact current driver leaf into an independently leased child session, records source/branch/size provenance, exposes inherited size before acceptance, and leaves parent bytes unchanged; copy failure produces no process. |
|
|
102
|
+
| WR-G10 ordered model fallback | `test/worker-process-supervisor.test.ts`, `test/worker-tools.test.ts`, `test/worker-runtime-policy.test.ts`, and `test/launch-preview.test.ts` | implemented | Only child launch-validation and classified provider auth/quota/capacity failures advance the bounded live-catalog chain. Every actual model and reason is ledgered; ordinary failure never advances, exhaustion stays failed, and tier degradation is visible. |
|
|
103
|
+
| WR-G11 directional peer messaging | `test/worker-process-supervisor.test.ts`, `test/workflow-run-store.test.ts`, `test/worker-launch-contract.test.ts`, `test/launch-preview.test.ts`, and `test/worker-prompt-capsule.test.ts` | implemented | Exact and uniquely resolved role grants map only to the child peer tool. Unauthorized, ambiguous, self, detached, and stale-generation delivery fail closed; recipient inference is never interrupted; one correlated hashed message fact projects under both endpoints and survives ledger replay. Restart turns a memory-only pending body into indeterminate without replay. |
|
|
104
|
+
| WR-G12 generation-correlated typed waits | `test/worker-gate.test.ts`, `test/workflow-run-store.test.ts`, `test/worker-process-supervisor.test.ts`, `test/worker-launch-contract.test.ts`, and `test/worker-runtime-policy.test.ts` | implemented | RPC children receive `wait_for_input`; a current-generation reason/correlation fact alone enters blocked. Prose and `message_end` do not. Missing or mismatched steer/revision/peer correlation reaches no child pipe and causes no wake; all three exact inputs return the attempt to running. Blocked workers reject stall observations, and Fleet/tool projections expose reason and correlation. |
|
|
105
|
+
|
|
106
|
+
## Transport-slice closure
|
|
107
|
+
|
|
108
|
+
Categories A–C are green; there are no remaining transport-slice blockers.
|
|
109
|
+
Tests **14** and **15** are fully implemented against the pi 0.84.2 floor: no
|
|
110
|
+
capability-limited rows remain.
|
|
111
|
+
|
|
112
|
+
W1 through W4 plus the post-W4 role, guide, and launch-preview bundle move the
|
|
113
|
+
WorkerRuntime boundary into production modules. Tests
|
|
114
|
+
**26, 28, 29, 31, 33, 34, 37, 40, 41, 43, 44, 47, and 48** retain the literal
|
|
115
|
+
missing oracle recorded in their rows. Tests **35, 46, and 49** remain deferred
|
|
116
|
+
to mutation isolation, AMQ lifecycle projection, and the full live overlay.
|