@alexeiled/pi-fusion 0.1.1 → 0.1.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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/run-builder.ts +17 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexeiled/pi-fusion",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Subagent-native multi-model deliberation for Pi",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -5,6 +5,14 @@ import {
5
5
  type ThinkingLevel,
6
6
  } from "./types.js";
7
7
 
8
+ export const FUSION_ACCEPTANCE_DISABLED = {
9
+ level: "none",
10
+ reason:
11
+ "pi-fusion panelists and judge are read-only advisory tasks; pi-fusion owns final synthesis and acceptance.",
12
+ } as const;
13
+
14
+ export type FusionAcceptanceDisabled = typeof FUSION_ACCEPTANCE_DISABLED;
15
+
8
16
  export interface PanelSubagentTaskParams {
9
17
  agent: string;
10
18
  task: string;
@@ -12,7 +20,7 @@ export interface PanelSubagentTaskParams {
12
20
  outputMode: "inline";
13
21
  progress: true;
14
22
  skill: false;
15
- acceptance: "none";
23
+ acceptance: FusionAcceptanceDisabled;
16
24
  model?: string;
17
25
  }
18
26
 
@@ -24,7 +32,7 @@ export interface PanelSpawnParams {
24
32
  context: "fresh" | "fork";
25
33
  output: true;
26
34
  outputMode: "inline";
27
- acceptance: "none";
35
+ acceptance: FusionAcceptanceDisabled;
28
36
  timeoutMs?: number;
29
37
  }
30
38
 
@@ -37,7 +45,7 @@ export interface JudgeSpawnParams {
37
45
  output: true;
38
46
  outputMode: "inline";
39
47
  skill: false;
40
- acceptance: "none";
48
+ acceptance: FusionAcceptanceDisabled;
41
49
  model?: string;
42
50
  timeoutMs?: number;
43
51
  }
@@ -112,7 +120,7 @@ export function buildPanelSpawnParams(
112
120
  context: profile.context ?? "fresh",
113
121
  output: true,
114
122
  outputMode: "inline",
115
- acceptance: "none",
123
+ acceptance: FUSION_ACCEPTANCE_DISABLED,
116
124
  ...(profile.timeoutMs !== undefined
117
125
  ? { timeoutMs: profile.timeoutMs }
118
126
  : {}),
@@ -135,7 +143,7 @@ export function buildJudgeSpawnParams(
135
143
  output: true,
136
144
  outputMode: "inline",
137
145
  skill: false,
138
- acceptance: "none",
146
+ acceptance: FUSION_ACCEPTANCE_DISABLED,
139
147
  ...(model ? { model } : {}),
140
148
  ...(input.profile.timeoutMs !== undefined
141
149
  ? { timeoutMs: input.profile.timeoutMs }
@@ -155,7 +163,7 @@ function buildPanelTaskParams(
155
163
  outputMode: "inline",
156
164
  progress: true,
157
165
  skill: false,
158
- acceptance: "none",
166
+ acceptance: FUSION_ACCEPTANCE_DISABLED,
159
167
  ...(model ? { model } : {}),
160
168
  };
161
169
  }
@@ -171,10 +179,10 @@ function buildPanelTask(member: PanelMemberConfig, prompt: string): string {
171
179
  "",
172
180
  "Instructions:",
173
181
  "- Work independently from the other panelists.",
174
- "- Do not edit files, stage changes, commit changes, or run destructive commands.",
182
+ "- Read-only: inspect only; leave files, git state, and the workspace untouched.",
175
183
  "- Do not ask other agents.",
176
184
  "- Do not run subagents.",
177
- "- Use read-only local inspection only when code evidence is needed.",
185
+ "- Use local inspection only when code evidence is needed.",
178
186
  "- Be concise and cite evidence when you inspect files.",
179
187
  "",
180
188
  "Output contract:",
@@ -187,7 +195,7 @@ function buildJudgeTask(input: BuildJudgeSpawnParamsInput): string {
187
195
  const sortedFailures = [...input.failedPanelists].sort(comparePanelItems);
188
196
  return [
189
197
  "You are the fusion judge.",
190
- "Do not edit files. Do not ask other agents. Do not run subagents.",
198
+ "Read-only synthesis only. Leave files, git state, and the workspace untouched. Do not ask other agents. Do not run subagents.",
191
199
  "Synthesize the panel results. Preserve disagreement instead of forcing consensus.",
192
200
  "",
193
201
  "Original task:",