pi-goal-list-loop-audit 0.28.32 → 0.28.33

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.
@@ -4186,7 +4186,7 @@ function cmdLog(args: string, ctx: ExtensionContext): void {
4186
4186
  }
4187
4187
 
4188
4188
  /**
4189
- * v0.28.31: /glla reset — ONE confirmed command that leaves a project with
4189
+ * v0.28.31 (renamed v0.28.33): /glla wipe — ONE confirmed command that leaves a project with
4190
4190
  * zero live glla state. User directive: "make sure we only have one goal or
4191
4191
  * loop or list at a time — many of my older projects have leftovers" (the
4192
4192
  * fleet scan found queued lists up to 56 deep, held loops at iter 50, and
@@ -4195,7 +4195,7 @@ function cmdLog(args: string, ctx: ExtensionContext): void {
4195
4195
  * the list is cleared, the loop record is wiped after a graceful stop.
4196
4196
  * History stays in .pi-glla; only the live state goes.
4197
4197
  */
4198
- async function cmdGllaReset(ctx: ExtensionContext): Promise<void> {
4198
+ async function cmdGllaWipe(ctx: ExtensionContext): Promise<void> {
4199
4199
  const g = state.goal;
4200
4200
  const live = g && (g.status === "active" || g.status === "paused" || g.status === "auditing");
4201
4201
  const n = listQueue().length;
@@ -4211,36 +4211,36 @@ async function cmdGllaReset(ctx: ExtensionContext): Promise<void> {
4211
4211
  if (loop) parts.push(`loop ${loop.active ? "stopped" : "cleared"} (iter ${loop.iteration}${loop.bestValue !== null && loop.bestValue !== undefined ? `, best ${loop.bestValue}` : ""})`);
4212
4212
  if (ctx.hasUI) {
4213
4213
  try {
4214
- const ok = await ctx.ui.confirm("Reset glla state?", `${parts.map((p) => ` ${p}`).join("\n")}\n\nHistory stays in .pi-glla (archive + ledger); the live state is wiped.`);
4214
+ const ok = await ctx.ui.confirm("Wipe glla state?", `${parts.map((p) => ` ${p}`).join("\n")}\n\nHistory stays in .pi-glla (archive + ledger); the live state is wiped.`);
4215
4215
  if (!ok) {
4216
- ctx.ui.notify("Reset cancelled.", "info");
4216
+ ctx.ui.notify("Wipe cancelled.", "info");
4217
4217
  return;
4218
4218
  }
4219
4219
  } catch {
4220
- ctx.ui.notify("Reset cancelled.", "info");
4220
+ ctx.ui.notify("Wipe cancelled.", "info");
4221
4221
  return;
4222
4222
  }
4223
4223
  }
4224
- appendLedger(ctx.cwd, "glla_reset", { goalId: live ? g!.id : undefined, listCleared: n, loop: loop ? { iteration: loop.iteration, active: loop.active } : undefined });
4224
+ appendLedger(ctx.cwd, "glla_wipe", { goalId: live ? g!.id : undefined, listCleared: n, loop: loop ? { iteration: loop.iteration, active: loop.active } : undefined });
4225
4225
  if (live) {
4226
- archiveCurrentGoal(ctx, "aborted", "user reset (/glla reset)");
4226
+ archiveCurrentGoal(ctx, "aborted", "user wipe (/glla wipe)");
4227
4227
  ctx.abort();
4228
4228
  } else if (g) {
4229
4229
  state = { ...state, goal: null };
4230
4230
  }
4231
4231
  if (n > 0) {
4232
4232
  state = { ...state, list: [] };
4233
- appendLedger(ctx.cwd, "list_cleared", { via: "glla_reset" });
4233
+ appendLedger(ctx.cwd, "list_cleared", { via: "glla_wipe" });
4234
4234
  }
4235
4235
  if (loop) {
4236
4236
  clearLoopTimer();
4237
4237
  state.loop = undefined;
4238
4238
  await finishLoopGit(ctx, loop);
4239
- appendLedger(ctx.cwd, "loop_stopped", { reason: "user reset (/glla reset)", iterations: loop.iteration, best: loop.bestValue });
4239
+ appendLedger(ctx.cwd, "loop_stopped", { reason: "user wipe (/glla wipe)", iterations: loop.iteration, best: loop.bestValue });
4240
4240
  }
4241
4241
  persistState(ctx);
4242
- ctx.ui.notify(`glla reset done: ${parts.join(" · ")}. Clean slate.`, "info");
4243
- notifyExternal(ctx, "glla state reset by user — clean slate.");
4242
+ ctx.ui.notify(`glla wipe done: ${parts.join(" · ")}. Clean slate.`, "info");
4243
+ notifyExternal(ctx, "glla state wiped by user — clean slate.");
4244
4244
  }
4245
4245
 
4246
4246
  /**
@@ -4297,7 +4297,7 @@ async function cmdGllaResume(ctx: ExtensionContext): Promise<void> {
4297
4297
  * list item is archived as aborted (its queue is untouched), an active or
4298
4298
  * held loop is stopped. Same outcome shape regardless of hidden type —
4299
4299
  * the user's caveat ("this sucks if one command doesn't work for others")
4300
- * is why /list cancel (item + drop queue) and /glla reset (nuke all)
4300
+ * is why /list cancel (item + drop queue) and /glla wipe (nuke all)
4301
4301
  * remain the power verbs instead of being folded in.
4302
4302
  */
4303
4303
  async function cmdGllaCancel(ctx: ExtensionContext): Promise<void> {
@@ -4310,7 +4310,7 @@ async function cmdGllaCancel(ctx: ExtensionContext): Promise<void> {
4310
4310
  await cmdLoop("stop", ctx);
4311
4311
  return;
4312
4312
  }
4313
- ctx.ui.notify("Nothing to cancel — no active/paused goal/list-item, no loop. Queued list items: /list clear; everything: /glla reset.", "info");
4313
+ ctx.ui.notify("Nothing to cancel — no active/paused goal/list-item, no loop. Queued list items: /list clear; everything: /glla wipe.", "info");
4314
4314
  }
4315
4315
 
4316
4316
  function cmdAudits(args: string, ctx: ExtensionContext): void {
@@ -4370,9 +4370,15 @@ async function cmdSettings(args: string, ctx: ExtensionContext): Promise<void> {
4370
4370
  cmdLog(trimmed.slice("log".length).trim(), ctx);
4371
4371
  return;
4372
4372
  }
4373
- // v0.28.31: /glla reset — one-shot clean slate for leftover-laden projects.
4373
+ // v0.28.33: renamed reset → wipe — "reset" sat at edit-distance 2 from
4374
+ // "resume" in the same namespace, and it's the destructive one (user
4375
+ // catch, same day it shipped, before any muscle memory formed).
4376
+ if (/^wipe\b/.test(trimmed)) {
4377
+ await cmdGllaWipe(ctx);
4378
+ return;
4379
+ }
4374
4380
  if (/^reset\b/.test(trimmed)) {
4375
- await cmdGllaReset(ctx);
4381
+ ctx.ui.notify("/glla reset is now /glla wipe (renamed — too close to /glla resume). Nothing was done.", "info");
4376
4382
  return;
4377
4383
  }
4378
4384
  // v0.28.32: /glla resume + /glla cancel — type-blind verbs over the ONE
@@ -4776,9 +4782,9 @@ export default function (pi: ExtensionAPI): void {
4776
4782
  ["decisionpopup=", "on|off: decision pauses pop the select() picker (default on; the widget card always lists the options, /goal decide reopens the picker)"],
4777
4783
  ["auditcap=", "N: pause goal after N consecutive auditor disapprovals (default 5, 0 = unlimited)"],
4778
4784
  ["log", "event-trail tail: /glla log [N] — who created/resumed/paused what, from where (v0.28.28)"],
4779
- ["reset", "wipe live glla state (goal archived, list cleared, loop stopped) — one-shot cleanup for leftover-laden projects"],
4785
+ ["wipe", "WIPE live glla state (goal archived, list cleared, loop stopped) — one-shot cleanup for leftover-laden projects"],
4780
4786
  ["resume", "resume WHATEVER is paused/held (goal, list item, or held loop) — no need to know the type"],
4781
- ["cancel", "cancel the ONE live thing uniformly (goal/list item archived, loop stopped) — queue untouched; /list clear or /glla reset for more"],
4787
+ ["cancel", "cancel the ONE live thing uniformly (goal/list item archived, loop stopped) — queue untouched; /list clear or /glla wipe for more"],
4782
4788
  ["auditfeedbackchars=", "cap on executor-visible disapproval report chars (0 = full report, the default)"],
4783
4789
  ["aggressivemode=", "on: keep-going defaults — autoResume, cap 10, stuck 10, wedge off, quota auto-retry, cap→TODOs"],
4784
4790
  ["quotaretryminutes=", "N: minutes before auto-retrying a quota-exhausted auditor (default 60)"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-goal-list-loop-audit",
3
- "version": "0.28.32",
3
+ "version": "0.28.33",
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",