Open-source narrative-intelligence OSINT platform that tracks how the same story diverges across state media, public broadcasters, and independent outlets, with evidence-grounded verification and auditable provenance
Veritas provides 6 well-structured tools with clear naming, comprehensive descriptions, and proper input schemas. All tools follow verb-noun patterns (fetch_, get_, search_, submit_, reject_, done). Descriptions are detailed and contextual (150-300 chars), explaining WHAT the tool does, WHEN to use it, and prerequisites. Input schemas use proper JSON Schema with type declarations and parameter descriptions. However, output schemas are entirely undocumented, the rubric requires documented return types for A+ tools, and this gap prevents a higher score. Error handling is implicit (via tool descriptions) but lacks explicit recovery guidance. Tool composition is excellent, tools chain naturally (fetch_signals → submit_causal_chain) and use consistent naming conventions. No security issues detected (no exposed credentials). The main limitation is the absence of structured output documentation and error handling patterns.
Signal that your analysis is complete. Call this after submitting all valid causal chains and rejecting all spurious correlations.
Fetch real-world signals from a specific data source for a given time range. Use this to investigate hypotheses by looking at different time periods or data domains. Available adapters: "GDELT Global News" (media/news articles), "Yahoo Finance Markets" (market data — S&P 500, Dow, Oil, Gold, Bitcoin), "World Bank Economic Indicators" (annual macro: inflation, GDP, unemployment for 10 economies), "FRED Economic Data" (US economic: fed funds rate, jobless claims, VIX, CPI, treasury spread), "LLM Hypothesis Engine" (AI-generated hypothetical downstream effects).
Get the full posts, metadata, and temporal details for a specific narrative. Use this to understand exactly what people are saying in a narrative before making causal claims.
Explicitly reject a correlation between a narrative and a signal as spurious. Use this when the correlation is coincidental, the scale is wrong, or there is no plausible causal mechanism.
Search across ALL adapters in a specific domain for a time range. Use this to look for upstream causes or long-range historical context. For example, to check if a macro event months ago triggered the current situation.
No output schemas documented for any tool. The rubric requires documented return types for A+ tools. Users and agents cannot know what fields to expect, what data types are returned, or how to chain tools.
No explicit error handling or recovery guidance in tool definitions. Tools lack categorization of errors as retryable vs. user-fixable vs. fatal. LLMs cannot determine how to respond to failures.
submit_causal_chain and reject_correlation are marked as WRITE operations (state-changing), but there is no confirmation step, dry-run option, or undo mechanism documented. For irreversible operations, agents should have explicit safeguards.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | <=2025-11-25 | v2 |
Submit a finalized, evidence-backed causal chain. Every link in the chain MUST reference specific data you retrieved via other tools. Do NOT submit chains where you fabricated evidence.
No pagination or result-limiting guidance for search_historical_signals. If this tool returns many signals across multiple adapters and a wide date range, agents could receive thousands of results, wasting context and inviting hallucination.
Tool descriptions lack guidance on when one tool is preferred over another similar tool. For example, fetch_signals vs. search_historical_signals distinction is explained but could benefit from explicit decision guidance ('Use fetch_signals for a single adapter; use search_historical_signals to compare across adapters').