# Router / Orchestration Fix Report v2 (2026-03-23)

## Final tuning step

После первого router-fix прогона оставался 1 mismatch (`Q19`), где `period_trend` вопрос с формулировкой про аномалию уходил в batch.

Сделана точечная правка:

- `router/route_selector.py`
  - heavy-guard теперь срабатывает по `needs_anomaly_summary` только если запрос не относится к trend/risk профилю (`not parsed_as_trend_or_risk`).

Добавлен тест:

- `tests/test_router_benchmark_subset.py::test_router_period_trend_anomaly_stays_feature_store`

## Verification

- `python -m pytest -q` -> `32 passed`
- Validation run:
  - `python scripts/run_validation_accounting_analytics.py --snapshot-path logs/pre_report_snapshot_2020_2020-06_semantic_v2.json --output-dir docs/ARCH/validation_run_2026-03-23_router_fix_v2 --strict`

## Result metrics (router_fix_v2)

- `questions_total = 35`
- `route_mismatch_count = 0`
- `degraded_answers_count = 0`
- `heavy_analytical mismatches = 0`
- `cross_entity mismatches = 0`
- `drilldown_explain mismatches = 0`
- `batch_route_count = 4` (> 0, runtime path active)

## Artifacts

- `docs/ARCH/validation_run_2026-03-23_router_fix_v2/`
- `docs/ARCH/validation_run_2026-03-23_router_fix_v2/route_decision_logs.json`
