Agent action evidence ledger: append-only, hash-linked record of agent proposals, executions, redactions and annotations with an independent verifier. Reference implementation of the public SHPBL behaviour specification.
Server defines 4 tools with complete JSON schemas and descriptions. Naming follows verb_noun convention (record_, export_, verify_, describe_). However, parameter descriptions are sparse or missing entirely. record_action has good enum constraints but lacks descriptions for 'subject', 'attributes', 'links'. export_ledger and verify_ledger have minimal parameter docs. Output schemas are not documented. Error handling exists but lacks recovery guidance. No tool annotations (readOnlyHint/destructiveHint). Overall: functional but below production baseline for LLM-facing tools.
Return the active redaction allowlist, hash algorithm, canonicalization and export format versions, clock-skew bound, size limits and anchoring policy.
Export a self-contained, verifiable range of the ledger.
Record one agent action (proposal, execution, redaction or annotation) as the next entry in the hash-linked ledger.
Verify an exported ledger document using only its own bytes. No live store is consulted.
Parameter descriptions missing or incomplete. 'subject', 'attributes', 'links' in record_action lack descriptions. 'from', 'to', 'includeRedacted' in export_ledger undescribed. LLMs cannot infer parameter meaning from names alone.
Output schemas not documented. Tools return JSON but LLMs have no schema to plan downstream calls or extract fields. record_action returns RecordedEntry, export_ledger returns export object, verify_ledger returns VerificationResult, none documented in tool definitions.
No tool annotations. record_action is destructive (WRITE), export_ledger and verify_ledger are read-only, describe_policy is read-only. Missing destructiveHint and readOnlyHint annotations prevent LLMs from reasoning about side effects and retry safety.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Error handling lacks recovery guidance. LedgerError thrown but no actionable next steps provided to LLM. E.g., 'unknown tool' error gives no hint about valid tool names or how to recover.
record_action 'outcome' parameter is required only for 'execution' kind, but schema does not express this conditional constraint. LLMs may pass outcome for proposal/annotation or omit it for execution, causing silent failures.