pi-goal-list-loop-audit 0.24.6 → 0.24.7

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.
@@ -101,7 +101,12 @@ export function buildStatusText(state: State, audit?: AuditDisplayProgress | nul
101
101
  return `glla: ${paint(theme, pauseIsError(g) ? "error" : "warning", label)}`;
102
102
  }
103
103
  if (g.status === "active") {
104
- const queue = state.list?.length ? ` · list ${state.list.length}` : "";
104
+ // v0.24.7: list policy gets its own wording a queue item is not a goal.
105
+ // Before: "glla: list ● 3m 19s · list 29" (policy label AND queue counter
106
+ // both said "list"). After: "glla: list ● 3m 19s · 29 queued". Goal
107
+ // policy keeps the bare "list N" suffix (no duplication there).
108
+ const n = state.list?.length ?? 0;
109
+ const queue = n === 0 ? "" : g.policy === "list" ? ` · ${n} queued` : ` · list ${n}`;
105
110
  const tasks = g.taskList ? ` ${countDone(g)}/${countTotal(g)} tasks ·` : "";
106
111
  return `glla: ${g.policy} ${paint(theme, "success", "●")}${tasks} ${fmtElapsed(now - Date.parse(g.createdAt))}${queue}`;
107
112
  }
@@ -158,12 +163,16 @@ function goalLines(g: Goal, state: State, audit: AuditDisplayProgress | null | u
158
163
  ? paint(theme, "accent", "⟡")
159
164
  : paint(theme, "success", "●");
160
165
  const head = `${icon} ${truncate(g.objective.replace(/\s+/g, " "), budgetFor(width, 3, 64))}`;
166
+ // v0.24.7: a list item is named as such and points at /list — before,
167
+ // the widget called it "active" and hinted "/goal status", reading as if
168
+ // queue work were a standalone goal.
169
+ const isList = g.policy === "list";
161
170
  const statusWord = g.status === "active" ? paint(theme, "success", "active") : g.status;
162
171
  // Token segment only when a budget is set (v0.22.0): the guard is opt-in,
163
172
  // and "0/0 tok" carried no information when off.
164
173
  const tokenLimit = g.usage?.tokensLimit ?? 0;
165
174
  const tokens = tokenLimit > 0 ? ` · ${paint(theme, "dim", `${fmtTokens(g.usage?.tokensUsed ?? 0)}/${fmtTokens(tokenLimit)} tok`)}` : "";
166
- const lines = [head, `├─ ${statusWord} · ${fmtElapsed(now - Date.parse(g.createdAt))}${tokens}`];
175
+ const lines = [head, `├─ ${isList ? "list item · " : ""}${statusWord} · ${fmtElapsed(now - Date.parse(g.createdAt))}${tokens}`];
167
176
  if (g.status === "auditing") {
168
177
  lines.push(`├─ auditor: ${audit?.label ?? "running"}${audit?.currentTool ? ` · ${truncate(audit.currentTool, 30)}` : ""}`);
169
178
  if (audit?.elapsedMs) lines.push(`└─ ${paint(theme, "dim", `${fmtElapsed(audit.elapsedMs)} in isolated session`)}`);
@@ -178,7 +187,10 @@ function goalLines(g: Goal, state: State, audit: AuditDisplayProgress | null | u
178
187
  const next = nextPending(g);
179
188
  if (next) lines.push(`├─ next: ${truncate(next, budgetFor(width, 9, 56))}`);
180
189
  const queue = state.list?.length ?? 0;
181
- lines.push(`└─ ${paint(theme, "dim", `${queue > 0 ? `list ${queue} · ` : ""}/goal status · /glla`)}`);
190
+ const footer = isList
191
+ ? `${queue > 0 ? `${queue} queued · ` : ""}/list · /glla`
192
+ : `${queue > 0 ? `list ${queue} · ` : ""}/goal status · /glla`;
193
+ lines.push(`└─ ${paint(theme, "dim", footer)}`);
182
194
  return lines;
183
195
  }
184
196
 
@@ -595,6 +595,8 @@ async function cmdStatus(ctx: ExtensionContext): Promise<void> {
595
595
  const lines = [
596
596
  `[${g.id}] ${statusLabel(g.status)}`,
597
597
  `Objective: ${g.objective}`,
598
+ // v0.24.7: name WHERE the work came from — a queue item is not a goal.
599
+ ...(g.policy === "list" ? [`Source: /list queue (${listQueue().length} waiting) — /list to manage`] : []),
598
600
  `Auto-continue: ${g.autoContinue ? "on" : "off"}`,
599
601
  `Iteration: ${iterationCounter}`,
600
602
  `Tokens: ${(g.usage?.tokensUsed ?? 0).toLocaleString()}${(g.usage?.tokensLimit ?? 0) > 0 ? ` / ${(g.usage!.tokensLimit).toLocaleString()}` : " (no cap — /glla tokenlimit=<n> to set)"}`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-goal-list-loop-audit",
3
- "version": "0.24.6",
3
+ "version": "0.24.7",
4
4
  "description": "Goal. Loop. Audit. Done. — 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 — only the read tools needed to verify your goal.",
5
5
  "license": "MIT",
6
6
  "author": "dracon",