← Back to work

Consilium, a Citation-Gated Multi-RAG Switchboard

Personal, RAG & Retrieval Systems · 2026

Routes a question across subject-specialized knowledge modules, binds every claim to a source span, and abstains instead of guessing. Measured head-to-head against a naive RAG baseline on the identical corpus.

0/5 vs 5/5
unsafe outputs vs. a naive-RAG baseline measured same cases, corpus, and embedder; zero in-scope recall cost (11/11 both)
1.000
routing + fan-out + abstention + citation accuracy measured eval.py
11/11
integrity-hardening checks (conflict resolution + poison quarantine) measured
  • RAG
  • Routing
  • Citation-gating
  • Abstention
  • Python

The problem

A single vector store answers every question with the same confidence, whether it is in scope or not. Consilium routes the question to the module that should own it, requires every claim to cite a source, and says “I don’t know” when nothing qualifies.

How it routes

  • A routing switchboard dispatches a query to subject-specialized modules, and fans out when more than one applies.
  • Every claim ships only if it is bound to a retrieved span.
  • Out-of-scope questions are refused, not hallucinated.
  • Conflicting modules are reconciled, and poisoned or contradictory sources are quarantined.

The measured difference

Run head-to-head on the identical corpus, a naive RAG baseline produced five unsafe outputs out of five (out-of-scope answers plus a fabricated claim); Consilium produced zero, and gave up no in-scope recall to do it. Routing, fan-out, abstention, and citation accuracy all measured 1.000 on this demo corpus and threshold set. The repo documents their provenance and does not claim they generalize beyond it. It is the spine the other retrieval projects here plug into.