Design decisions: Chain of Thought
Context and consequences for a few choices in the prototype. Personal work only. Not a product plan and not employer systems.
Decision: execution graph is primary state
The graph is the investigation. Nodes hold typed references. The model requests tools; it does not carry science objects as prompt payload.
Decision: MCP over direct HTTP
MCP for tool contracts, remote federation without planner rewrites, and one loop for compute tools plus validated UI actions.
Decision: declarative data catalogue, no runtime discovery
Sources and tables are declared in config. The app never lists databases at runtime to build the catalogue.
Decision: provenance in the execution path
Provenance is recorded as the work runs, not reconstructed afterwards from logs.
Decision: fail closed on unsafe tool use
A false negative is a contractual breach, so the system fails closed.