gendesign/backend
Light1YT 6a79b99c29 feat(forecasting): monthly macro series + key-rate regime classifier (#951b)
New backend/app/services/forecasting package (Site Finder v2 EPIC 7, §9.5/§9.6
foundation). Deterministic, no LLM. MonthlyMacro dataclass + get_monthly_macro
(daily key_rate resampled to monthly last-known-value via SQL DISTINCT ON, reuses
macro.get_macro_series for the already-monthly sverdl mortgage series, carry-forward
key_rate over a continuous month grid, graceful on empty/DB error). Pure helpers:
classify_regime (down/up/stable, eps 0.25pp), macro_at_lag (0/1/2/3/6),
is_confounded_window (COVID 2020-03, geopolitics 2022-02, subsidy cutback 2024-07).
51 unit tests, no live DB. psycopg v3 CAST(:x AS type) throughout.
2026-06-03 10:37:24 +05:00
..
alembic ops: alembic baseline, pre-commit, TIGER cleanup, pg_dump scripts 2026-04-26 13:08:51 +03:00
app feat(forecasting): monthly macro series + key-rate regime classifier (#951b) 2026-06-03 10:37:24 +05:00
db/init ops: alembic baseline, pre-commit, TIGER cleanup, pg_dump scripts 2026-04-26 13:08:51 +03:00
output feat(geo): NSPD bulk-fetcher без Playwright + resume-friendly UI 2026-05-11 08:53:28 +03:00
tests feat(forecasting): monthly macro series + key-rate regime classifier (#951b) 2026-06-03 10:37:24 +05:00
.dockerignore fix(scraper): диагностируем «кнопка не работает» — Redis lock + task_received log 2026-04-28 23:17:42 +03:00
.env.example refactor(security): убрать X-Admin-Token (Caddy basic_auth достаточен) (#437) 2026-05-23 10:41:22 +00:00
.env.runtime.example sprint1: nspd scraper industrialization, per-bucket elasticity, cadastre cross-check, sentry releases 2026-04-30 21:51:19 +03:00
alembic.ini ops: alembic baseline, pre-commit, TIGER cleanup, pg_dump scripts 2026-04-26 13:08:51 +03:00
debug.log feat(geo): NSPD bulk-fetcher без Playwright + resume-friendly UI 2026-05-11 08:53:28 +03:00
Dockerfile fix(scraper): диагностируем «кнопка не работает» — Redis lock + task_received log 2026-04-28 23:17:42 +03:00
pyproject.toml feat(rbac): role-based access control via X-Authenticated-User middleware (#585) 2026-05-26 06:18:40 +00:00
uv.lock feat(rbac): role-based access control via X-Authenticated-User middleware (#585) 2026-05-26 06:18:40 +00:00