**Parent:** #50 ## Requirements - Manager (actor) intern registry: one `Peripheral` handle per id per manager. - `manager.peripheral(id:)` creates or returns handle before any advertisement. - Discovery matching binds live `CBPeripheral` to existing handle when ids align (and creates handle if none). - Option A: update handle last-seen / rssi / last-advertisement metadata when discovered. - No fake `DiscoveredPeripheral` for offline known ids. ## Acceptance criteria - [ ] Known-id handle survives until matched; no duplicate handles for same id - [ ] Metadata on handle updates when nearby - [ ] Tests for known-id + later discovery bind
Parent: #50
Requirements
Peripheralhandle per id per manager.manager.peripheral(id:)creates or returns handle before any advertisement.CBPeripheralto existing handle when ids align (and creates handle if none).DiscoveredPeripheralfor offline known ids.Acceptance criteria