vccs
Composable charting components for Vue 3, ported from Recharts
Research the evidence behind factual AI output before it ships. We organise; you decide.
DataHTML · PythonGitHub @SamYatesSmithOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Evidence research infrastructure. Decomposes claims, retrieves source-traced evidence from 30+ sources, returns a signed record — no verdicts.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Tru8 organises evidence so you can decide what matters. Submit a claim or URL, and Tru8 retrieves evidence from the open web and specialist APIs, classifies it by tier (primary / reporting / commentary) and type (data / official / news / analysis / opinion / academic), decomposes claims into elements, maps evidence to those elements, and presents the full landscape — structured, not summarised.
• Docker & Docker Compose
• Python 3.11+
• Node.js 20+Read the full README ↗Tru8 organises evidence so you can decide what matters. Submit a claim or URL, and Tru8 retrieves evidence from the open web and specialist APIs, classifies it by tier (primary / reporting / commentary) and type (data / official / news / analysis / opinion / academic), decomposes claims into elements, maps evidence to those elements, and presents the full landscape — structured, not summarised.
Mission: "We organise; you decide."
docker-compose up -d # PostgreSQL 16, Redis 7, Qdrant
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # Edit with your API keys
alembic upgrade head
uvicorn app.main:app --reload # http://localhost:8000
cd web
npm install
npm run dev # http://localhost:3000
tru8/
├── backend/ # FastAPI backend + evidence pipeline
│ ├── app/
│ │ ├── api/v1/ # REST endpoints (checks, agent, verify, payments)
│ │ ├── core/ # Config, auth, pricing, manifest signing
│ │ ├── models/ # SQLModel schemas (Check, Claim, Evidence, ClaimConsensus)
│ │ ├── pipeline/ # Two-phase evidence pipeline
│ │ ├── services/ # API adapters, search, payments, consensus
│ │ └── utils/ # Classifiers, deduplication, query planning
│ ├── alembic/ # Database migrations
│ ├── tru8_mcp/ # MCP server package for AI agents
│ └── tests/ # 990 unit + integration tests
├── web/ # Next.js 14 frontend
│ ├── app/ # Pages (dashboard, developers, public reports)
│ ├── components/ # Evidence views, claim map, marketing
│ └── lib/ # API client, tiers, diagnostics
├── shared/ # Shared TypeScript types
├── docker-compose.yml # PostgreSQL, Redis, Qdrant, MinIO (optional)
└── .claude/CLAUDE.md # Full engineering context
Two-phase pipeline with user claim selection gate (article mode):
Phase 1: Ingest → Extract claims → Classify article → Rank claims
[PAUSE — user selects claims]
Phase 2: Fact-check lookup → Decompose into elements → Retrieve evidence →
Score relevance → Classify tier/type → Map evidence to elements →
Derive orientation → Complete
Post: Coverage recovery (Stage 5.1), video recommendations, auto-archiving
Evidence flows through web search plus specialist source adapters:
| Category | Sources |
|---|---|
| Web search | Serper.dev, Brave Search, SerpAPI (fallback chain) |
| Fact-check | Google Fact-Check API |
| Government | GOV.UK, Hansard, GovInfo, Companies House, ONS |
| Legal | UK Legislation (legislation.gov.uk) |
| Economic | FRED, Marketaux, World Bank |
| Academic | Semantic Scholar, OpenAlex, PubMed |
| Climate | NOAA, WeatherAPI, Open-Meteo, GBIF |
| Archives | Wikipedia (+ reference mining), Library of Congress, Internet Archive |
| Health | WHO |
| Sports | Transfermarkt, Football-Data.org |
| Video | YouTube Data API |
| View | Question it answers |
|---|---|
| Cartographer | What's the shape of this conversation? |
| Librarian | Is this the full set, clearly labelled? |
| Interpreter | Does this evidence answer this sub-question? |
| Projectionist | What's been said on camera? |
| Chronologist | When did the evidence appear? |
| Seeker | What don't we know yet? |
Tru8 exposes a developer API and MCP server for AI agents.
# Quick check (~15s, heuristic classification)
curl -X POST https://api.trueight.com/api/v1/agent/quick \
-H "X-API-Key: $TRU8_API_KEY" \
-d '{"claim": "UK inflation is 3.2%"}'
# Smart endpoint with tier fallback (lookup → consensus → quick → full)
curl -X POST https://api.trueight.com/api/v1/agent/check \
-H "X-API-Key: $TRU8_API_KEY" \
-d '{"claim": "UK inflation is 3.2%", "max_tier": "full"}'
| Tier | Cost | Time | What you get |
|---|---|---|---|
| Lookup | ~£0.02 | instant | Cached prior analysis |
| Consensus | ~£0.03 | instant | Cross-user aggregate landscape (k>=3 checks) |
| Quick | ~£0.07 | ~15s | Web search + heuristic classification |
| Full | ~£0.15 | ~60-90s | web + specialist APIs, LLM classification, element decomposition |
Three payment rails: x402 (USDC/SIWE), Skyfire (JWT), prepaid credits.
{
"mcpServers": {
"tru8": {
"command": "python",
"args": ["-m", "tru8_mcp"],
"env": { "TRU8_API_KEY": "tru8_sk_..." }
}
}
}
Tools: tru8_check (evidence research with tier fallback), tru8_get_result (with analytics), tru8_get_result_raw.
Every completed check receives an HMAC-SHA256 signed manifest. Verify the signed fields haven't changed since signing:
curl https://api.trueight.com/verify/{check_id}
cd backend
pytest tests/ -v # Full suite (990 tests)
pytest tests/unit/pipeline/ -v # Pipeline unit tests
pytest tests/unit/agent/ -v # Agent/commerce tests
pytest tests/integration/ -v # Integration tests
| Service | Port | Purpose |
|---|---|---|
| PostgreSQL 16 | 5433 | Primary database (SQLModel) |
| Redis 7 | 6379 | Cache + rate limiting |
| Qdrant | 6333 | Vector similarity search |
| MinIO (optional) | 9000 | Local S3 for file uploads |
Auth: Clerk (JWT + JWKS) for dashboard, API keys for developer access. Payments: Stripe (4 subscription tiers) + Agent per-use payments.
Copy backend/.env.example to backend/.env. Key groups:
| Group | Required | Variables |
|---|---|---|
| Database | Yes | DATABASE_URL |
| Redis | Yes | REDIS_URL |
| Auth | Yes | CLERK_SECRET_KEY, CLERK_JWT_ISSUER |
| LLM | Yes | GOOGLE_AI_API_KEY, OPENAI_API_KEY |
| Search | Yes (at least one) | SERPER_API_KEY, BRAVE_API_KEY, SERP_API_KEY |
| Payments | For subscriptions | STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET |
| Government APIs | Optional | FRED_API_KEY, NOAA_API_KEY, etc. |
| Manifest signing | Optional | MANIFEST_SIGNING_ENABLED, MANIFEST_SIGNING_KEY |
Feature flags (all default to sensible values): ENABLE_API_RETRIEVAL, ENABLE_LLM_RELEVANCE_SCORER, ENABLE_QUERY_PLANNING, etc. See backend/.env.example for the full list.
Private — All rights reserved.