3 · Route

For Both Executive and Technical Readers

Routing is a satisfiability check against Scope Cards, not a guess, not a search, not a recommendation.

A satisfiability check. Three outcomes. No guessing.

Route receives the typed CausalQuery and checks it against every model in the Model Registry. Each model carries a Scope Card, a machine-readable declaration of which variables it covers, which population regime it was elicited for, and which rungs it supports.

A model covers the query when: (1) its variables contain the estimand’s variables, (2) its regime contains the query population, and (3) it supports the requested rung. All three must hold.

A typed query in. A model set out, or a structured refusal.

IN CausalQuery from Step 2
IN Model Registry (Scope Cards)
OUT RouteResult: single model, composition path, or refusal

Route Result three possible outcomes
PathMeaning
SingleOne model covers the query, sepsis.bayes
CompositionNo single model covers it, but two together do, sepsis.bayes + icu-risk.bayes
RefuseNo model covers it, e.g. "no model covers Readmission in regime=paediatric," stated as a gap, not guessed around

Every model declares its own boundary. Routing enforces it.

Scope Card sepsis.bayes · v2.1.0
Modelsepsis.bayes
VariablesSepsis, Lactate, Treatment, Septic Appearance
Regimeicu_adult
Supported rungs1, 2, 3, observational, interventional, counterfactual

Single model, composition, or named refusal. Nothing else.

Single model: exactly one model covers the query. Proceeds to Step 4.

Composition path: no single model covers but the union of several does. Proceeds to Step 4 then Step 5.

Refusal: no covering model exists. Returns a structured RefusalObject naming the specific gap.

A gap in the Model Registry is information. It tells you exactly what the practice does not yet cover, and what model needs to be built next.

Composability owns the registry that Route queries.

Pipeline →, Route is Step 3.
Composability →, defines the Model Registry and Scope Card schema.