pi-goal-list-loop-audit 0.31.3 → 0.31.4

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.
@@ -119,7 +119,9 @@ export const DEFAULT_SETTINGS: Settings = {
119
119
  // Unset = "high" at the call site (v0.31.2). The auditor is the
120
120
  // verification gate: its depth must NOT ride the session's coding-speed
121
121
  // thinking dial (user 2026-07-31: "we should also select its thinking
122
- // level — we don't keep switching it"). /glla thinking= overrides.
122
+ // level — we don't keep switching it"). v0.31.4: picked alongside the
123
+ // model in /glla → Auditor model (no standalone menu row); /glla
124
+ // thinking= remains the direct path.
123
125
  auditorThinkingLevel: undefined,
124
126
  // v0.24.6: subagents inherit the session model by default — one quota
125
127
  // pool, no surprise 403s from a pinned default agent's provider.
@@ -4437,7 +4437,15 @@ export async function handleSettingChoice(id: string, ctx: ExtensionContext): Pr
4437
4437
  const pick = await promptModelRef(ctx, "Auditor model override", "provider/model-id — empty keeps the pi session model");
4438
4438
  if (pick === undefined) return;
4439
4439
  saveSettings("global", ctx.cwd, { auditorModel: pick.kind === "session" ? undefined : pick.ref });
4440
- if (pick.kind === "session") ctx.ui.notify("Auditor model override cleared the auditor follows the pi session model.", "info");
4440
+ // v0.31.4: thinking is chosen WITH the model (user: "we are setting
4441
+ // the thinking when we select the model now or we should") — there is
4442
+ // no standalone thinking row to forget about. Esc keeps the level.
4443
+ const t = await ctx.ui.select("Auditor thinking level (the verification gate — depth over speed)", [
4444
+ "high — recommended: the gate must not ride the session's coding dial",
4445
+ "medium", "low", "minimal", "xhigh", "off",
4446
+ ]);
4447
+ if (t) saveSettings("global", ctx.cwd, { auditorThinkingLevel: t.split(" ")[0] as Settings["auditorThinkingLevel"] });
4448
+ ctx.ui.notify(`Auditor model: ${pick.kind === "session" ? "session model (override cleared)" : pick.ref}${t ? ` · thinking ${t.split(" ")[0]}` : ""}`, "info");
4441
4449
  return;
4442
4450
  }
4443
4451
  case "auditorModelFallback": {
@@ -4447,11 +4455,6 @@ export async function handleSettingChoice(id: string, ctx: ExtensionContext): Pr
4447
4455
  if (pick.kind === "session") ctx.ui.notify("Auditor fallback cleared — a session on the pinned auditor model keeps that model.", "info");
4448
4456
  return;
4449
4457
  }
4450
- case "auditorThinkingLevel": {
4451
- const v = await ctx.ui.select("Auditor thinking level", ["off", "minimal", "low", "medium", "high", "xhigh"]);
4452
- if (v) saveSettings("global", ctx.cwd, { auditorThinkingLevel: v as Settings["auditorThinkingLevel"] });
4453
- return;
4454
- }
4455
4458
  case "auditCap": {
4456
4459
  const v = await ctx.ui.input("Consecutive auditor disapprovals before the goal pauses", "non-negative integer; 0 = unlimited, empty = default 5");
4457
4460
  if (v !== undefined) {
@@ -165,26 +165,18 @@ export function buildSettingsRows(
165
165
  id: "auditorModel",
166
166
  section: "auditor",
167
167
  label: "Auditor model",
168
- valueText: show("auditorModel", "pi session model"),
168
+ valueText: show("auditorModel", "session model"),
169
169
  sourceText: src("auditorModel"),
170
- description: "provider/model override for the isolated auditor",
170
+ description: "provider/model override for the isolated auditor — you pick its thinking level right after the model",
171
171
  },
172
172
  {
173
173
  id: "auditorModelFallback",
174
174
  section: "auditor",
175
175
  label: "Auditor fallback model",
176
- valueText: show("auditorModelFallback", "none — same-model sessions keep the pinned auditor"),
176
+ valueText: show("auditorModelFallback", "none"),
177
177
  sourceText: src("auditorModelFallback"),
178
178
  description: "auto-swap target when the session model IS the auditor model — the verifier should differ from the executor",
179
179
  },
180
- {
181
- id: "auditorThinkingLevel",
182
- section: "auditor",
183
- label: "Auditor thinking",
184
- valueText: show("auditorThinkingLevel", "high (fixed — never the session coding dial)"),
185
- sourceText: src("auditorThinkingLevel"),
186
- description: "thinking level for the auditor session — unset = high (the verification gate does not ride the session thinking dial)",
187
- },
188
180
  {
189
181
  id: "auditCap",
190
182
  section: "auditor",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-goal-list-loop-audit",
3
- "version": "0.31.3",
3
+ "version": "0.31.4",
4
4
  "description": "Goal. Loop. Audit. Done. \u2014 a pi-coding-agent extension that supervises long-running work, with isolated auditor on each completion. Beat bamboozling by design: the auditor runs in a fresh session with no extensions, no skills, no editor \u2014 only the read tools needed to verify your goal.",
5
5
  "license": "MIT",
6
6
  "author": "dracon",