FOLLOW-UP (Leha: not a bug, follow-up). get_macro_series / get_latest_macro defaulted region='rf', but CBR mortgage_* series live under 'sverdl' in macro_indicator (key_rate under 'rf'). Only caller passes region explicitly so no active leak, but a future caller omitting region would silently get None — latent footgun. region now str|None; when None → _canonical_region (mortgage set sourced from _CBR_SERIES_MAP, single source of truth). Explicit region always wins → existing callers unchanged. Region-binding tests added. 159 tests pass. Documented (NOT code-fixed — upstream data-quality): mortgage_debt / mortgage_overdue stay empty in macro_indicator because cbr_mortgage_series.period holds value-like garbage (e.g. '10054588.0') for the Debt series — corruption from the upstream CBR-XLSX scraper that built domrf.db (imported verbatim by 44_import_anton_db.py), NOT an ingest bug. 123_macro_indicator.sql correctly skips unparseable periods. Needs a separate scraper re-ingest (idempotent backfill once period is valid). Refs #945 |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| best_layouts.py | ||
| cadastre_fetch.py | ||
| competitors.py | ||
| custom_pois.py | ||
| filters.py | ||
| future_supply.py | ||
| gate_verdict.py | ||
| layout_signature.py | ||
| layout_velocity_refresh.py | ||
| macro.py | ||
| market_metrics.py | ||
| noise_loader.py | ||
| parser.py | ||
| poi_loader.py | ||
| poi_score.py | ||
| pzz_loader.py | ||
| quarter_dump_lookup.py | ||
| quarter_price_index_refresh.py | ||
| quarter_price_refresh.py | ||
| scorer.py | ||
| supply_layers.py | ||
| velocity.py | ||
| weight_profiles.py | ||