# Fragment Execution Policy

## Назначение

Определяет, как система исполняет multi-intent сообщение после `normalized_query_v2`.

## Pipeline

1. Получить decomposition (`fragments`, `discarded_fragments`).
2. Отфильтровать `out_of_scope` фрагменты.
3. Оставшиеся `in_scope` прогнать через deterministic routing.
4. Сгруппировать результаты в единый ответ.

## Группировка фрагментов

Рекомендуемая стратегия:
- `live_mcp_drilldown` — отдельно (точечные задачи);
- `hybrid_store_plus_live` — отдельно (цепочки и причинность);
- `batch_refresh_then_store` — отдельно (обзор/топ/срез);
- `store_feature_risk` и `store_canonical` можно агрегировать в один блок.

## Execution Planner Rules

- Не сводить насильно много задач к одному intent.
- Не терять валидные in-scope задачи из-за соседнего шума.
- При mixed-message обязательно возвращать partial fallback для out-of-scope части.
- Если все in-scope фрагменты требуют уточнения — clarification fallback до выполнения.

## Evidence Safety

Если флаг `asks_for_evidence=true`:
- ответ должен содержать ссылку на подтверждающий источник/объект после исполнения.

Если `asks_for_exact_object_trace=true`:
- приоритет у точечного route `live_mcp_drilldown`.

## Наблюдаемость

Минимум логирования:
- число фрагментов;
- число discarded;
- count in_scope/out_of_scope;
- route decisions по fragment_id;
- выбранный fallback type.
