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
|
-
|
|
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
|
-
|
|
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
|
|
package/extensions/loops/goal.ts
CHANGED
|
@@ -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.
|
|
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",
|