ADR-022 Implementation Sequence & Requirements Map
Document Purpose: Reference for implementation ordering, cross-ADR dependencies, and GitHub issue tracking for ADR-022 and its interactions with ADRs 013, 017, 018, 019, 020, and 021.
Created: March 2026 | Whitepaper: conductor-bindings-whitepaper.md | ADR: ADR-022-device-discovery-bindings-multi-protocol-routing.md
1. Current State Summary
ADR Implementation Status
| ADR | Title | Status | Open Issues | Key Blockers |
|---|---|---|---|---|
| ADR-019 | Unified Workspace Filtering | ✅ Complete | #645 (tracking), #729 (polish) | None |
| ADR-020 | V3 Signal Flow Rendering | ✅ Complete | #667 (tracking) | None |
| ADR-021 | I/O Device Qualification | 🟡 90% Complete | #731 (D10 validation gaps) | Minor — remaining validation rules |
| ADR-017 | Unified Mapping Experience | 🔴 Not Started | #604-#618 (15 issues) | None — ready to start |
| ADR-013 | LLM Canvas | 🔴 Not Started | #619-#627 (9 issues) | ADR-017 Phase 3 delivers foundation |
| ADR-018 | Knowledge Layer | 🔴 Not Started | #646-#655 (10 issues) | None — ready to start |
| ADR-022 | Discovery, Bindings, Multi-Protocol | 🔴 New (Draft) | #734-#759 (26 issues) | Depends on ADR-019, ADR-021 |
2. Recommended Implementation Order
Sprint 1: Foundation + Start ADR-017 (Parallel Tracks)
Track A: ADR-022 Phase 1 — Foundation (8-12h)
- Terminology migration (UI labels, docs)
[[bindings]]config alias in TOML parserconductor_list_discovered_portsMCP tool- Skill rewrites (binding-setup, troubleshooting, learn)
- GitHub Issues: #735, #736, #737, #738, #739 | Tracking: #734
Track B: ADR-017 Phases 1A-1B (10-14h)
- MappingEditor component architecture
- Events-to-MappingEditor bridge
- Learn mode → Learn trigger type integration
- GitHub Issues: #604, #605 (amended)
Track C: ADR-018 Phase 1 (3-4h)
- L1 Core Reference authoring
- L1 injection into system prompt
- GitHub Issues: #646 (amended), #647
Track D: ADR-021 Cleanup (2-3h)
- Close #731 (D10 validation, gear icon, TOML preview)
- GitHub Issues: #731
Sprint 2: Discovery UI + Continue ADR-017
Track A: ADR-022 Phase 2 — Discovery UI (10-14h)
get_discovered_portsTauri command + store- Connections view (Discovered Ports + Configured Bindings)
- BindingPills rename + protocol icons + unbound badge
- Unbound Sources group in Signal Flow
- GitHub Issues: #740, #741, #742, #743
Track B: ADR-017 Phases 1C-2C (12-16h)
- MappingList component, MappingEditor CRUD
- Workspace T4 state, LLM editor tools
- Remove old Learn dialog
- GitHub Issues: #606-#610
Sprint 3: Binding CRUD + Canvas Foundation
Track A: ADR-022 Phase 3 — Binding CRUD (8-12h)
- MCP tools: create_binding, update/delete_device_identity, get_binding_health
- Events-to-Binding bridge in RefinementCard
- GitHub Issues: #744, #745, #747, #749
Track B: ADR-017 Phase 3 → ADR-013 Phase 1 (11-15h)
- Bidirectional artifact editing
- Artifact infrastructure + type enum
- Generic render_artifact MCP tool
- GitHub Issues: #611, #612, #619, #620, #621
Sprint 4: Multi-Protocol + Knowledge Layer L2
Track A: ADR-022 Phase 4 — Multi-Protocol (6-10h)
- Protocol enum + protocol field on DeviceIdentityConfig
- Protocol badges on event rows
- Channel column promotion and scope
- GitHub Issues: #746, #748, #750, #751
Track B: ADR-018 Phase 2 (10-14h)
- Knowledge index infrastructure
- L2 source content (device profiles)
- Retrieval pipeline integration
- GitHub Issues: #648-#651
Track C: ADR-013 Phase 2 (8-11h)
- mapping-table artifact
- velocity-curve artifact
- GitHub Issues: #622, #623
Sprint 5: Device Intelligence + Final Artifacts
Track A: ADR-022 Phase 5 — Device Intelligence (10-14h)
- SysEx Identity probing + SysExIdentity matcher
- UsbIdentifier matcher for HID
- MIDI Learn source annotation UI
- Event fingerprinting engine
- MCP tools: suggest_binding, probe_device_identity
- GitHub Issues: #752, #753, #754, #755
Track B: ADR-013 Phase 3 (10-13h)
- binding-topology artifact
- discovery-overview artifact
- markdown + action-sequence artifacts
- GitHub Issues: #624 (amended), #625, #626
Track C: ADR-017 Phases 4-5 (13-19h)
- Extended trigger types
- CompoundTrigger UI builder
- GitHub Issues: #613-#617
Sprint 6: LLM Integration + System Completion
Track A: ADR-022 Phase 6 — LLM Integration (8-12h)
- Canvas artifacts wired to chat
- Device profile retrieval via L2
- Community profile sharing stub
- GitHub Issues: #756, #757, #758, #759
Track B: ADR-018 Phase 3 (4-6h)
- Provider-aware retrieval tuning
- Knowledge Sources settings UI
- L3 online retrieval stub
- GitHub Issues: #652-#655
3. Requirements Map: Proposals → Decisions → Issues
| # | Proposal | Phase | Issue | Acceptance Criteria |
|---|---|---|---|---|
| 1 | Separate Discovery from Bindings | 2 | #740 | Connections view shows both separately |
| 2 | Rename In/Out/Thru → Receive/Send/Both | 1 | #735 | All UI uses new terminology |
| 3 | Discovered Ports section | 2 | #741 | View renders ports by protocol |
| 4 | +N unbound badge | 2 | #742 | Badge shows count, clickable |
| 5 | Protocol field on binding | 4 | #746 | Enum accepted in parser |
| 6 | Unbound Sources group in Signal Flow | 2 | #743 | Dashed group below bound groups |
| 7 | Channel column visible | 4 | #750 | Always visible, sortable |
| 8 | Channel scope on bindings | 4 | #751 | Filter events by channel |
| 9 | Protocol badge on events | 4 | #748 | Icon + text for each event |
| 10 | Config alias [[bindings]] | 1 | #736 | Parser accepts both |
| 11 | SysEx Identity probing | 5 | #752 | <1s per port, non-blocking |
| 12 | MIDI Learn source annotation | 5 | #754 | Device selection field |
| 13 | Event fingerprinting | 5 | #755 | >80% accuracy |
| 14 | MCP: list_discovered_ports | 1 | #737 | Returns all ports + metadata |
| 15 | MCP: create_binding | 3 | #744 | Creates via Plan/Apply |
| 16 | MCP: update/delete device identity | 3 | #745 | Via Plan/Apply with cascades |
| 17 | Binding-setup skill | 1 | #738 | Teaches three-layer model |
| 18 | MCP: suggest_binding | 5 | #755 | Returns ranked alternatives |
| 19 | MCP: probe_device_identity | 5 | #752 | Returns structured identity |
| 20 | Troubleshooting skill | 1 | #738 | Covers common problems |
| 21 | MCP: get_binding_health | 3 | #747 | Health + suggestions |
| 22 | binding-topology artifact | 6 | #756 | Three-column graph |
| 23 | Binding schema in L1 | 1 | #739 | Schema in llm-reference.md |
| 24 | Device profile retrieval (L2) | 6 | #758 | By name/manufacturer |
| 25 | Community profile sharing (L3) | 6 | #759 | Stub API scaffold |
4. Effort Summary
By Phase
| Phase | Hours | Sprint |
|---|---|---|
| Phase 1 | 8-12 | 1 |
| Phase 2 | 10-14 | 2 |
| Phase 3 | 8-12 | 3 |
| Phase 4 | 6-10 | 4 |
| Phase 5 | 10-14 | 5 |
| Phase 6 | 8-12 | 6 |
| Total | 50-74 |
Grand Total (Including Parallel ADR Work): 124-181 hours across 6 sprints
5. Reference Documents
| Document | Purpose | Status |
|---|---|---|
| conductor-bindings-whitepaper.md | Full analysis + proposals | Complete |
| ADR-022-device-discovery-bindings-multi-protocol-routing.md | Architecture decision | Draft |
| ADR-022-amendments-to-existing-adrs.md | Changes to ADRs 013-020 | Draft |
| CLAUDE.md | Project status | v4.26.71 |
Version: 1.0
Last Updated: 2026-03-20
Maintainer: Claude Code (ADR tracking system)