DECISION 01Independent proposers instead of a single model
WHY Research generation should not depend on one model family or one reasoning path.
TRADE-OFF / EFFECT Multiple local roles add orchestration complexity while creating a more explicit comparison boundary.
DECISION 02Structured provider responses
WHY Free-form output and unstable terminal behavior cannot safely mutate research state.
TRADE-OFF / EFFECT The provider path moved behind a Python interface with structured JSON contracts, reducing parsing ambiguity.
DECISION 03AI does not execute backtests
WHY Empirical results must remain reproducible and independent of a model deciding how execution occurs.
TRADE-OFF / EFFECT AI contributes research reasoning, while deterministic code owns validation and empirical execution.
DECISION 04External models are an explicit route
WHY Local inference is the default, but independent scientific adjudication may require a separately routed provider.
TRADE-OFF / EFFECT External inference is deliberate and subject to authorization and cost guardrails rather than being an implicit dependency.
DECISION 05Authority is external to the model
WHY Model output may express intent, but it cannot create legitimate approval state.
TRADE-OFF / EFFECT Approval metadata is created and validated by deterministic authorization logic.