Skip to content

How it works

Explain and causal grades

How the planner explains a finding, and why causal words are policed.

For each top finding, code states the observed change and its decomposition (“Revenue went from {{N12}} in 2026-03 to {{N11}} in 2026-04…”). The planner then investigates with fixed tools — drill_down, decompose, search_documents, search_web, get_facts — within a budget (25 calls per job, 8 per finding; halved in small-model mode), and writes explanations with a causal grade:

GradeWhen
observedThe decomposition itself (“wholesale is 108% of the drop”)
correlatedThe timing coincides with an event in a document
document_supportedA document states the link (“we are pausing our order because of the new price list”)
intervention_supportedA dated intervention plus a change past the noise band in the affected segment only

It must also record the alternatives it rejected and why. Code drops claims naming unknown facts or extracts, and downgrades a document_supported grade with no cited document. The verifier then rewrites causal wording (“because of” → “around the time of”) anywhere the grade doesn’t support it.

Small-model mode (--small-model, or from the model’s profile) replaces the tool loop with a fill-in form: code runs one document search per finding, and the model only picks a title and which extracts relate, which code turns into quoted sentences.