pi-goal-list-loop-audit 0.28.8 → 0.28.10

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.
package/README.md CHANGED
@@ -27,7 +27,7 @@ Install:
27
27
  pi install npm:pi-goal-list-loop-audit
28
28
  ```
29
29
 
30
- Four top-level commands, that's all:
30
+ Five top-level commands `/goal`, `/list`, `/loop`, `/glla`, `/review`:
31
31
 
32
32
  ```
33
33
  /goal # drafting: agent grills, you Confirm
@@ -40,12 +40,13 @@ Four top-level commands, that's all:
40
40
  /goal cancel # abort
41
41
  /goal tweak "<new objective>" # edit in place (Confirm dialog)
42
42
  /goal archive # archived goals, newest first
43
- /glla # open the settings UI (or /glla key=value)
43
+ /glla # settings UI table · /glla key=value · /glla stats · /glla audits [N|full] · /glla postaudit · /glla autoaccept=on
44
44
  /list fix the login bug, add dark mode, write docs # dump it — the agent shapes it into items, one Confirm
45
45
  /list plan.md # file detected → bulk import, one Confirm (sisyphus/Ralph style)
46
46
  /list <paste a checklist> # multi-line paste → same batch flow
47
47
  /list "fix the flaky test. Done when: npm test green" # explicit contract → added directly, no interview
48
48
  /list # show the list (add/import are optional no-op aliases — detection routes everything)
49
+ ```
49
50
 
50
51
  (Or just say it: "queue these 10 things…" — the agent manages the list too.)
51
52
 
@@ -53,6 +54,8 @@ Four top-level commands, that's all:
53
54
  `/list next <n>` or the agent's `list_activate` tool picks any item — with
54
55
  subagents, what gets worked next is a choice, not a position. Numbering always
55
56
  matches `/list show`.
57
+
58
+ ```
56
59
  /list # show active + waiting items
57
60
  /list next # skip current, activate next
58
61
  /list remove <n> # drop item n from the list
@@ -67,6 +70,7 @@ matches `/list show`.
67
70
  /loop start "keep improving SPEC.md" measure=none max=20 # metricless with an explicit cap (v0.23.0)
68
71
  /loop status # iteration, best, stall, recent values
69
72
  /loop stop # halt with summary
73
+ /review <goal-id> [off|on|auto|aggressive] # re-review an archived goal (bypasses the trigger gates)
70
74
  ```
71
75
 
72
76
  **Metricless loops** (`measure=none`): for genuinely endless work — an
@@ -311,7 +315,7 @@ prompts/
311
315
  goal-loop-forever-draft.md # /loop drafting prompt
312
316
  scripts/
313
317
  smoke.sh # live integration harness (tmux + real models)
314
- tests/ # 168 unit tests, no live pi required
318
+ tests/ # 545 tests across 58 files, no live pi required (mock-ctx harness drives the orchestrator)
315
319
  docs/DESIGN.md # architectural decisions
316
320
  PLAN.md # milestones, decisions, gates
317
321
  ```
@@ -4041,7 +4041,7 @@ export default function (pi: ExtensionAPI): void {
4041
4041
  handler: settingsHandler,
4042
4042
  });
4043
4043
  pi.registerCommand("review", {
4044
- description: "Manually run the reviewer on an archived goal: /review <goal-id> [auto|report|default] — extracts findings, writes a report to .pi-glla/reviews/, cascades per the mode (auto = auto-loop, no Confirms). Bypasses the trigger gates (explicit user request).",
4044
+ description: "Manually run the reviewer on an archived goal: /review <goal-id> [off|on|auto|aggressive] — extracts findings, writes a report to .pi-glla/reviews/, cascades per the mode (auto/aggressive = no Confirms). Bypasses the trigger gates (explicit user request).",
4045
4045
  handler: (args: string, ctx: ExtensionContext) => { rememberCtx(ctx); return cmdReview(args, ctx); },
4046
4046
  });
4047
4047
  pi.registerCommand("list", {
@@ -311,16 +311,18 @@ export function runReviewer(
311
311
  if (findings.length === 0 && config.cascade.includes("fire-audit-on-clean")) {
312
312
  const auditObjective = `Post-completion regression scan after ${source.goalId} (${config.auditScope})`;
313
313
  if (aggressive) {
314
- deps.proposeGoal(auditObjective, "aggressive postaudit: clean completion — relaunching the regression scan as /goal");
315
- proposed++;
314
+ if (deps.proposeGoal(auditObjective, "aggressive postaudit: clean completion — relaunching the regression scan as /goal")) {
315
+ proposed++;
316
+ }
316
317
  cascadeStep = "aggressive-relaunch";
317
318
  } else if (auto) {
318
319
  deps.enqueueListItems([auditObjective]);
319
320
  enqueued++;
320
321
  cascadeStep = "fire-audit-on-clean";
321
322
  } else {
322
- deps.proposeGoal(auditObjective, "reviewer: completion looks clean — firing the audit step");
323
- proposed++;
323
+ if (deps.proposeGoal(auditObjective, "reviewer: completion looks clean — firing the audit step")) {
324
+ proposed++;
325
+ }
324
326
  cascadeStep = "fire-audit-on-clean";
325
327
  }
326
328
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-goal-list-loop-audit",
3
- "version": "0.28.8",
3
+ "version": "0.28.10",
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",