pi-goal-list-loop-audit 0.38.97 → 0.38.98
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/CHANGELOG.md +8 -0
- package/INSTALL.md +6 -4
- package/PLAN.md +10 -6
- package/docs/DESIGN-long-running-supervision.md +23 -19
- package/docs/INDEX.md +1 -1
- package/examples/example-objective.md +2 -1
- package/extensions/compaction-input.ts +607 -0
- package/extensions/completion-summary.ts +104 -50
- package/extensions/drafting-interview.ts +623 -0
- package/extensions/goal-agents-panel.ts +5 -2
- package/extensions/goal-commands.ts +12 -2
- package/extensions/goal-continuation.ts +4 -1
- package/extensions/goal-heartbeat.ts +11 -2
- package/extensions/goal-loop-auditor-process.ts +84 -2
- package/extensions/goal-loop-core.ts +6 -0
- package/extensions/goal-loop-display.ts +17 -5
- package/extensions/goal-loop-forever.ts +20 -6
- package/extensions/goal-loop-subagents.ts +14 -0
- package/extensions/goal-loop.ts +142 -33
- package/extensions/goal-recovery.ts +17 -5
- package/extensions/goal-settings.ts +25 -5
- package/extensions/loops/goal-activation.ts +121 -1
- package/extensions/loops/goal-auditor-hooks.ts +1 -0
- package/extensions/loops/goal-list-queue.ts +47 -25
- package/extensions/loops/goal-orchestrator.ts +26 -11
- package/extensions/loops/goal-tools.ts +126 -45
- package/extensions/quota-retry.ts +7 -5
- package/extensions/vision-assist.ts +9 -1
- package/package.json +4 -2
- package/prompts/goal-loop-continuation.md +2 -2
- package/schemas/goal.schema.json +2 -1
- package/scripts/goal-auditor-worker.mjs +4 -1
- package/scripts/verify-compaction-live.mjs +615 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.38.98 — audited lifecycle hardening and change-first completion (2026-09-24)
|
|
4
|
+
|
|
5
|
+
- Fresh audit repairs make goal/list/loop state durable across persistence failures, session replacement, compaction failure, repair promotion, and branch-mode completion. Confirmed loop refinements now apply atomically instead of mutating live state before the spec is safely written.
|
|
6
|
+
- Draft, task, repair, and queue proposals validate their durable contract before side effects; empty or malformed work cannot silently become an active goal. Managed subagent paths are constrained and vision fallback arguments are safely quoted.
|
|
7
|
+
- Terminal output is change-first: approved objectives lead with the delivered behavior, explicit remaining work, and one next action. Verification remains available in the durable archive and is shown in chat only when requested. Status/history and provider diagnostics are sanitized for terminal control bytes.
|
|
8
|
+
- The shipped contract now matches current Pi usage and GLLA state: Bun is documented for development gates, bare `/list` is shown as Confirm-gated drafting, the historical plan is clearly non-authoritative, and the published goal schema is exercised through real JSON Schema validation.
|
|
9
|
+
- The npm package explicitly advertises its Pi extension/skill manifest and gallery preview image. `pi install npm:pi-goal-list-loop-audit` remains the supported install path; the official `pi.dev/packages` gallery indexes the `pi-package` release automatically.
|
|
10
|
+
|
|
3
11
|
## 0.38.97 — pause_goal redirect: park-and-continue for user interruptions (2026-09-23)
|
|
4
12
|
|
|
5
13
|
- Field: a mid-goal redirect ("can we get to this first") parked via pause_goal, whose abort + "do NOT continue working" stranded the new task until the user nudged. New optional `redirect` param parks the goal WITHOUT ending the turn and orders the redirect worked immediately, goal resumed after; redirect parks ledger distinctly as `pause_goal_redirect`. Plain pauses still abort (audit/PAUSE-REDIRECT-2026-09-23.md).
|
package/INSTALL.md
CHANGED
|
@@ -14,8 +14,8 @@ installation path.
|
|
|
14
14
|
- [pi](https://github.com/badlogic/pi-mono) with extension support;
|
|
15
15
|
- Node `22.19.0+` for the detached auditor and helper scripts;
|
|
16
16
|
- a model/provider that pi can authenticate normally;
|
|
17
|
-
-
|
|
18
|
-
|
|
17
|
+
- [Bun](https://bun.sh/) only for development, tests, and `npm run release:check`
|
|
18
|
+
(runtime goal/loop/list operation needs Node + pi, not Bun).
|
|
19
19
|
|
|
20
20
|
## Install from npm
|
|
21
21
|
|
|
@@ -31,8 +31,10 @@ GLLA loads into new pi sessions. If pi is already open, reload that session:
|
|
|
31
31
|
|
|
32
32
|
## Updating
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
While a goal/list/loop is supervised, the status line shows the running
|
|
35
|
+
version (`glla: … · vX.Y.Z`). Idle or hold-only sessions intentionally keep the
|
|
36
|
+
version segment clear; use `/glla version` there. When the npm registry is
|
|
37
|
+
ahead, an active supervised status also nudges:
|
|
36
38
|
|
|
37
39
|
```text
|
|
38
40
|
glla: … · vX.Y.Z · update vA.B.C available
|
package/PLAN.md
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
# PLAN — pi-goal-list-loop-audit
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
> **Historical scaffold plan — not runnable onboarding or current product
|
|
4
|
+
> documentation.** The command/state examples below describe the v0.1–v0.7 era
|
|
5
|
+
> (for example `.pi-gla/` and the former five-minute backoff cap). Use
|
|
6
|
+
> [`README.md`](README.md) and [`INSTALL.md`](INSTALL.md) for current setup and
|
|
7
|
+
> commands. The milestones below record how the project reached its current
|
|
8
|
+
> architecture; later decisions live in `CHANGELOG.md` and `docs/DESIGN.md`.
|
|
9
|
+
>
|
|
10
|
+
> The milestones
|
|
7
11
|
below cover the v0.1.0–v0.7.0 scaffold era; later decisions live in CHANGELOG.md
|
|
8
12
|
(current through v0.29.6) and the current-state addendum in docs/DESIGN.md.
|
|
9
13
|
|
|
@@ -58,8 +62,8 @@ pi -e /home/dracon/Dev/pi-goal-list-loop-audit
|
|
|
58
62
|
> /goal "Create file hello.txt containing the word world. Done when: grep -q world hello.txt"
|
|
59
63
|
# expect: agent writes file, calls complete_goal, auditor approves, goal archived
|
|
60
64
|
> /goal status # expect: complete, audit history shows 1 approved
|
|
61
|
-
cat .pi-
|
|
62
|
-
ls .pi-
|
|
65
|
+
cat .pi-glla/active.jsonl | tail -3
|
|
66
|
+
ls .pi-glla/archive/ # expect: one .md file
|
|
63
67
|
```
|
|
64
68
|
|
|
65
69
|
### M2 — v0.2.0 (list + drafting + regression_shield) ✅ (2026-07-20)
|
|
@@ -111,25 +111,29 @@ path. It says `not recorded` when a changed-file manifest or test result is not
|
|
|
111
111
|
available. It never infers a passing test or invents a commit.
|
|
112
112
|
|
|
113
113
|
The full six-label recap lives verbatim in the archive (`## Completion summary`)
|
|
114
|
-
and the status/history surfaces. The human layer
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
114
|
+
and the status/history surfaces. The human layer follows two different purposes:
|
|
115
|
+
|
|
116
|
+
- Chat and transcript explain **what happened**: outcome first, then a
|
|
117
|
+
change-first `What Changed` account grouped by area, followed by material
|
|
118
|
+
`Remaining` limitations and one concrete `Next` action. Tests, verification,
|
|
119
|
+
gate tables, commands, hashes, and machine evidence stay out of the default
|
|
120
|
+
user view. If the user explicitly asks for verification, the terminal render
|
|
121
|
+
may add one compact `Verification` sentence; the archive always retains the
|
|
122
|
+
complete evidence.
|
|
123
|
+
- The archive's `## Terminal summary` remains forensic and complete: detailed
|
|
124
|
+
findings grouped or tabulated at 4+ groups, per-finding proof, the full
|
|
125
|
+
Verification Summary table (Quality Gate | Command | Scope | Status | Notes
|
|
126
|
+
when supplied), and Final Repository State.
|
|
127
|
+
|
|
128
|
+
Both surfaces retain the independent auditor verdict and the full six-label
|
|
129
|
+
machine recap. A lone approval may be promoted to the chat headline because
|
|
130
|
+
it is a durable verdict fact, not because tests passed. Width-bound and
|
|
131
|
+
external surfaces use the compact single-line projection of all six labels.
|
|
132
|
+
Every terminal goal notification, including version-bearing already-shipped
|
|
133
|
+
claims and explicit cancellation, carries the change-first human view or the
|
|
134
|
+
compact projection; loop notifications do the same. The executor recap and
|
|
135
|
+
independent auditor verdict stay separate: an approval is not manufactured from
|
|
136
|
+
the presence of a summary.
|
|
133
137
|
|
|
134
138
|
Metric-loop stops use the same six-label contract in their durable loop state
|
|
135
139
|
and `/loop status`, and every terminal loop notification carries a compact
|
package/docs/INDEX.md
CHANGED
|
@@ -16,7 +16,7 @@ Policy contracts and recent changes live in the `audit/` directory of the
|
|
|
16
16
|
failback; v0.35.9 hardened cross-version npm tarball checks; v0.35.10
|
|
17
17
|
handles multi-entry npm dry-run reports; v0.35.11 accepts both npm report
|
|
18
18
|
shapes; v0.35.12 supports npm 12's keyed pack reports; v0.35.13 fixes stale-API recovery loops.
|
|
19
|
-
v0.35.14–v0.38.
|
|
19
|
+
v0.35.14–v0.38.98 continue through the supervisor freeze (`/glla pause`),
|
|
20
20
|
load hold, auditor picker parity, Windows launch fix, zombie-watchdog
|
|
21
21
|
subagent carve-out, due-wait backstop, the `/glla agents` visibility panel,
|
|
22
22
|
durable state-root selection, blank-until-resume auditor context, frozen
|
|
@@ -46,7 +46,8 @@ Useful commands: `/goal status`, `/goal pause`, `/goal resume`, `/goal cancel`,
|
|
|
46
46
|
```
|
|
47
47
|
/list Create one.txt containing one. Done when: grep -q one one.txt
|
|
48
48
|
/list Create two.txt containing two. Done when: grep -q two two.txt
|
|
49
|
-
/list
|
|
49
|
+
/list show # show active + waiting items
|
|
50
|
+
/list # draft new list items from the current context (Confirm-gated)
|
|
50
51
|
/list next # skip current item
|
|
51
52
|
/list remove 2 # drop item 2
|
|
52
53
|
/list clear # empty the list
|