pi-goal-list-loop-audit 0.28.2 → 0.28.3
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/extensions/loops/goal.ts +8 -3
- package/package.json +1 -1
package/extensions/loops/goal.ts
CHANGED
|
@@ -4083,7 +4083,8 @@ export default function (pi: ExtensionAPI): void {
|
|
|
4083
4083
|
// never auto-resumes. Once running, the chain auto-continues forever
|
|
4084
4084
|
// unless a super-stuck brake (stall escalation / stale-api / latch)
|
|
4085
4085
|
// stops it loudly.
|
|
4086
|
-
const
|
|
4086
|
+
const autoResumeSetting = resolveEffectiveAggressiveSettings(loadSettings(ctx.cwd)).autoResume;
|
|
4087
|
+
const autoResume = shouldAutoResumeOnSessionStart(event?.reason, autoResumeSetting);
|
|
4087
4088
|
// v0.25.0 (contract item 6): aggressiveMode announces every auto-event.
|
|
4088
4089
|
if (
|
|
4089
4090
|
autoResume &&
|
|
@@ -4109,10 +4110,14 @@ export default function (pi: ExtensionAPI): void {
|
|
|
4109
4110
|
);
|
|
4110
4111
|
}
|
|
4111
4112
|
} else if (state.goal && state.goal.status === "active" && state.goal.autoContinue) {
|
|
4112
|
-
|
|
4113
|
+
// v0.28.3 (S2 completed): an infra interrupt outranks the DEFAULT
|
|
4114
|
+
// hold — the goal never chose to stop; pi killed its handle. With
|
|
4115
|
+
// autoresume unset, an interrupted goal auto-resumes even on a human
|
|
4116
|
+
// session load; explicit /glla autoresume=off still holds.
|
|
4117
|
+
const wasInterrupted = !!state.goal.interruptedAt;
|
|
4118
|
+
if (autoResume || (wasInterrupted && autoResumeSetting !== false)) {
|
|
4113
4119
|
// v0.28.1 (S2): clear the stale-handle interrupt marker — this IS
|
|
4114
4120
|
// the auto-resume the marker promised.
|
|
4115
|
-
const wasInterrupted = !!state.goal.interruptedAt;
|
|
4116
4121
|
if (wasInterrupted) updateGoal({ interruptedAt: undefined, interruptedReason: undefined }, ctx);
|
|
4117
4122
|
ctx.ui.notify(
|
|
4118
4123
|
`Resuming ${state.goal.policy === "list" ? "list item" : "goal"} [${state.goal.id}]: ${state.goal.objective.slice(0, 70)}${listQueue().length > 0 ? ` (+${listQueue().length} queued)` : ""}${wasInterrupted ? " — auto-resumed after the stale-handle interrupt" : ""}`,
|
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.3",
|
|
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",
|