EVE + Generic Python (Supported)
Compatibility: SUPPORTED — the generic Python adapter is the validated, in-tree integration surface. It routes a tool call through the same governance composition root used by the rest of EVE: CoreGuard makes a deterministic ALLOW / BLOCK / MODIFY decision before the governed action executes, and every decision can produce a signed evidence record.
Use the generic adapter when you control the code that invokes a tool and can wrap the call site. It is framework-agnostic: any Python function you treat as a "tool" can be governed.
What you get
- Deterministic policy decision (ALLOW / BLOCK / MODIFY) before the tool executes.
- No LLM in the CoreGuard decision path — the verdict is computed by deterministic policy code.
- A signed decision-evidence record you can verify independently, offline, without trusting the EVE server (Ed25519 in production configuration; HMAC-SHA256 fallback is symmetric and not independently verifiable).
- Fail-closed behavior: if the governance service errors, the SDK does not silently fall back to permissive behavior.
Install (pilot / private)
The release-candidate eve-coreguard that exports EVE is distributed privately for pilots (a
wheel or an internal index). Note: a pre-release eve-coreguard 0.2.1 does exist on public
PyPI, but it is an older build without the EVE entry point — do not rely on a plain public
pip install eve-coreguard for the example below; use the pilot wheel (see readiness). The
primary entry point is:
from eve_coreguard import EVE
The pip client governs via hosted mode and needs a reachable endpoint. In-process embedded governance runs inside the EVE service, not the client wheel.
Govern a tool call
from eve_coreguard import EVE
eve = EVE() # configured for a hosted endpoint
decision = eve.govern_tool_call(
tool="issue_refund",
arguments={"account_id": "acct_1042", "amount_cents": 5000},
context={
"tenant_id": "tenant_demo",
"principal_id": "agent_support_7",
"session_id": "sess_2f9a",
},
)
# govern_tool_call returns a plain dict (allowed / action / reason_codes / certificate / ...).
if decision["action"] == "BLOCK":
# the underlying tool is not called
print(decision["reason_codes"])
else:
result = issue_refund(account_id="acct_1042", amount_cents=5000)
On BLOCK, the underlying tool is not invoked, so a blocked call produces no unauthorized side effect. On MODIFY, forward the modified arguments returned in the decision.
Verify the evidence
from eve_coreguard import verify_decision_record
# The signed evidence record for the decision is carried in decision["certificate"].
# For an Ed25519 record, pass the published public key so the signature is
# checked offline, with no shared secret.
report = verify_decision_record(decision["certificate"], public_key_pem=public_key_pem)
assert report.valid is True
Verification proves the evidence is authentic and unaltered and that it matches its schema. It does not attest that the underlying decision was correct — only that the record is genuine.
Readiness
- Generic Python adapter: SUPPORTED — validated in-tree (ALLOW executes, BLOCK causes zero side effects, direct-import bypass guarded).
- EVE SDK core: RELEASE CANDIDATE WITH EXCLUSIONS.
- Python SDK
eve-coreguard0.2.2: release-candidate core client, PILOT_READY. - CoreGuard deterministic evaluation and signed evidence: PILOT_READY / SUPPORTED per the claims registry.
Limitations
- The wrapper governs the call site you wrap. A caller who invokes the underlying tool function directly, bypassing the wrapper, is not intercepted. For a boundary that a direct call cannot route around, deploy a sidecar or restrict the tool registry so tools are only reachable server-side through the governed path.
- The pip client governs via hosted mode and requires a reachable endpoint; embedded in-process evaluation is the EVE service, not the client wheel.
- Independent (asymmetric) verification requires the Ed25519 public key. An HMAC fallback is symmetric and not independently verifiable.
- Signed evidence proves authenticity and integrity of the record, not the correctness of the decision itself.
- This page describes governance of tool calls; it is not a compliance certification.