Release notes
HOL Guard v3.60.0a72
PreviewHOL Guard v3.60.0a72, released November 11, 2026, is a preview release with 4 additions, 9 fixes and 1 other change across 13 merged pull requests. Highlights: Write policy clears, imports and MCP requests in the native store; Build repair reports and reconcile results in the runtime.
4 added · 9 fixed · 1 other
Key facts
- Version
- v3.60.0a72
- Channel
- Preview
- Published
- Previous release
- alpha/v3.60.0a71
- Merged pull requests
- 13
Documented changes
14 typed entries
Verified contributors
1 verified contributor · 13 credits
Attribution coverage
attribution complete; history inventory partial.
Install
Scope
Guard v3.60.0a72 is a preview release published 2026-11-11. Upstream documents: Guard 3.60.0a72 is an opt-in prerelease cut from 0cff72a. Stable installations remain on the stable channel. 13 commits • 13 merged pull requests • 1 contributor since Guard 3.60.0a71. Its comparison base is alpha/v3.60.0a71. It includes 13 verified contribution deliveries with public evidence links.
Changes
Added
4- policyWrite policy clears, imports and MCP requests in the native store (#7553) Evidence for this change
- Clear:
clear_policy_decisionsaccepts an explicitdecision_idslist (sibling widening is skipped for it; an empty list clears nothing).GuardStore.clear_policy_decisionsis a shim. Its first call deletes only… - Document import: new
import_policy_rowsop writes a compiled policy document in merge or replace mode. The new rows are signed in the same generation advance.import_policy_documentkeeps normalization, compile… - MCP request apply: new
apply_mcp_policy_requestop checks every condition before it writes, so a refusal changes nothing except the expiry of a request found past its deadline. The checks are: the request is…
- Clear:
- guardBuild repair reports and reconcile results in the runtime (#7557) Evidence for this change
- New runtime command
guard-repair-report(featurenative-guard-repair-report-v1): op: "report"builds theguard.repair.v1report from each step's raw result: daemon, native runtime (with the durable-runtime collapse), native install, onefile leaks, hooks, package shims, command queue. It…op: "reconcile"works out reconciliation's repaired and failed harnesses, repaired package managers and error codes from what the launcher refresh, hook repair, Cursor rebind and package-shim pass returned. A package…
- New runtime command
- policyPublish policy snapshots through the native runtime (#7548) Evidence for this change
- New runtime command
policy-snapshot-publish --stdin(featurenative-policy-snapshot-publish-v1). It reads a settings line and the existing materialize request, then: - materializes the snapshot in process, under a lock wait of 80% of the remaining build budget (capped at 60 s);
- provisions the derived verifier key after materializing when a business binding is present;
- New runtime command
- daemonAnswer policy saves and clears in the native edge (#7544) Evidence for this change
- The edge runs the existing handler checks (
policy_upsert,policy_clear), then the approval gate: the high-risk check, thenrequire_policy_writeorrequire_policy_clearwith the grant it issued. - It holds
policy-integrity-generation.lock(the same file and flock the library takes, openedO_NOFOLLOW, 30s wait) across the write. - The resident store gains
clear_policy_decisions. It clears in one transaction, widens an artifact clear to the remembered-command siblings the dashboard shows as one row, and advances the integrity generation over…
- The edge runs the existing handler checks (
Fixed
9- daemonRelease approved Codex commands when the native runtime is the daemon (#7551) Evidence for this change
- guardTreat Cursor's terminal pager like Git's default pager (#7550) Evidence for this change
- guardLet agents start Guard's daemon with daemon ensure (#7554) Evidence for this change
- guardLet diff and cmp compare piped output against a file (#7540) Evidence for this change
- a dash with nothing piped in (
diff - README.md) still asks; diff - -andcmp - -still ask;- the other operand must be a readable file, so a directory (
diff -r - old), a credential file or an outside secret keeps the review;
- a dash with nothing piped in (
- guardLet git ls-files filter by a glob pathspec (#7534) Evidence for this change
- guardAccept od byte-count, offset, type and width options (#7537) Evidence for this change
- commandTell Oh My Pi how to fix edit headers Guard cannot prove (#7546) Evidence for this change
- Decorated header. For
[FILE: src/a.ts#0AC4],[*** Update File: src/a.ts#0AC4]and other bracket lines that are not a plain[PATH#TAG]header, the edit keeps its review, so a person can still allow it once or… - Space before the tag. Oh My Pi trims a header before it cuts the
#TAG, so thepath/pathscopy it adds to the hook input keeps a space written before#([src/a.ts #0AC4]gives"src/a.ts "). Guard trimmed… - Held
eval. The review reason for Oh My Pi and Pievalnow tells the agent to change files with the edit tool as well as run commands with bash.
- Decorated header. For
- piReview headless prompts when their turn starts (#7523) Evidence for this change
- guardLet perl and ruby version probes run without review (#7535) Evidence for this change
- Merged pull request #7523: fix(pi): review headless prompts when their turn starts
- Merged pull request #7544: feat(daemon): answer policy saves and clears in the native edge
- Merged pull request #7546: fix(command): tell Oh My Pi how to fix edit headers Guard cannot prove
- Merged pull request #7537: fix(guard): accept od byte-count, offset, type and width options
- Merged pull request #7534: fix(guard): let git ls-files filter by a glob pathspec
- Merged pull request #7540: fix(guard): let diff and cmp compare piped output against a file
- Merged pull request #7554: fix(guard): let agents start Guard's daemon with daemon ensure
- Merged pull request #7548: feat(policy): publish policy snapshots through the native runtime
- Merged pull request #7535: fix(guard): let perl and ruby version probes run without review
- Merged pull request #7553: feat(policy): write policy clears, imports and MCP requests in the native store
- Merged pull request #7551: fix(daemon): release approved Codex commands when the native runtime is the daemon
- Merged pull request #7550: fix(guard): treat Cursor's terminal pager like Git's default pager
- Merged pull request #7557: feat(guard): build repair reports and reconcile results in the runtime
Other changes
1- Guard 3.60.0a72 is an opt-in prerelease cut from
0cff72a. Stable installations remain on the stable channel. 13 commits • 13 merged pull requests • 1 contributor since Guard 3.60.0a71. Evidence for this change
Upgrade and compatibility
None documented.
Compare with the previous release
Predecessor on the same channel: alpha/v3.60.0a71
Verified contributors
Credits derive from public pull-request authorship, verified commit authorship, or verified co-authorship — never from thanks text or release metadata. Each distinct contributor is listed once; the evidence ledger paginates every published credit record.