feat(site-finder): live CBR key-rate scraper → macro_indicator (#945 PR B) #964

Merged
Light1YT merged 1 commit from feat/945-cbr-keyrate-scraper into main 2026-06-02 19:05:58 +00:00
Owner

Site Finder v2 / GG-форсайт — EPIC #945 PR B (завершает #945). Детерминированный, без LLM.

Живой CBR-скрейпер заполняет key_rate (пустой после PR A) в macro_indicator:

  • scrapers/cbr_macro.py: CBR SOAP DailyInfoWebServ KeyRateXML + pure parse. Live-проверено: 85 строк, текущая ставка 14.5%.
  • workers/tasks/cbr_macro_sync.py: upsert (key_rate/rf/daily/%) ON CONFLICT, SAVEPOINT per row, fetch-fail→raise.
  • beat: cbr-macro-sync-weekly (Пн 05:30 МСК).
  • 15 тестов. Без миграции (таблица из #963).

code-reviewer: код одобрен (BLOCK был «на main» — устранён, ветка от origin/main; timezone-коммент + updated_at-default закрыты). Часть #944. Closes #945.

**Site Finder v2 / `GG-форсайт` — EPIC #945 PR B** (завершает #945). Детерминированный, без LLM. Живой CBR-скрейпер заполняет `key_rate` (пустой после PR A) в `macro_indicator`: - `scrapers/cbr_macro.py`: CBR SOAP DailyInfoWebServ `KeyRateXML` + pure parse. **Live-проверено: 85 строк, текущая ставка 14.5%**. - `workers/tasks/cbr_macro_sync.py`: upsert (key_rate/rf/daily/%) ON CONFLICT, SAVEPOINT per row, fetch-fail→raise. - beat: `cbr-macro-sync-weekly` (Пн 05:30 МСК). - 15 тестов. Без миграции (таблица из #963). code-reviewer: код одобрен (BLOCK был «на main» — устранён, ветка от origin/main; timezone-коммент + updated_at-default закрыты). Часть #944. Closes #945.
Light1YT added 1 commit 2026-06-02 19:05:56 +00:00
Site Finder v2 / GG-форсайт. Deterministic, no LLM. Fills the key_rate series
(empty after PR A) into macro_indicator from the live CBR source.

- services/scrapers/cbr_macro.py: fetch_key_rate via CBR SOAP DailyInfoWebServ
  KeyRateXML(fromDate, ToDate) (POST soap+xml; ToDate capital-T + dateTime
  suffix required — flat GET returns empty). Pure parse_key_rate_xml (TZ-safe
  date, empty/malformed → []). Live-verified: 85 rows, current rate 14.5%.
- workers/tasks/cbr_macro_sync.py: upsert (key_rate, rf, daily, %) into
  macro_indicator ON CONFLICT DO UPDATE; SAVEPOINT per row; fetch-fail → raise.
- beat: cbr-macro-sync-weekly (Mon 05:30 МСК, Europe/Moscow tz).
- 15 tests (pure parse + mocked upsert). No migration (table from #963 PR A).
Light1YT merged commit c78c6ec2d0 into main 2026-06-02 19:05:58 +00:00
Light1YT deleted branch feat/945-cbr-keyrate-scraper 2026-06-02 19:05:58 +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#964
No description provided.