pi-goal-list-loop-audit 0.29.17 → 0.29.18
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.
|
@@ -427,7 +427,7 @@ export function auditMeasureCmd(): string {
|
|
|
427
427
|
* identity, on the current branch — no invented identities or branches).
|
|
428
428
|
*/
|
|
429
429
|
export function auditTarget(): string {
|
|
430
|
-
return `Audit the project for real problems and fix them, iteration by iteration. Every iteration: (1)
|
|
430
|
+
return `Audit the project for real problems and fix them, iteration by iteration — FIX-FIRST: the open backlog comes down before new hunting (user design 2026-07-30: "audit to fix then audit then fix again" — not find-and-present). Every iteration: (1) FIX the highest-severity OPEN finding(s) in ${AUDIT_FINDINGS_REL} — real fixes, committed — then check the box: "- [x] … — fixed in <commit>". An iteration that closes nothing while OPEN findings remain is a wasted iteration: if the top findings are genuinely blocked, say what blocks them in one line and work the first unblocked one — "no new action this turn" is never an acceptable iteration while open boxes exist. (2) RE-AUDIT on cadence, not every iteration — run a fresh audit pass (spawn Explore subagents for breadth; hunting real issues: bugs, broken flows, regressions, drift between docs and code, dead code, security holes; not style nits, not speculative refactors) ONLY when no OPEN findings remain, when roughly ten iterations have passed since the last pass, or when your own fixes plausibly broke something. (3) Append every NEW finding as one checkbox line "- [ ] SEVERITY: short description (file:line)" to ${AUDIT_FINDINGS_REL} (create the file on the first finding; append-only — never delete, rewrite, or reorder existing lines; never re-report a finding already listed). (4) Honesty law: never fabricate findings to look busy; never mark a finding fixed without the fix commit existing. The orchestrator counts CLOSED findings every iteration (direction=max): discovery alone does not move the metric — landing fixes does. When a full audit pass surfaces nothing new AND no open findings remain, say so plainly — the plateau stop ends the loop when the well is dry.`;
|
|
431
431
|
}
|
|
432
432
|
|
|
433
433
|
// ---- /goal audit-project (v0.29.8) ----
|
package/extensions/loops/goal.ts
CHANGED
|
@@ -5471,6 +5471,17 @@ export default function (pi: ExtensionAPI): void {
|
|
|
5471
5471
|
persistState(ctx);
|
|
5472
5472
|
appendLedger(ctx.cwd, "audit_loop_metric_migrated", { from: "open-count/min", to: "closed-count/max" });
|
|
5473
5473
|
}
|
|
5474
|
+
// v0.29.18: migrate live/held audit loops to the FIX-FIRST target —
|
|
5475
|
+
// the audit-every-iteration template made discovery (8-12/iter)
|
|
5476
|
+
// outpace fixes (1/iter) and allowed "no new action" iterations with
|
|
5477
|
+
// open boxes (field: hegemon iter 26 — the user watched it find and
|
|
5478
|
+
// present instead of fix). Target-only swap: the metric (closed
|
|
5479
|
+
// count/max) is unchanged, so best/stall stay.
|
|
5480
|
+
if (state.loop?.kind === "audit" && state.loop.target?.includes("Every iteration: (1) run a FRESH audit pass")) {
|
|
5481
|
+
state.loop = { ...state.loop, target: auditTarget() };
|
|
5482
|
+
persistState(ctx);
|
|
5483
|
+
appendLedger(ctx.cwd, "audit_loop_target_migrated", { from: "audit-every-iteration", to: "fix-first" });
|
|
5484
|
+
}
|
|
5474
5485
|
if (isLoopActive()) {
|
|
5475
5486
|
const l = state.loop!;
|
|
5476
5487
|
if (autoResume) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-goal-list-loop-audit",
|
|
3
|
-
"version": "0.29.
|
|
3
|
+
"version": "0.29.18",
|
|
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",
|