@alexeiled/pi-fusion 0.1.0 → 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 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alexeiled/pi-fusion",
3
- "version": "0.1.0",
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,6 +32,7 @@ export interface PanelSpawnParams {
24
32
  context: "fresh" | "fork";
25
33
  output: true;
26
34
  outputMode: "inline";
35
+ acceptance: FusionAcceptanceDisabled;
27
36
  timeoutMs?: number;
28
37
  }
29
38
 
@@ -36,7 +45,7 @@ export interface JudgeSpawnParams {
36
45
  output: true;
37
46
  outputMode: "inline";
38
47
  skill: false;
39
- acceptance: "none";
48
+ acceptance: FusionAcceptanceDisabled;
40
49
  model?: string;
41
50
  timeoutMs?: number;
42
51
  }
@@ -111,6 +120,7 @@ export function buildPanelSpawnParams(
111
120
  context: profile.context ?? "fresh",
112
121
  output: true,
113
122
  outputMode: "inline",
123
+ acceptance: FUSION_ACCEPTANCE_DISABLED,
114
124
  ...(profile.timeoutMs !== undefined
115
125
  ? { timeoutMs: profile.timeoutMs }
116
126
  : {}),
@@ -133,7 +143,7 @@ export function buildJudgeSpawnParams(
133
143
  output: true,
134
144
  outputMode: "inline",
135
145
  skill: false,
136
- acceptance: "none",
146
+ acceptance: FUSION_ACCEPTANCE_DISABLED,
137
147
  ...(model ? { model } : {}),
138
148
  ...(input.profile.timeoutMs !== undefined
139
149
  ? { timeoutMs: input.profile.timeoutMs }
@@ -153,7 +163,7 @@ function buildPanelTaskParams(
153
163
  outputMode: "inline",
154
164
  progress: true,
155
165
  skill: false,
156
- acceptance: "none",
166
+ acceptance: FUSION_ACCEPTANCE_DISABLED,
157
167
  ...(model ? { model } : {}),
158
168
  };
159
169
  }
@@ -169,10 +179,10 @@ function buildPanelTask(member: PanelMemberConfig, prompt: string): string {
169
179
  "",
170
180
  "Instructions:",
171
181
  "- Work independently from the other panelists.",
172
- "- 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.",
173
183
  "- Do not ask other agents.",
174
184
  "- Do not run subagents.",
175
- "- Use read-only local inspection only when code evidence is needed.",
185
+ "- Use local inspection only when code evidence is needed.",
176
186
  "- Be concise and cite evidence when you inspect files.",
177
187
  "",
178
188
  "Output contract:",
@@ -185,7 +195,7 @@ function buildJudgeTask(input: BuildJudgeSpawnParamsInput): string {
185
195
  const sortedFailures = [...input.failedPanelists].sort(comparePanelItems);
186
196
  return [
187
197
  "You are the fusion judge.",
188
- "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.",
189
199
  "Synthesize the panel results. Preserve disagreement instead of forcing consensus.",
190
200
  "",
191
201
  "Original task:",