Named after Aletheia (ἀλήθεια), Greek goddess of truth and unconcealment — literally un-forgetting. Linguistically the opposite of Lethe, the river of forgetfulness. Where Mnemosyne remembers what's true, Aletheia reveals what's false. Heidegger gave the word modern weight — aletheia as the unconcealment of being. Here it's the unconcealment of claims you can't back up, quotes that don't exist, references that point at the wrong paper, prose denser than it needs to be.
How it works
Aletheia reads a manuscript against three things: its source corpus — your mnemo workspace — public bibliographic databases, and the specific web primaries a guide cites by URL. It has seven corpus-and-database checks plus three web-native verifiers, running locally except for the ones that genuinely need the corpus, the databases, or a cited page. Each check returns a concrete verdict with the exact location and a one-line explanation, not a score.
Web-native verification
The seven checks above are paper-shaped — they expect an academic corpus and author-year citations. But most guides don't cite papers; they cite the open web: a government PDF, a standards-body definition, a license file, a vendor's pricing page. For those, the citation is a URL, and there's no paper for the corpus checks to match against. These three verifiers close that gap — they check a claim or quote against the exact primary it cites, not against the web at large.
- VIII · Claims (web) — Does the cited page actually say this? Takes
{claim, source_urls[]}pairs, fetches and extracts each cited URL (HTML, PDF, or JS-rendered), and asks Claude to verdict each: supported, contradicted, not_addressed, ambiguous, or fetch_error if the page can't be reached. The web mirror of check I. - IX · Quotes (web) — Is this quote really on that page? Takes
{quote, source_url}pairs, fetches the source, and fuzzy-matches: verified, paraphrased_not_quoted, not_found, or fetch_error. The cited URL is the attribution — no author-year anchor needed. - X · Guide — Verify an entire guide at once. Parses a Groundwork
.mdx— each chapter's<Reading>line plus the<Colophon>— into claim/URL pairs and runs the web claims check across the whole document. Citation in these guides is chapter-scoped, so each claim is checked against its chapter's sources.
Fetching is provider-pluggable (Jina Reader by default, keyless; Tavily as an alternate). The web judge runs on a different model from the drafter, so the checker stays independent.
MCP tools
verify_claims(text, workspace)— decompose prose into claims, retrieve evidence from mnemo, verdict each as supported / contradicted / no_evidence / ambiguous.verify_quotes(text, workspace)— pull every direct quote, find the passage in mnemo, fuzzy-match: verified / paraphrased / not_found.find_unsupported_claims(text)— flag sentences that make truth claims without a citation.check_grammar(text)— LanguageTool, ~5,000 rules.check_dashes(text)/check_prose(text)— dash discipline + proselint.check_references(bibliography)— Microsoft RefChecker against Semantic Scholar / OpenAlex / CrossRef / DBLP / ACL Anthology.check_readability(text)— local textstat metrics.verify_claims_web(claims)—{claim, source_urls[]}pairs; fetch each cited URL, verdict supported / contradicted / not_addressed / ambiguous / fetch_error.verify_quotes_web(quotes)—{quote, source_url}pairs; fetch + fuzzy-match: verified / paraphrased_not_quoted / not_found / fetch_error.verify_guide(mdx)— parse a Groundwork.mdx(chapter<Reading>lines +<Colophon>) into claim/URL pairs and runverify_claims_webover the whole guide.
Notable design notes
- The centerpiece is
verify_claims. Bibliography checkers catch fake references. Citation-network tools catch isolated citations. Neither catches a real, correctly-cited paper being used to support a claim the paper never actually makes. That's the failure mode Aletheia was built to surface. - Most checks run locally. Only
verify_claims,verify_quotes, andcheck_referencesreach the corpus or bibliographic databases; the*_webverifiers reach the open web to fetch the exact primary a claim cites. Grammar, dashes, prose linting, and readability all run on the local sidecar or local Python libraries. - Pairs with mnemo. The two responses to Lethe: mnemo ingests and preserves; Aletheia verifies and reveals. Both fight forgetting from different directions.
Stack
- FastMCP (Python)
- Anthropic Claude (claims + quotes judge)
- mnemo MCP (retrieval)
- Jina Reader (default web fetch + extract)
- Tavily (alternate)
- LanguageTool (self-hosted sidecar)
- proselint
- textstat
- rapidfuzz
- RefChecker (Microsoft)
- Semantic Scholar / OpenAlex / CrossRef / DBLP / ACL Anthology
- Docker Compose
Typical chain for a proposal: hyperion investigates the field → themis drafts and runs the simulated review panel → aletheia verifies every claim against mnemo before submission.