# Phase 2 PR #1 Checklist: Component Registry Routing Created: 2026-02-12 Owner: Flynn core Status: ready to implement ## Goal Add a component registry for intent routing so message patterns can map to target agents/skills before full orchestration. ## Scope In scope: - intent rule schema in config - registry with match + priority resolution - router integration in `daemon/routing.ts` - gateway inspection handler (`intents.list`, `intents.match`) Out of scope: - confidence-based fast-path decisions (PR #2) - history/context boosts (PR #3) ## Files New: - `src/intents/registry.ts` - `src/intents/index.ts` - `src/intents/registry.test.ts` - `src/gateway/handlers/intents.ts` Modified: - `src/config/schema.ts` - `src/daemon/index.ts` - `src/daemon/routing.ts` - `src/gateway/handlers/index.ts` ## Implementation Steps 1. Add config schema section `intents`: - `enabled` (bool, default false) - `match_threshold` (0..1) - `rules[]` with `name`, `patterns[]`, `target { type, name }`, `priority`, `enabled` 2. Implement `ComponentRegistry`: - rule registration - glob/literal match - score + tie-break (`priority`, specificity) 3. Add tests for exact/glob matches and tie-breaking. 4. Instantiate registry in daemon startup and load rules from config. 5. In `createMessageRouter`, run intent match before agent resolution. 6. Add gateway handlers to inspect configured rules and test match behavior. ## Validation Commands ```bash pnpm typecheck pnpm test:run src/intents/registry.test.ts pnpm test:run src/daemon/routing.test.ts pnpm test:run src/gateway/handlers/handlers.test.ts pnpm test:run pnpm lint pnpm build ``` ## Acceptance Criteria - Registry resolves matches deterministically. - Intent routing is opt-in and disabled by default. - Messages with matching rules can override default agent target. - Messages without a match keep existing route behavior. - Gateway inspection handlers return correct match/rule info. - No regressions in existing routing tests. ## Risks - False-positive matches route to wrong agent. - Mitigation: conservative threshold + debug logging. - Rule explosion impacts performance. - Mitigation: precompile/cached patterns and O(n) bounded scan. ## Commit Message `feat(routing): add component registry for intent-based target resolution`