feat(site-finder): macro_indicator table + backfill + reader (#945 PR A) #963

Merged
Light1YT merged 1 commit from feat/945-macro-indicator into main 2026-06-02 18:41:28 +00:00
Owner

Site Finder v2 / GG-форсайт — EPIC #945 PR A (фундамент критпути, детерминированный, без LLM).

Unified macro_indicator typed series table (§8.8) + idempotent backfill: cbr_mortgage_series → 4 ИЖК-серии по exact series_id (русские месяцы → make_date), domrf → медиана primary_rate. Reader macro.py (get_macro_series/get_latest_macro).

Prod dry-run (rollback): 345 строк, вменяемые (ставка avg 8.39%, domrf 19.13%). 25 тестов, code-reviewer . key_rate → PR B (живой CBR-скрейпер). Additive, runs under deploy.yml _schema_migrations gate (migration 123).

Часть #944. Refs #945.

**Site Finder v2 / `GG-форсайт` — EPIC #945 PR A** (фундамент критпути, детерминированный, без LLM). Unified `macro_indicator` typed series table (§8.8) + idempotent backfill: cbr_mortgage_series → 4 ИЖК-серии по exact series_id (русские месяцы → make_date), domrf → медиана primary_rate. Reader `macro.py` (get_macro_series/get_latest_macro). **Prod dry-run (rollback): 345 строк**, вменяемые (ставка avg 8.39%, domrf 19.13%). 25 тестов, code-reviewer ✅. key_rate → PR B (живой CBR-скрейпер). Additive, runs under deploy.yml _schema_migrations gate (migration 123). Часть #944. Refs #945.
Light1YT added 1 commit 2026-06-02 18:41:26 +00:00
Site Finder v2 / GG-форсайт foundation (deterministic, no LLM). New typed
macro_indicator series table (§8.8: indicator_type/region/obs_date/value/
source/frequency/unit) consolidating scattered macro data.

Backfill (idempotent, ON CONFLICT DO UPDATE):
- cbr_mortgage_series → 4 ИЖК series by exact series_id (rate_weighted/
  issued_count/issued_volume/term), Russian-month period 'Август 2019' parsed
  via 12-month Cyrillic CASE → make_date (guard ^[А-Яа-яЁё]+ [0-9]{4}$ skips
  junk periods). region=sverdl.
- domrf_mortgage_rates → median primary_rate per snapshot_date
  (mortgage_rate_primary_domrf).

Reader services/site_finder/macro.py: get_macro_series/get_latest_macro
(psycopg-v3 CAST), pure classify_cbr_series mirror (test-enforced consistency).

Prod dry-run (rollback): 345 rows, sane values (rate avg 8.39%, domrf 19.13%).
key_rate left for PR B (live CBR scraper). 25 tests, no LLM, additive.
Light1YT merged commit dbae4b0bda into main 2026-06-02 18:41:28 +00:00
Light1YT deleted branch feat/945-macro-indicator 2026-06-02 18:41:28 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#963
No description provided.