REOPENED. PDF + Excel exporters read non-existent dict keys, so demand/supply/ scenario columns silently rendered "—". Tests passed only because the fixtures were stale (hand-typed the same wrong keys → fixture agreed with buggy exporter). - future_market: demand/supply → projected_demand_units/projected_supply_units - scenarios: drop non-existent per-scenario "overall"; show primary-horizon deficit_index from ScenarioForecast.forecasts (scoring.overall was NOT broken) - Excel #991: add missing future_supply (index + breakdown) + confidence.factors sections; add future_supply to PDF for parity - tests: rebuild forecast/scenario fixtures from real DemandSupplyForecast / ScenarioForecast as_dict(); contract-key regression guards fail on key-drift (verified: reintroducing old keys fails the new tests). 28 passed. Refs #989 #991 |
||
|---|---|---|
| .. | ||
| analysis_runs | ||
| cadastre | ||
| etl | ||
| exporters | ||
| forecasting | ||
| generative | ||
| photos | ||
| scrapers | ||
| site_finder | ||
| __init__.py | ||
| analytics_queries.py | ||
| analytics_refresh.py | ||
| job_settings.py | ||
| objective_etl.py | ||
| objective_sync_config.py | ||