# Phase 2 PR #2 Checklist: Confidence-Based Routing Created: 2026-02-12 Owner: Flynn core Status: ready to implement ## Goal Introduce confidence-based routing policy to choose between fast-path target execution and full LLM orchestration. ## Scope In scope: - routing policy schema with thresholds - confidence output from intent matcher - policy decision engine (`fast` vs `llm`) - routing integration and gateway debug handler Out of scope: - history/topic boost (PR #3) - command registry changes (already in Phase 1) ## Files New: - `src/routing/policy.ts` - `src/routing/index.ts` - `src/routing/policy.test.ts` - `src/gateway/handlers/routing.ts` Modified: - `src/config/schema.ts` - `src/intents/registry.ts` - `src/intents/registry.test.ts` - `src/daemon/index.ts` - `src/daemon/routing.ts` - `src/gateway/handlers/index.ts` ## Implementation Steps 1. Add `routing_policy` config: - `enabled` - `fast_path_threshold` - `llm_threshold` - `default_path` (`fast|llm`) 2. Extend intent matcher to return confidence score. 3. Implement `RoutingPolicy.decide(...)` with deterministic threshold logic. 4. Apply policy in `daemon/routing.ts` before `agent.process`: - high confidence -> fast path - medium/low -> standard orchestration 5. Add `routing.decide` gateway handler for inspection/testing. 6. Add unit/integration tests for threshold boundaries and fallback. ## Validation Commands ```bash pnpm typecheck pnpm test:run src/routing/policy.test.ts pnpm test:run src/intents/registry.test.ts pnpm test:run src/daemon/routing.test.ts pnpm test:run pnpm lint pnpm build ``` ## Acceptance Criteria - Policy decisions are deterministic at threshold edges. - Fast-path is only used when confidence meets configured threshold. - Unmatched/low-confidence requests always fall back safely. - Existing command and routing flows remain compatible. - Routing decision logging is visible for debugging. ## Risks - Over-aggressive fast-path causes loss of context. - Mitigation: high default threshold and explicit fallback path. - Confidence scoring instability. - Mitigation: test edge cases and keep scoring simple. ## Commit Message `feat(routing): add confidence-based fast-path policy`