# Tasks: enterprise-react-audio-midi **Phase**: 3 of 3 **Blocked on**: `enterprise-react-audio-foundation` AND `enterprise-react-audio-components` shipping green. Outline (to flesh out at execution time): 1. `src/hooks/use-midi-controller/` — hook with `useSyncExternalStore` subscription against the controller's connection-state event surface. 2. `src/components/midi-controller-setup/` — `` component with learn-mode UI, target picker, captured-source display, persistence via the foundation's preset store, unbind button. 3. Add the hook + component to `package.json` subpath exports (`./hooks/use-midi-controller`, `./components/midi-controller-setup`). 4. Tests + stories + sibling `.md` per CLAUDE.md. 5. 5-gate triple + archive + STATUS row flip: at end of Phase 3, description becomes the final post-migration description and status is ✅ (Migrated +1).