Part of #125. Blocked by the scaffold, pairing (backend), and Bonjour (backend).
Problem
The apps must find Macs on the LAN and establish trust without typing IPs or copying tokens.
Outcome
ClaudiaKit discovery + pairing: NWBrowser browses _claudia._tcp, resolves endpoints, drives the PIN pairing flow, stores the device token in the Keychain, and reloads it on launch.
Acceptance criteria
Scope & expectations
- Where:
ClaudiaKit/Sources/Discovery, Pairing
- Constraints: tokens only in Keychain, never UserDefaults; Info.plist keys from the scaffold issue
How to verify
UI + HTTP — screen recording or screenshots of discovery→PIN→paired against a real Mac, plus the pair/complete request/response in backend logs.
Part of #125. Blocked by the scaffold, pairing (backend), and Bonjour (backend).
Problem
The apps must find Macs on the LAN and establish trust without typing IPs or copying tokens.
Outcome
ClaudiaKit discovery + pairing:
NWBrowserbrowses_claudia._tcp, resolves endpoints, drives the PIN pairing flow, stores the device token in the Keychain, and reloads it on launch.Acceptance criteria
/api/server-infoScope & expectations
ClaudiaKit/Sources/Discovery,PairingHow to verify
UI + HTTP — screen recording or screenshots of discovery→PIN→paired against a real Mac, plus the pair/complete request/response in backend logs.