Skip to content
Anthony ERIBON

Projects / Forecasting and decisions

POD — Predict, Optimize, Decide

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.