pi-goal-list-loop-audit 0.34.0 → 0.34.1

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.
@@ -196,11 +196,14 @@ export function buildStatusText(state: State, audit?: AuditDisplayProgress | nul
196
196
  // v0.28.22: the status line names the ACTIONABILITY, not the reason —
197
197
  // "decision needed" / "action needed" / "waiting" tell you at a glance
198
198
  // whether the session needs you. Legacy pauses keep the reason dump.
199
+ // v0.34.1: the policy word leaves the status line — the widget's head
200
+ // chip already names the type ("list item"), so "glla: list ⏸ …" doubled
201
+ // it. Status line = state/actionability only.
199
202
  const kind = pauseKind(g);
200
- if (kind === "decision") return `glla: ${g.policy} ${paint(theme, "accent", "⏸ decision needed")}${heldSuffix}`;
201
- if (kind === "error") return `glla: ${g.policy} ${paint(theme, "error", `⏸ action needed — ${truncate(g.pauseReason ?? "", 30)}`)}${heldSuffix}`;
202
- if (kind === "wait") return `glla: ${g.policy} ${paint(theme, "dim", `⏳ waiting${g.pauseResumeAt ? ` · resumes ${shortClock(g.pauseResumeAt)}` : ""}`)}${heldSuffix}`;
203
- const label = `${g.policy} paused ⏸ ${truncate(g.pauseReason ?? "", 40)}`;
203
+ if (kind === "decision") return `glla: ${paint(theme, "accent", "⏸ decision needed")}${heldSuffix}`;
204
+ if (kind === "error") return `glla: ${paint(theme, "error", `⏸ action needed — ${truncate(g.pauseReason ?? "", 30)}`)}${heldSuffix}`;
205
+ if (kind === "wait") return `glla: ${paint(theme, "dim", `⏳ waiting${g.pauseResumeAt ? ` · resumes ${shortClock(g.pauseResumeAt)}` : ""}`)}${heldSuffix}`;
206
+ const label = `paused ⏸ ${truncate(g.pauseReason ?? "", 40)}`;
204
207
  return `glla: ${paint(theme, pauseIsError(g) ? "error" : "warning", label)}${heldSuffix}`;
205
208
  }
206
209
  if (g.status === "active") {
@@ -208,7 +211,7 @@ export function buildStatusText(state: State, audit?: AuditDisplayProgress | nul
208
211
  // v0.29.11: the fresh session HOLDS it (hold-everything restore gate;
209
212
  // autoresume=on resumes for you) — name the verb, don't promise auto.
210
213
  if (g.interruptedAt) {
211
- return `glla: ${g.policy} ${paint(theme, "error", "⚠ interrupted — stale handle · /reload → /glla resume")}${heldSuffix}`;
214
+ return `glla: ${paint(theme, "error", "⚠ interrupted — stale handle · /reload → /glla resume")}${heldSuffix}`;
212
215
  }
213
216
  // v0.24.7: list policy gets its own wording — a queue item is not a goal.
214
217
  // v0.28.11 (U10): goal policy joins it — "list 29" read as a command
@@ -217,7 +220,10 @@ export function buildStatusText(state: State, audit?: AuditDisplayProgress | nul
217
220
  const n = state.list?.length ?? 0;
218
221
  const queue = n === 0 ? "" : ` · ${n} queued`;
219
222
  const tasks = g.taskList ? ` ${countDone(g)}/${countTotal(g)} tasks ·` : "";
220
- return `glla: ${g.policy} ${paint(theme, "success", "●")}${tasks} ${fmtElapsed(now - Date.parse(g.createdAt))}${queue}${heldSuffix}`;
223
+ // v0.34.1: no policy word here either — "glla: list ●" duplicated the
224
+ // widget's "list item" chip (field screenshot 2026-08-01). The queue
225
+ // suffix still hints list context when the widget is scrolled away.
226
+ return `glla: ${paint(theme, "success", "●")}${tasks} ${fmtElapsed(now - Date.parse(g.createdAt))}${queue}${heldSuffix}`;
221
227
  }
222
228
  // complete/aborted → clear — but a held loop still shows.
223
229
  if (held) return `glla: loop ${paint(theme, "warning", "⏸ held")} · iter ${held.iteration} — /loop to resume`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-goal-list-loop-audit",
3
- "version": "0.34.0",
3
+ "version": "0.34.1",
4
4
  "description": "Mission control for autonomous pi: interview-drafted goals, an audited task queue, and forever-loops (metric, spec, project-audit) that run for hours. An isolated extension-less auditor re-verifies every completion with raw evidence; confirmed drafts, decision pauses and consent gates keep you in charge.",
5
5
  "license": "MIT",
6
6
  "author": "dracon",