
Roadbuilders Assistant is a domain-focused RAG system for cost estimators (Kalkulatoren) at German road-construction contractors, who bid on public tenders that arrive as stacks of long, cross-referenced documents — a structured bill of quantities (Leistungsverzeichnis) qualified by prose specifications — where most estimation effort is retrieval rather than judgment and a single position can take up to half a day to cost by hand. The system ingests a tender's full document set into a per-project knowledge base: PDFs are chunked and embedded into Elasticsearch (dense kNN + BM25 in one index), while the tender's GAEB file is parsed deterministically — no LLM — into the structured LV positions. A tool-calling chat agent answers questions with numbered citations, backed by hybrid retrieval with multi-query expansion, Reciprocal Rank Fusion, and cross-encoder reranking. The centerpiece is the EKT calculation agent, a LangGraph state machine with four Postgres-checkpointed human-in-the-loop gates that turns one LV position into an auditable bottom-up cost breakdown in minutes: the LLM only classifies, matches, and extracts values with evidence quotes against a versioned calculation catalog, while a deterministic decimal engine computes every number, so each result carries a complete derivation trail. Built on FastAPI, Postgres, and a React SPA, with an immutable versioned prompt library, per-call cost and trace logging, and a golden-data evaluation harness — designed to augment the Kalkulator, not replace them, since the estimate remains contractually binding human work product.