The Visual Truth Engine
Web interface (React + Fastify) for the EVA-LLM ecosystem — create test runs againsteva-runand visualize results in real time.
packages/
api/ — Fastify backend (Node 22, TypeScript, Prisma v7)
web/ — React 19 frontend (Vite, TanStack Query, React Router v7)
The API package acts as a BFF:
POST /api/runs— forwards a batch of test configs toeva-run POST /evaland returns thetest_ids.GET /api/runs— lists all distinct runs with aggregate pass/fail counts (reads the shared Postgres DB).GET /api/runs/:run_id— run detail: stats + allTestResultrows.GET /api/runs/:run_id/tests/:test_id/asserts— allAssertResultrows for a specific test.
The Web package is a dark-themed dashboard with three screens:
- Run List — table of all runs, auto-refreshes every 15 s.
- Run Detail — stats bar + test table; click a row to expand its assert results.
- Create Run — form to configure a Live Evaluation or JQA/Audit test and fire it to
eva-run.
# 1. Copy and fill in env vars
cp .env.example packages/api/.env
# 2. Install dependencies
pnpm install
# 3. Generate Prisma client (same DB as eva-run)
pnpm --filter @eva-web/api run db:generate
# 4. Start both servers in parallel
pnpm dev
# API → http://localhost:3001
# Web → http://localhost:5173Prerequisite:
eva-runmust be running and accessible at the URL set inEVA_RUN_URL(defaulthttp://localhost:3000).
MIT