Trust infrastructure for AI agents — verify businesses, journalists, and artists through registry attestation, content blocks with media provenance, and AI-extracted categories
Strong tool naming (all verb_noun pattern), comprehensive descriptions (avg 180 chars), and well-structured Zod schemas with type constraints. All 7 tools have descriptions and input schemas. However, output schemas are not formally documented in code, responses are text-based or inferred from implementation. Parameter descriptions are present but some lack constraint details (e.g., 'limit' has no min/max bounds). Error handling is minimal, no recovery guidance or actionable error messages. Missing tool annotations (readOnlyHint, idempotentHint) despite all tools being read-only. Composition is clean: each tool has one responsibility, and search/resolve tools feed UUIDs to verification tools.
Get the full profile for an entity: name, description, registry data, trust level, and all verified content blocks with media provenance (C2PA signatures, Bitcoin timestamps).
Pull the raw cryptographic proof behind an entity's verification — registry attestation hash, C2PA manifest hashes, Bitcoin OpenTimestamps — so your agent can set its own trust threshold instead of taking a badge on faith. Includes proof depth: OTS status (pending/anchored/confirmed), Bitcoin timestamp depth in blocks, and C2PA chain length.
Resolve a natural language query into ranked entity matches using TWIRA (Trust, Integrity, Provenance, Recency) scoring. Returns entity UUIDs, relevance scores, verification levels, and TWIRA component breakdown for transparent ranking.
Search for businesses, journalists, or artists by name, keyword, or location. Returns UUIDs, trust levels, and verification status for use with teta_verify_entity and teta_verify_claim.
Check a specific claim about an entity against its verified evidence — e.g. 'ISO 9001 certified' or 'has a Berlin office' — before your agent repeats it. Returns the supporting evidence and its trust level for you to reason over.
Output schemas not formally documented. Tools return text blocks or inferred structures (e.g., teta_verify_entity returns {content: [{type, text}]}) but no explicit schema definition visible in code. LLMs cannot reliably parse or chain outputs.
Numeric parameters lack bounds. 'limit' and 'offset' in teta_search have no min/max constraints. LLMs may pass absurd values (limit=999999, offset=-1) causing API errors or timeouts.
No error recovery guidance. Tools throw errors but provide no actionable next steps. E.g., if teta_search returns 0 results, the LLM has no hint to try a broader query or different filters.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | <=2025-11-25 | v2 |
Verify that an agent endpoint URL belongs to a specific entity and is currently active. Returns verification status, consistency check, and last checked timestamp.
Verify if a business, journalist, or artist is real before your agent trusts a claim about them: registry attestation, content blocks with media provenance, and AI-extracted categories. Requires a UUID from teta_search.
Tool annotations missing. All 7 tools are read-only (Risk: READ_ONLY declared) but no readOnlyHint in schema. Agents cannot infer safety without explicit annotation.
Parameter 'min_trust' in teta_resolve_intent has range 0 - 1 but no guidance on interpretation. Is 0.5 'medium trust'? Is 0.9 'high trust'? Ambiguous thresholds force LLM guessing.