-
-
Veritas architecture: Jac walkers transform claims into evidence-backed verdicts using graph-native memory and by llm().
-
Veritas verifies claims using multi-agent Jac workflows, delivering evidence-backed verdicts with confidence scores.
-
Veritas handles nuanced claims by analyzing conflicting evidence and generating balanced verdicts with confidence scores.
Inspiration
Misinformation spreads faster than ever, while verifying factual claims still requires manually searching multiple sources and reconciling conflicting information. We wanted to build an autonomous AI system that does this investigation end-to-end. Our goal was to demonstrate how Jac can be used to create trustworthy agentic AI applications that go beyond simple chat interfaces and perform real multi-step reasoning.
What it does
Veritas is a multi-agent fact verification system built with Jac.
A user submits a factual claim, and Veritas autonomously: Creates a structured claim in a graph. Retrieves evidence from authoritative web sources. Classifies each source as supporting or contradicting the claim. Synthesizes the findings using by llm(). Generates a transparent verdict with a confidence score and explanation. The result is an explainable fact-checking system where every conclusion is backed by traceable evidence.
User Input
│
▼
┌─────────────────────────────────────────────────┐
│ walker:pub VerifyClaim │
│ ┌──────────┐ :Requires: ┌──────────────┐ │
│ │ Claim │─────────────▶│ Task │ │
│ │ (node) │ │ (node, q) │ │
│ └──────────┘ └──────┬───────┘ │
│ ▲ │ :Discovered:│
│ │ ▼ │
│ :Supports: ┌────────────────┐ │
│ :Contradicts: │ Evidence │ │
│ │ │ (node, url, │ │
│ └──────────────────│ snippet, │ │
│ │ supports) │ │
│ └────────────────┘ │
│ │ │
│ ▼ walker:pub VerdictAgent │
│ ┌──────────┐ │
│ │ Verdict │◀── synthesize_verdict() by llm() │
│ │ (node) │ │
│ └──────────┘ │
└─────────────────────────────────────────────────┘
│
▼
FastAPI /walker/VerifyClaim ──▶ Frontend
How we built it
Veritas was built using Jac, FastAPI, and React.
Jac Architecture Claim Node - stores the original statement. Task Node - represents the active investigation. Evidence Nodes - contain source URLs, snippets, and support classifications. Verdict Node - stores the final conclusion and confidence score. Walkers VerifyClaim Walker - orchestrates the investigation pipeline.
VerdictAgent Walker - synthesizes all evidence into a final verdict using by llm().
Tech Stack
| Layer | Technology | Why |
|---|---|---|
| Language | Jac | AI-native, graph-first; by llm() and walker:pub eliminate boilerplate |
| LLM | OpenRouter GPT-4o-mini | Cheap, fast, JSON-reliable — routed via Jac's byllm plugin |
| Search | DuckDuckGo (ddgs) |
Real-time, no API key, returns structured results |
| Backend | Auto-generated FastAPI | jac start main.jac compiles walkers into REST endpoints |
| Frontend | Vanilla HTML / JS | Calls the auto-generated API; zero build step |
| Proxy | FastAPI + httpx | serve.py serves index.html at / and forwards everything else to Jac |
Challenges we ran into
Designing prompts that produced consistent support/contradiction classifications. Handling conflicting evidence from heterogeneous sources. Ranking source quality and avoiding low-value content. Structuring verdict explanations for clarity and trust. Integrating Jac, FastAPI, and React into a seamless full-stack application.
Accomplishments that we're proud of
Built a fully functional multi-agent fact verification platform. Leveraged Jac’s graph-native architecture for transparent reasoning. Used by llm() to generate explainable verdicts. Delivered a polished UI with confidence visualization and evidence exploration. Created a practical application with strong real-world relevance.
What we learned
This project showed us how powerful Jac is for orchestrating autonomous AI systems.
We learned that: Graph-native data structures make agent workflows easier to reason about. Walkers provide a clean abstraction for multi-step orchestration. by llm() enables structured and maintainable LLM-powered logic. Explainability is essential for building trustworthy AI systems.
What's next for Veritas - Multi-Agent AI Fact Verification System
We plan to extend Veritas with:
Source credibility scoring and trust weighting. Multi-hop claim decomposition for complex statements. Temporal verification for evolving facts. User accounts and verification history. Browser extensions for real-time claim verification. Enterprise APIs for media, education, and compliance workflows.
Our long-term vision is to build a scalable truth verification platform that helps individuals and organizations combat misinformation using transparent agentic AI.
Log in or sign up for Devpost to join the conversation.