# v2.0.2 No-Route Audit

## Source Run
- run_id: `eval-baY1nPi1rI`
- no_route fragments in run: `6`

## Extracted No-Route Cases

| case_id | trace_id | domain_relevance | execution_readiness | old reason | classification |
|---|---|---|---|---|---|
| BQ-011 | HNAXW_JV6E_hp- | in_scope | needs_clarification | critical_period_missing | legit_no_route |
| BQ-015 | mIR3Cru_dmM5PQ | in_scope | needs_clarification | critical_period_missing | legit_no_route |
| BQ-017 | vuvha8oq0Y67kU | in_scope | needs_clarification | critical_period_missing | legit_no_route |
| BQ-018 | dtTCTe9sMiGv2F | in_scope | needs_clarification | critical_period_missing | legit_no_route |
| BQ-020 | 2VO4fwiW6_quNT | in_scope | needs_clarification | critical_period_missing | legit_no_route |
| BQ-026 | dtXqHsYutlsp6q | out_of_scope | needs_clarification | fragment_out_of_scope | legit_no_route |

## Audit Result
- `legit_no_route`: 6
- `missing_mapping`: 0

Conclusion: historical no-route mass was mostly clarification/out-of-scope, not route-map holes.

## v2.0.2 Policy Mapping

Historical no-route reasons were normalized to explicit enum:
- out-of-scope cases -> `no_route_reason=out_of_scope`
- clarification/underspecified in-scope cases -> `no_route_reason=insufficient_specificity`

For real route-map gaps, v2.0.2 now reserves:
- `no_route_reason=missing_mapping`
- `execution_readiness=no_route`

## Deterministic Guard Added
If fragment is:
- `domain_relevance=in_scope`
- not clarification-blocked
- and route-selectable by deterministic policy

then `route_status=no_route` is forbidden and fragment is forced to routed state.

This prevents silent unresolved fragments.
