ADR 0001: Deterministic dual-channel over a single LLM path
Use two deterministic channels (structured numeric + narrative RAG) with the LLM confined to synthesis, never to inventing facts.
Status: accepted · Date: 2026-06-17
ADRs are immutable historical records — exempt from drift tracking (no covers).
To reverse this decision, add a new ADR that supersedes it rather than editing
this file.
Source record is a skeleton
In the repository this ADR exists as a section outline whose prose still lives in TODO
placeholders. The intended content of each section, transcribed faithfully from those
placeholders, is shown below.
Context
To document: why a framework-free, deterministic design instead of Dify/LangGraph; the requirement that anti-fabrication and provenance be code-enforced.
Decision
To document: a structured numeric channel + a narrative RAG channel, each deterministic; the LLM confined to synthesis, never to inventing facts.
Consequences
To document: the trade-offs — more code/invariants to own vs. auditable, offline-capable, fabrication-resistant behavior.
Decisions (ADR)
The architecture decision records behind RAGSpine — immutable, append-only, and superseded rather than edited.
ADR 0002: Product direction — a general-purpose, license-clean, framework-unlocked RAG library
The umbrella north star — separate hard invariants from soft, config-/Protocol-driven flexibility — indexing the eight per-decision ADRs 0003–0010.