Go SDK for AxonFlow policy governance and authorization. Provides framework-agnostic tool governance, AuthZEN authorization, connector management, and policy decision explanation.
AxonFlow SDK exposes 15 tools with governance-focused operations. Most tools have descriptions (13/15), but parameter schemas are largely absent or inferred from type annotations in comments rather than explicit JSON Schema. Tool names follow verb patterns (GovernTool, Evaluate, ProxyLLMCall, QueryConnector, ListConnectors, InstallConnector, ExplainDecision, ListDecisions, SearchAuditLogs, ListStaticPolicies, MCPCheckInput, MCPCheckOutput, HealthCheck), which is positive. However, input parameter documentation is sparse, most tools show type names (e.g., 'AuthZENRequest', 'ConnectorInstallRequest') without inline schema definitions. Output schemas are not documented. Error handling is minimal; no recovery guidance or error categorization. The governed_tool.go implementation shows PolicyViolationError handling, but most tools lack similar error patterns. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present. Composition is reasonable (tools are single-purpose), but parameter descriptions often lack constraints, ranges, or format guidance.
Performs a single AuthZEN authorization evaluation. Evaluates one subject, one action, and one resource against AxonFlow policies.
Performs bulk AuthZEN authorization evaluation. Evaluates several preconditions of one operation. Returns one decision where a denied entry denies the operation.
Explains a previously-made AxonFlow policy decision. Returns structured explanation including matched policies, risk level, and override availability.
Wraps a single tool with AxonFlow input/output governance. Every Invoke call runs through two policy checks: input check (MCPCheckInput) evaluates tool arguments before execution, and output check (MCPCheckOutput) evaluates tool results after execution.
Wraps multiple tools with AxonFlow governance. Applies the same input/output policy checks to a batch of tools.
Performs a health check against the AxonFlow Agent to verify connectivity and availability.
Input parameter schemas are inferred from type names in comments, not explicit JSON Schema. Tools like Evaluate, EvaluateAll, ProxyLLMCall show parameter types (AuthZENRequest, ConnectorInstallRequest) but no formal schema definitions with property types, required fields, or constraints.
Output schemas are not documented for any tool. LLMs cannot infer what fields to expect in responses, making downstream tool chaining and data extraction error-prone.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Installs a connector from the AxonFlow marketplace with specified configuration options.
Lists all available connectors in the AxonFlow marketplace, including their installation status and metadata.
Lists recent AxonFlow policy decisions visible to the caller. Returns slim DecisionSummary pages with optional filters.
Lists static policies with optional filtering by category (e.g., PII Indonesia). Returns policy metadata including name, description, severity, and action.
Evaluates tool input against AxonFlow policies. Returns whether the input is allowed, blocked, or requires additional checks.
Evaluates tool output against AxonFlow policies. Can block, redact, or allow the output.
Executes a governed LLM call through AxonFlow policy enforcement. Evaluates input for policy violations before sending to LLM provider, and evaluates output for redaction or blocking.
Executes a governed query against an installed connector (e.g., Redis, database). Evaluates the query through AxonFlow policies before execution.
Searches AxonFlow audit logs with time range and limit filters. Returns audit entries with cross-border compliance fields.
Parameter descriptions lack constraints, ranges, and format guidance. E.g., 'userToken' has no description of format (JWT vs opaque string), 'limit' parameters have no min/max bounds, 'command' for QueryConnector lists examples but no enum constraint.
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. PolicyViolationError exists in governed_tool.go but is not surfaced in tool descriptions.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish read-only tools (Evaluate, ListConnectors) from write tools (InstallConnector, ProxyLLMCall) without explicit hints.