pi-goal-list-loop-audit 0.38.59 → 0.38.60
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 +13 -0
- package/docs/INDEX.md +1 -1
- package/extensions/completion-summary.ts +19 -7
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.38.60 — Preserve mixed findings and unperformed checks (2026-09-17)
|
|
4
|
+
|
|
5
|
+
### Conservative chat projection
|
|
6
|
+
|
|
7
|
+
Replace keyword-based receipt suppression with complete-statement recognition.
|
|
8
|
+
Only wholly recognized bookkeeping without separate proof is archive-only;
|
|
9
|
+
unknown or mixed clauses stay visible. This preserves ledger data-loss repairs
|
|
10
|
+
even when their explanations say “checked,” and limitations such as validation
|
|
11
|
+
not performed because credentials are unavailable. Grouped and flat renderer
|
|
12
|
+
regressions cover both auditor counterexamples and unknown proof wording.
|
|
13
|
+
Full archive evidence, existing screenshot projections and lifecycle gates
|
|
14
|
+
remain unchanged.
|
|
15
|
+
|
|
3
16
|
## 0.38.59 — Archive-only repository receipts (2026-09-17)
|
|
4
17
|
|
|
5
18
|
Repository-only ledger and closure receipts now stay in the durable archive,
|
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.60 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
|
|
@@ -529,14 +529,26 @@ function chatNarrative(value: string): string {
|
|
|
529
529
|
.trim());
|
|
530
530
|
}
|
|
531
531
|
|
|
532
|
-
/**
|
|
533
|
-
*
|
|
534
|
-
*
|
|
535
|
-
*
|
|
532
|
+
/** Suppression is lossy, so recognize only COMPLETE bookkeeping statements.
|
|
533
|
+
* Unknown wording, mixed clauses and any separately supplied proof stay visible.
|
|
534
|
+
* Never infer expendability from keywords or try to enumerate every possible
|
|
535
|
+
* way an author can describe a limitation. Archive inputs are never filtered. */
|
|
536
536
|
function isRepositoryReceipt(value: string, proof = ""): boolean {
|
|
537
|
-
if (
|
|
538
|
-
|
|
539
|
-
|
|
537
|
+
if (proof.trim()) return false;
|
|
538
|
+
const { lead, body } = leadBody(value);
|
|
539
|
+
if (!/^(?:ledger|traceability(?: repair)?|repository state|repo state|working tree)$/i.test(lead)) return false;
|
|
540
|
+
// Only a syntactically bounded document citation may follow a receipt.
|
|
541
|
+
// Parenthetical prose (including limitations) must not be discarded.
|
|
542
|
+
const statement = body.replace(/\s+\([\w./-]+\.md(?::\d+(?:[-–,]\d+)*)?(?:, commit [a-f0-9]{7,40})?\)\.?$/i, "").replace(/\.$/, "");
|
|
543
|
+
const clauses = statement.split(/;\s*/);
|
|
544
|
+
const receiptClauses = [
|
|
545
|
+
/^(?:\d+|one|two|three|four|five|six|seven|eight|nine|ten) fix entries were checked$/i,
|
|
546
|
+
/^the append-only guard preserved the original record(?: while adding the verified findings)?$/i,
|
|
547
|
+
/^the closure record was corrected$/i,
|
|
548
|
+
/^the underlying (?:list|chatter|reset)(?:, (?:list|chatter|reset))*(?: and (?:list|chatter|reset))? fixes remained unchanged$/i,
|
|
549
|
+
/^(?:(?:the )?(?:working tree|repository state|repo state) (?:is |was )?)?(?:clean|committed|pushed)$/i,
|
|
550
|
+
];
|
|
551
|
+
return clauses.every(clause => receiptClauses.some(pattern => pattern.test(clause)));
|
|
540
552
|
}
|
|
541
553
|
|
|
542
554
|
/** Build the section parts shared by chat, transcript, and archive.
|
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.60",
|
|
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",
|