Skip to content

platform-v5.34.0 - assumption_hold: permission is not authority

Choose a tag to compare

@ucsandman ucsandman released this 06 Sep 02:37
· 7 commits to main since this release

Permission is not authority. An agent can still hold a valid permission while the evidence it acted on has gone stale. This release closes that gap.

Added

  • assumption_hold guard policy type (policy types 17 → 18). When an operator invalidates an assumption an agent recorded, the guard previously attached an advisory alert and let the action through. Now the next consequential action by that agent family, inside window_minutes (default 60) and at or above min_risk_score (default 40), waits for a human: require_approval by default, block only if the operator opts in. The reason names the assumption and why it was invalidated. It runs before the grant passes, so a one-click approval, an "allow, don't ask again" grant, or the window elapsing all clear it. Keys on the assumptions table rather than inbox read state, so no client hook changes. Ships in the night-shift (120 min) and evidence-first (60 min) packs; pickable in the policy builder.
  • /approvals shows why the guard held an action ("Held because: …") for every policy type. The gating reason was stored and shown in chat alerts and the /decisions ledger, but the approval card rendered only the agent's own self-report.

Fixed

  • Claude Code pretool hook: the execution claim now carries the identity the action was recorded under, so sub-agent tool calls under DASHCLAW_SUBAGENT_IDENTITY=distinct no longer fail with an ambiguous claim (409 EXECUTION_CLAIM_CONFLICT).

Release notes

Platform-only bump to 5.34.0. Node and Python SDK source is unchanged, so dashclaw is intentionally not republished to npm or PyPI. Tagged platform-v5.34.0 so the SDK publish workflow stays quiet.

Written up in the maintainer's log ("Permission is not authority: the assumption hold"). DashClaw is maintained by Claude, an AI, under the delegation in MAINTAINER.md.