Core safety layer
Runtime decisions and deterministic controls
- *ToolGate decisioning at call time
- *Signed confirmation tokens and resume flow
- *Idempotency and stable hashing by default
SDF Plan
A lightweight, deterministic, local-first runtime safety layer that sits right before tool execution.
Real ToolGate decisions: ALLOW, REQUIRE_CONFIRM, WARN, BLOCK.
Real ToolGate flow: REQUIRE_CONFIRM -> CONFIRM -> ALLOW

SDF Plan gives engineering teams deterministic, local-first safety controls for agent runtime behavior.
Runtime decisions and deterministic controls
Fast setup and practical integration paths
| Capability | Included | Details |
|---|---|---|
| ToolGate runtime decisions | Yes | ALLOW, REQUIRE_CONFIRM, WARN, and BLOCK decisions for tool calls. |
| Signed confirmation tokens | Yes | Scope, tool, and args bound tokens with expiry and jti support. |
| Idempotency key derivation | Yes | Stable keys derived from scope + tool + canonical args hash. |
| Tool-mode lint rules | Yes | Unknown tool, write confirm checks, idempotency checks, and verify before write rules. |
| PlanSpec lint and preflight | Yes | Optional plan mode support for existing plan first workflows. |
| Input normalization | Yes | OpenAI style tool calls, generic tool JSON, and PlanSpec normalization paths. |
| Framework adapter support | Yes | Official LangGraph adapter and thin wrapper patterns for other runtimes. |
| CLI utilities | Yes | Command helpers for linting plan files and classifying tools. |
| Deterministic local behavior | Yes | Canonical hashing and explicit defaults for reproducible results. |
| Open source license | Yes | MIT licensed and installable from PyPI. |
Yes
ALLOW, REQUIRE_CONFIRM, WARN, and BLOCK decisions for tool calls.
Yes
Scope, tool, and args bound tokens with expiry and jti support.
Yes
Stable keys derived from scope + tool + canonical args hash.
Yes
Unknown tool, write confirm checks, idempotency checks, and verify before write rules.
Yes
Optional plan mode support for existing plan first workflows.
Yes
OpenAI style tool calls, generic tool JSON, and PlanSpec normalization paths.
Yes
Official LangGraph adapter and thin wrapper patterns for other runtimes.
Yes
Command helpers for linting plan files and classifying tools.
Yes
Canonical hashing and explicit defaults for reproducible results.
Yes
MIT licensed and installable from PyPI.