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 +7 -3
- package/extensions/loops/goal.ts +1 -1
- package/extensions/reviewer.ts +6 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ Install:
|
|
|
27
27
|
pi install npm:pi-goal-list-loop-audit
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
|
|
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 #
|
|
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/ #
|
|
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
|
```
|
package/extensions/loops/goal.ts
CHANGED
|
@@ -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|
|
|
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", {
|
package/extensions/reviewer.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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.
|
|
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",
|