feat(forecasting): §11 macro-scenarios (#984, 954-A) #1016

Merged
bot-backend merged 1 commit from feat/954a-scenarios into main 2026-06-03 07:59:22 +00:00
Collaborator

EPIC 10 — #984 (954-A): 3 макро-сценария §11. Advisory, детерминированный.

scenarios.py: движок #952 под 3 rate-конвертами — base=hold_last_rate(flat), conservative +2пп (ставка↑→спрос↓), aggressive −3пп (ставка↓→спрос↑), расширение с горизонтом, clamp≥0. Инвариант conservative≥base≥aggressive. Pure build_rate_envelopes отделён от orchestrator. advisory=True (наследует cap #952). 47 тестов. Closes #984. Refs #954

**EPIC 10 — #984 (954-A): 3 макро-сценария §11.** Advisory, детерминированный. `scenarios.py`: движок #952 под 3 rate-конвертами — base=hold_last_rate(flat), conservative +2пп (ставка↑→спрос↓), aggressive −3пп (ставка↓→спрос↑), расширение с горизонтом, clamp≥0. Инвариант conservative≥base≥aggressive. Pure `build_rate_envelopes` отделён от orchestrator. advisory=True (наследует cap #952). **47 тестов**. Closes #984. Refs #954
bot-backend added 1 commit 2026-06-03 07:59:21 +00:00
Add scenarios.py: run the #952 demand↔supply engine under three key-rate
envelopes (base = hold_last_rate flat; conservative +2.0 п.п.; aggressive
−3.0 п.п., widening with horizon, clamped ≥0) → one ScenarioForecast each.
Single lever = rate_path into #952 (β stays counted-once in §9.4). Pure
build_rate_envelopes separated from DB orchestrator; advisory inherits #952
cap; graceful no-macro. Deterministic, no LLM, no SQL. 47 tests.
bot-backend merged commit 8057468c13 into main 2026-06-03 07:59:22 +00:00
bot-backend deleted branch feat/954a-scenarios 2026-06-03 07:59:22 +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#1016
No description provided.