pi-goal-list-loop-audit 0.38.8 → 0.38.9
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.9 — over-cap strategy stated and pinned (2026-09-03)
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
Explicit rung order for over-cap + model-can't-compress: always-on checkpoint projection (trim), guarded fallback-chain rotation on compact failure, `/new` + resume from durable state as the backstop — with the viability ranking (switch when a bigger model exists, `/new` when none can compress). Runbook in `audit/OVERCAP-STRATEGY-2026-09-03.md`.
|
|
7
|
+
|
|
8
|
+
### Fixed
|
|
9
|
+
Stale advice: the ladder no longer advises a `/compact` retry when one already failed inside the 90s grace window (`recentCompact` → step (1) points at (2)/(3)). `tests/overcap-strategy.test.ts` (3 tests) pins the skip shape and both behavioral chain branches (rotation with chain, honest ladder without).
|
|
10
|
+
|
|
3
11
|
## 0.38.8 — TUI information-density pass (2026-09-03)
|
|
4
12
|
|
|
5
13
|
### Added
|
package/docs/INDEX.md
CHANGED
|
@@ -18,7 +18,7 @@ For shipped docs, the relevant entry points are:
|
|
|
18
18
|
failback; v0.35.9 hardened cross-version npm tarball checks; v0.35.10
|
|
19
19
|
handles multi-entry npm dry-run reports; v0.35.11 accepts both npm report
|
|
20
20
|
shapes; v0.35.12 supports npm 12's keyed pack reports; v0.35.13 fixes stale-API recovery loops.
|
|
21
|
-
v0.35.14–v0.38.
|
|
21
|
+
v0.35.14–v0.38.9 continue through the supervisor freeze (`/glla pause`),
|
|
22
22
|
load hold, auditor picker parity, Windows launch fix, zombie-watchdog
|
|
23
23
|
subagent carve-out, due-wait backstop, the `/glla agents` visibility panel,
|
|
24
24
|
durable state-root selection, blank-until-resume auditor context, frozen
|
|
@@ -2008,11 +2008,8 @@ export function registerGoalRuntime(pi: ExtensionAPI): void {
|
|
|
2008
2008
|
return;
|
|
2009
2009
|
}
|
|
2010
2010
|
}
|
|
2011
|
-
// v0.38.6
|
|
2012
|
-
|
|
2013
|
-
// /new + resume from durable state) instead of only the auto-compact
|
|
2014
|
-
// pointer — field 2026-09-03: summarization itself was failing.
|
|
2015
|
-
ctx.ui.notify(buildStarvationLadderMessage({ percent: typeof contextUsage?.percent === "number" ? contextUsage.percent : null, streak: starved.streak }), "info");
|
|
2011
|
+
// Ladder banner (v0.38.6; v0.38.9 skips stale step 1 after a failed compact-and-retry).
|
|
2012
|
+
ctx.ui.notify(buildStarvationLadderMessage({ percent: typeof contextUsage?.percent === "number" ? contextUsage.percent : null, streak: starved.streak, recentCompact: sinceLastCompactMs < COMPACTION_GRACE_MS }), "info");
|
|
2016
2013
|
return;
|
|
2017
2014
|
}
|
|
2018
2015
|
if (lc.giveUpNow) {
|
|
@@ -317,7 +317,7 @@ interface GoalRuntimeDataTypes {
|
|
|
317
317
|
lastContextStarvedAt: number;
|
|
318
318
|
noteContextPercent: (pct: number | null | undefined) => void;
|
|
319
319
|
shouldCompactFirstNudge: (percent: number | null | undefined) => boolean;
|
|
320
|
-
buildStarvationLadderMessage: (input?: { percent?: number | null; streak?: number }) => string;
|
|
320
|
+
buildStarvationLadderMessage: (input?: { percent?: number | null; streak?: number; recentCompact?: boolean }) => string;
|
|
321
321
|
COMPACT_FIRST_NUDGE_PERCENT: number;
|
|
322
322
|
lastContextPercent: number | null;
|
|
323
323
|
postCompactResumeOwed: boolean;
|
|
@@ -993,16 +993,18 @@ export function shouldCompactFirstNudge(percent: number | null | undefined): boo
|
|
|
993
993
|
/** v0.38.6: the over-cap ladder, user-facing. Three recoveries in order
|
|
994
994
|
* (retry /compact after GLLA's deterministic trim, larger-context model,
|
|
995
995
|
* /new + resume from durable state) plus the no-LLM backstop: the
|
|
996
|
-
* post-compact resync re-anchors a fresh session with no summarization.
|
|
997
|
-
|
|
996
|
+
* post-compact resync re-anchors a fresh session with no summarization.
|
|
997
|
+
* `recentCompact` skips the stale retry (v0.38.9). */
|
|
998
|
+
export function buildStarvationLadderMessage(input: { percent?: number | null; streak?: number; recentCompact?: boolean } = {}): string {
|
|
998
999
|
const at = typeof input.percent === "number" && Number.isFinite(input.percent)
|
|
999
1000
|
? `${input.percent.toFixed(1)}%` : "nearly full";
|
|
1000
|
-
//
|
|
1001
|
-
// the ladder. Same content, scannable shape.
|
|
1001
|
+
// One recovery per line (v0.38.8) — same content, scannable shape.
|
|
1002
1002
|
return [
|
|
1003
1003
|
`glla: output-token stop was context starvation (tiny output at ${at} context) — yielding to pi auto-compaction instead of re-sending.`,
|
|
1004
1004
|
`If compaction fails or context is already over cap, in order:`,
|
|
1005
|
-
|
|
1005
|
+
input.recentCompact === true
|
|
1006
|
+
? `(1) skip the /compact retry — one already failed within the last 90s; the trim below already ran, so go straight to (2)/(3);`
|
|
1007
|
+
: `(1) run /compact again — GLLA already trimmed repeat payloads to a checkpoint, so the retry may now fit;`,
|
|
1006
1008
|
`(2) switch to a larger-context model, then /compact (GLLA auto-rotates its fallback chain after a failed compact-and-retry);`,
|
|
1007
1009
|
`(3) /new, then /goal resume — the goal, tasks, ledger and audits are durable on disk, and the post-compact resync re-anchors the fresh session with no summarization needed.`,
|
|
1008
1010
|
`Automatic turns stay parked until a real compaction lands.`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-goal-list-loop-audit",
|
|
3
|
-
"version": "0.38.
|
|
3
|
+
"version": "0.38.9",
|
|
4
4
|
"description": "Mission control for autonomous pi: interview-drafted goals, an audited task queue, and forever-loops (metric, spec, project-audit) that run for hours. A detached extension-less auditor process re-verifies every completion with raw evidence without holding the main pi turn; confirmed drafts, decision pauses and consent gates keep you in charge.",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"author": "dracon",
|