Skip to content

Releases: coderifts/agent-guard

Release list

v15.1.0

Choose a tag to compare

@zsobpeter-code zsobpeter-code released this 01 Sep 21:14

The decision's next step on refusals: deployGate (TOKEN mode) and guardToolCall (receiptVerified) expose the signed next_agent_step carried inside the decision envelope — rendered only when verification succeeds; an unverified envelope renders nothing.

Two new proof binders: bindLangChainToolOutcome (content_and_artifact — the artifact carries the execution proof) and bindCrewAIToolOutcome (result_as_answer on exactly the arms the guard did not permit). Same invariants as the existing four: pure, no framework dependency, no invented result on a blocked branch.

ENFORCING_STRICT notice: constructing with the unversioned spelling logs once per process that ENFORCING_STRICT is the unversioned spelling of ENFORCING_STRICT_V1. The alias resolves to the versioned profile permanently; nothing is deprecated and nothing will be removed.

Dependency: @coderifts/sdk range updated to ^3.10.0 (stays a regular dependency).

v15.0.0

Choose a tag to compare

@zsobpeter-code zsobpeter-code released this 01 Sep 13:12

Security: 14.1.0 and earlier accepted deploy receipts signed by keys the registry marked revoked (or carrying revoked_at, or an unknown status): deploy-receipt-token treated every status other than 'retired' as active, so deployGate could allow a deploy on a withdrawn key. This release applies the canonical receipt-verifier key-withdrawal rule before any authorization path; revoked_key and unknown_key_status are new non-repairable gate reasons.

Breaking: DeployGateReason gains revoked_key and unknown_key_status (exhaustive switches must handle them); conflicting V2 configuration now throws instead of being silently reconciled.

Also: a machine-readable remedy (deny-remedy.v1) on refused guardToolCall outcomes; the V2 wire fields the guard actually has are sent, the rest bound as named-absent in posture.