Technical decisions about algorithms, architecture, data and execution, checked against documentation and commit history.
2026-11-10 · 1f1c076d77 · Documented change
One policy contract replaced special-case shortcuts
- Before
- The unchanged Linear template had a privileged analytic/vectorized evaluation path, while edited policies used the general evaluator.
- After
- Every policy follows its selected policy–optimizer contract; source-text recognition no longer changes valuation or selects a solver.
Keep authored policies on the same valuation contract. The trade-off is that finite scenario samples can miss rare tails; previous results keep their provenance.
2026-11-10 · ea456b3aeb · Documented change
Separate refreshing data, training models and calculating decisions
- Before
- A training action also recalculated results, coupling preparation of models to replacement of the displayed outputs.
- After
- Source preparation, model training and calculation have separate commands and saved versions. A combined refresh remains available as an explicit action.
Train a new model without replacing existing calculations, or calculate from a chosen saved version without retraining.
2026-11-12 · 98370a1e39 · Documented change
From authored Python economics to isolated Rust pairs
- Before
- Editable Python policy and optimizer versions could execute alongside the new Rust runtime during migration.
- After
- Current authored policies and optimizers execute only as selected Rust/WebAssembly artifacts. Python continues to own scientific forecasting and orchestration; old Python economic records are audit-only.
Give economic code an explicit, bounded execution boundary and immutable artifacts that are validated before activation.