Repository navigation
NockGuard v0.7.0: Ask tools stay visible, Wall counts records, stricter verify
NockGuard v0.7.0 changes what the proxy shows for ask tools, makes the Wall count audit records instead of calls, and tightens how verification reports a trail. It also fixes two proxy bugs and builds with a patched Go.
Upgrade notes: verify exit codes changed. nockguard verify --agent and verify --all now exit 1 for an empty trail (NO_ROWS) or a trail that runs past its signed checkpoint (UNANCHORED). v0.6.0 exited 0 for both. If a script treats a non-zero verify as a failure, it may now fail where it passed on v0.6.0. That is intended: v0.6.0 could report a trail as intact when the signed checkpoint did not cover all of it. The Wall's numbers will also be lower and labeled differently, as described below.
Install on macOS: brew upgrade nocktechnologies/tap/nockguard (installs nockguard and nockguard-wall). Linux and macOS archives with SHA256SUMS are attached below.
Changed
tools/listnow keeps tools with anAskverdict visible. Their calls are still held for local or Telegram approval. Denied tools stay hidden. An approved call records its finalallowaudit row before it is dispatched.- The Wall counts audit records, not calls, and says so: the header reads "records in view" and "threat records". Hidden tools from
tools/listnow show as a separate "tools hidden" count. They no longer count as rejected records, threats or part of the rejected share, so one rejected call no longer reads as 13 threats caught. - The Wall no longer scrolls sideways on narrow screens (390 px). Filters and tiles wrap, feed rows stack, and the evidence scope notes sit behind an "Evidence details" toggle on narrow screens. They stay open on wide ones.
Fixed
verifyandverify --allreport an empty signed trail asNO_ROWSand a trail that runs past its signed checkpoint asUNANCHORED. Only a non-empty, fully checkpointed trail reportsPROTECTED. Evidence packs follow the same rule, so the CLI, the Wall and the packs agree.verify --agentnow checks the--auditfile you pass. Before, it quietly checked the agent's default trail.nockguard proxynow exits promptly when the upstream dies. It starts a one-second shutdown deadline, even if the client holds stdin open or stops reading stdout. It sends JSON-RPC-32603errors for in-flight requests when the client can receive them, stops the upstream process group, and exits nonzero.- Fixed a race in the stdio proxy between a request and its response. The proxy now registers the response correlation before writing a request upstream, and clears its pending state if the write fails.
- Output the upstream wrote before it exited is still delivered while the client reads. Shutdown waits for the client to go idle for one second, up to a ten-second cap.
- Release archives and CI build with Go 1.26.9, and source and release binaries are checked with
govulncheck.
Documentation
- Wall installation guidance is corrected, and source line references are replaced with file links.
- Homebrew and Linux archive installation are documented, including the Live Wall. Linux install now verifies the archive against
SHA256SUMSfirst. - The
/policy-lint,/vuln-scanand/threat-modelhelper commands, the WardenCLAUDE.mdand README, and the model-API egress template now match the engine: unknown keys fail the load,modedefaults to deny, the full agent key list, per-agent audit trails andkeygen --agent,egress-proxy --enforce, and the SSRF guard. - The helper template checks now report their own failures. A failed check exits instead of reading as a pass, and severity comes from real exit codes. The
/vuln-scanhelper also reads theverifyverdict line before it labels an exit 1, so an empty trail or one past its checkpoint is no longer reported as a missing key.