The pipeline's anti-hallucination gate has two automated layers, and both must pass before a post ships; the founder's sign-off (stage 05) sits above both.
Layer one — adversarial verify. After the draft is complete, a second agent pass re-checks every citation against its source. Every arXiv ID is resolved against arxiv.org/abs/<id>. Every number is traced back to the paper section it came from. A claim its source can't support as written is cut, or reduced to exactly what the source does support. The post then passes through validate-post.mjs, a deterministic build-safety gate that checks frontmatter, tag enums, MDX hazards, dead links, forward-dated links, and word-band compliance.
Layer two — pre-commit PDF mirror. A commit that stages any post triggers the repo's .husky/pre-commit hook, which rescans the whole collection and mirrors every cited paper into a local PDF cache, keyed by arXiv ID. The gate is idempotent: papers already in the cache are skipped, so its steady state is a fast scan with zero downloads. Only newly cited papers are fetched from arxiv.org/pdf/<id> — verified to actually be PDFs, so a rate-limit page is never cached as a paper — and any cited paper that cannot be fetched, whether a dead ID or exhausted retries, blocks the commit. It is the last automated gate: a paper that cannot be fetched cannot be cited.
Across the corpus, 180 out of 180 arXiv IDs have been resolved and verified. Zero hallucinated citations.