pi-goal-list-loop-audit 0.29.2 → 0.29.3

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.
@@ -1602,6 +1602,12 @@ async function showDecisionPrompt(ctx: ExtensionContext): Promise<boolean> {
1602
1602
  if (!pick) return true; // Escape — the widget card remains the fallback
1603
1603
  const idx = options.indexOf(pick);
1604
1604
  const label = g.pauseOptions![idx] ?? pick.replace(/ {2}\(recommended\)$/, "");
1605
+ // v0.29.3: the wipe escape — "… (/glla wipe)" options run the wipe
1606
+ // (which Confirms on its own — destructive actions keep their gate).
1607
+ if (/\(\/glla wipe\)\s*$/.test(label)) {
1608
+ await cmdGllaWipe(ctx);
1609
+ return true;
1610
+ }
1605
1611
  // Executable options — "Label (/goal cancel)" — RUN the command.
1606
1612
  // Placeholder commands (…/<arg>) fall through to the message path.
1607
1613
  const cmdMatch = label.match(/\(\/(goal|list|loop) ([a-z]+)\)\s*$/);
@@ -5031,7 +5037,10 @@ export default function (pi: ExtensionAPI): void {
5031
5037
  if (next.length !== before) changed = true;
5032
5038
  }
5033
5039
  if (changed) pi.setActiveTools(next);
5034
- if (!toolHealNotified) {
5040
+ if (!toolHealNotified && missing.length > 0) {
5041
+ // v0.29.3: the notify used to fire even when NOTHING was missing —
5042
+ // "glla: 0 agent tool(s) were hidden … re-activated ()" at every pi
5043
+ // start (field-observed in darklord). Warn only on a real heal.
5035
5044
  toolHealNotified = true;
5036
5045
  const list = missing.join(", ");
5037
5046
  ctx.ui.notify(
@@ -5276,7 +5285,12 @@ export default function (pi: ExtensionAPI): void {
5276
5285
  updateGoal({
5277
5286
  status: "paused",
5278
5287
  pauseKind: "decision",
5279
- pauseOptions: ["Stop the loop, then resume the goal (/loop stop)", "Cancel the goal (/goal cancel) — the loop keeps running"],
5288
+ // v0.29.3: third option the wipe escape. Old projects stack a
5289
+ // goal AND a loop AND a list from pre-guard versions; arbitrating
5290
+ // between two artifacts the user doesn't even remember is the odd
5291
+ // part — "i feel like wipe does [make sense]". Wipe keeps its own
5292
+ // Confirm (destructive), so picking it is safe to offer.
5293
+ pauseOptions: ["Stop the loop, then resume the goal (/loop stop)", "Cancel the goal (/goal cancel) — the loop keeps running", "Wipe everything — clean slate for stale leftovers (/glla wipe)"],
5280
5294
  pauseRecommended: 1,
5281
5295
  pauseReason: "held on session load — the loop owns the active slot (one active thing at a time)",
5282
5296
  pauseSuggestedAction: "/loop to work the loop, or /loop stop then /goal resume to work the goal",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-goal-list-loop-audit",
3
- "version": "0.29.2",
3
+ "version": "0.29.3",
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",