What aw1-breaker 2.0.0 checks before a tool call
A source-based look at aw1-breaker 2.0.0's AST markers, rolling per-actor velocity check, and the result returned by its breaker.
The current main branch declares aw1-breaker 2.0.0. Its ExecutionBreaker.intercept method accepts an actor ID, tool name, payload, and amount. It calls ASTSymbolicUnpacker, checks the returned markers, then applies a rolling velocity check.
What the current path does
- Inspect payloads.
ASTSymbolicUnpackerdecodes payloads prefixed withbase64:, checks configured string signatures, and attempts to parse Python withast. It marks patterns that match its configured call, import, network, or critical-target checks.ExecutionBreakerhalts when a returned marker appears in itsDANGEROUS_PRIMITIVESset. - Check recent amounts.
StatefulCausalMemorykeeps per-actor amount logs in a Python dictionary. Its default window is 30 days. It compares recent amounts plus the proposed amount with a configurable velocity baseline and returnsVELOCITY_SPIKE_DETECTEDif the ratio exceeds 1.0. - Return a decision. The halt path returns
HALT_AND_CONTAIN, a reason, measured latency, and a SHA-256 digest. The permitted path returnsPERMITTEDand anAW1-EXEC-TOKEN-...string generated withsecrets.token_hex(8). The reviewed method does not show that token being signed or verified.
The repository also contains separate modules for trust reconciliation, regulatory certificates, and loan-gateway checks. This article describes the ExecutionBreaker.intercept path; those modules are not called from that method.
The package metadata in setup.py declares Python 3.9+ and runtime dependencies on Flask and Requests, so the current package is not dependency-free.
This is a source-level account of the implementation on main, not evidence of production deployment, complete policy coverage, or a security guarantee. Deployment behavior depends on how the caller uses the breaker and handles its result.
For more detail, see the HOL plugin listing, source repository, and project documentation.
Continue reading
All posts
How Obsidian MCP limits access to your vault
Obsidian MCP uses path checks, permission scopes, hashed-token authentication, and configurable destructive tools to constrain agent access to a vault.

Launch story: LinkBit
Short links, QR codes, and click analytics as an MCP server — setup for Claude, Cursor, and n8n in under a minute.

Why I Don't Let My AI Agent Apply Terraform
agentic-boundary-terraform-skills is a skill for Claude Code, Codex, Cursor and Windsurf. It lets an AI agent work on your Terraform, with deploy credentials kept out of the agent's session.