Merge nucleic/zesty-river-wren into dev

This commit is contained in:
2026-07-10 00:27:35 -07:00
parent 30ffc6020a
commit d93d1890d6
2 changed files with 13 additions and 2 deletions
@@ -640,6 +640,12 @@ final class HostConnection {
case .macPairResolved(let deviceID, _): case .macPairResolved(let deviceID, _):
// Answered on this Mac or another device (or timed out) — dismiss the prompt. // Answered on this Mac or another device (or timed out) — dismiss the prompt.
callbacks.macPairResolved(deviceID) callbacks.macPairResolved(deviceID)
case .intelligenceRequest, .credentialNeeded, .credentialUpdate:
// Antimatter runner verbs (docs/ANTIMATTER_RUNNER.md §5–6): a runner host delegating
// intelligence work or asking for / mirroring sealed credentials. Inert here until the
// phone-side executor/vault land — and a host only sends these to clients that
// advertised the matching `WireClientCapabilities`, which this app doesn't yet.
break
case .wireError(let error): case .wireError(let error):
if error.code == .channelMismatch { if error.code == .channelMismatch {
connectivity = .failed(error.message) connectivity = .failed(error.message)
@@ -1672,10 +1672,13 @@ final class RemoteStore: ObservableObject {
// Never originated from here (connection-internal, or handled by dedicated loops). // Never originated from here (connection-internal, or handled by dedicated loops).
// `requestPairingCode`/`cancelPairingCode` are sent straight to the chosen host by // `requestPairingCode`/`cancelPairingCode` are sent straight to the chosen host by
// `requestPairingCode()`/`cancelPairingCode()`, not through this owner-routing switch. // `requestPairingCode()`/`cancelPairingCode()`, not through this owner-routing switch.
// The runner verbs (intelligence results, credential mesh — ANTIMATTER_RUNNER §5–6) will
// ride their own executor/vault loops when the phone side lands; nothing routes them here.
case .hello, .ping, .listPeers, .addressUpdate, .meshRoster, case .hello, .ping, .listPeers, .addressUpdate, .meshRoster,
.registerLiveActivity, .endLiveActivity, .registerPushToStartToken, .setForeground, .registerLiveActivity, .endLiveActivity, .registerPushToStartToken, .setForeground,
.transferOffer, .transferChunk, .transferCommit, .transferCancel, .fetchTranscript, .transferOffer, .transferChunk, .transferCommit, .transferCancel, .fetchTranscript,
.requestPairingCode, .cancelPairingCode, .respondMacPair: .requestPairingCode, .cancelPairingCode, .respondMacPair,
.intelligenceResult, .credentialManifest, .credentialProvision:
break break
} }
} }
@@ -1862,7 +1865,9 @@ final class RemoteStore: ObservableObject {
.transferOffer, .transferChunk, .transferCommit, .transferCancel, .transferOffer, .transferChunk, .transferCommit, .transferCancel,
// "Add a device" mint is handled directly against a live host, not via demoHandle; // "Add a device" mint is handled directly against a live host, not via demoHandle;
// the demo path short-circuits in `requestPairingCode()` with a stand-in code. // the demo path short-circuits in `requestPairingCode()` with a stand-in code.
.requestPairingCode, .cancelPairingCode, .respondMacPair: .requestPairingCode, .cancelPairingCode, .respondMacPair,
// Antimatter runner verbs (ANTIMATTER_RUNNER §5–6) — demo has no runner host.
.intelligenceResult, .credentialManifest, .credentialProvision:
break // passive / already handled by the seeded fixtures (demo has no mesh peers) break // passive / already handled by the seeded fixtures (demo has no mesh peers)
} }
} }