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 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
- - optionally, [Bun](https://bun.sh/) if you are developing GLLA or running its
18
- test suite.
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
- The status line always shows the running version (`glla: … · vX.Y.Z`).
35
- When the npm registry is ahead, it also nudges:
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
- Living plan for the project. Update this file as decisions land or milestones close.
4
- New here? Start with README.md and INSTALL.md — this file is the historical
5
- plan, not the onboarding path.
6
- Last updated: v0.29.6 (header refresh). The milestones
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-gla/active.jsonl | tail -3
62
- ls .pi-gla/archive/ # expect: one .md file
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 in chat, transcript, and the
115
- archive's `## Terminal summary` renders the same facts as rich sections
116
- (`## Done: <objective> — <outcome>`, duration line, Key Findings grouped by area
117
- or tabulated at 4+ groups with per-finding `Test Results:` proof lines,
118
- Verification Summary table — widened to Quality Gate | Command | Scope |
119
- Status | Notes when any gate row carries a repro command, else Quality
120
- Gate | Scope | Status | Notes — with derived statuses when the agent
121
- supplies a gate inventory — uncapped findings/values (Next keeps the
122
- one-concrete-action rule), and a Final
123
- Repository State section (branch, HEAD, tree) closing the card behind a
124
- verdict banner that opens it (`## Done — auditor approved (N verdicts)`
125
- and siblings). Width-bound and external surfaces (status line, widget card,
126
- external notifies) use the compact single-line projection of all six labels.
127
- Every terminal goal notification, including version-bearing already-shipped claims,
128
- explicit goal/list cancellation, and `/glla wipe`, carries either the rich sections
129
- or the compact projection; loop notifications do the same. The terminal
130
- notification may use a compact excerpt. The executor recap and independent
131
- auditor verdict stay separate: an approval is not manufactured from the
132
- presence of a summary.
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.97 continue through the supervisor freeze (`/glla pause`),
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 # show active + waiting items
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