Merge nucleic/keen-willow-wren-ydll into dev

This commit is contained in:
2026-07-21 19:06:12 -07:00
parent 629f4690fe
commit c885a2f6b8
2 changed files with 14 additions and 0 deletions
@@ -797,6 +797,13 @@ final class HostConnection {
// Collapsed Bash summary lines the owner pushes to peer *Macs* (mesh session sync). // Collapsed Bash summary lines the owner pushes to peer *Macs* (mesh session sync).
// The phone renders its own deterministic command summaries, so it ignores these. // The phone renders its own deterministic command summaries, so it ignores these.
break break
case .carbonHeads, .carbonHeadAdvanced, .carbonManifestData, .carbonManifestUnavailable,
.carbonShardData, .carbonShardUnavailable:
// Carbon shard replication (docs/CARBON_SHARDING.md §8.6, D13): phones hold no
// Carbon store, no key custody, and never mirror — every case is inert here. The
// phone never sends the fetch verbs (it doesn't advertise `canMirrorCarbon`), so
// these arrive only if a future host misroutes; ignoring them is the contract.
break
case .transcriptReverted(let reverted): case .transcriptReverted(let reverted):
// The owner reverted/undid this chat — the transcript was truncated to `throughSeq`. // The owner reverted/undid this chat — the transcript was truncated to `throughSeq`.
// Tell RemoteStore first (it records the applied revert epoch so the summary-level // Tell RemoteStore first (it records the applied revert epoch so the summary-level
@@ -2834,6 +2834,11 @@ final class RemoteStore: ObservableObject {
// Session-owning intents → the Mac that has this session. // Session-owning intents → the Mac that has this session.
case .subscribe(let s): case .subscribe(let s):
connection(owningSession: s.sessionID)?.send(msg) connection(owningSession: s.sessionID)?.send(msg)
case .fetchCarbonHeads, .fetchCarbonManifests, .fetchCarbonShards, .carbonShardAck:
// Carbon shard replication (docs/CARBON_SHARDING.md §8.6, D13): phones never
// mirror — no Carbon store, no key custody — so these verbs are never issued from
// iOS. Inert by contract.
break
case .unsubscribe(let id), .interrupt(let id), .deleteSession(let id), .discard(let id), case .unsubscribe(let id), .interrupt(let id), .deleteSession(let id), .discard(let id),
.integrate(let id, _), .renameSession(let id, _), .setFavorite(let id, _), .integrate(let id, _), .renameSession(let id, _), .setFavorite(let id, _),
.setArchived(let id, _), .setSessionModel(let id, _), .setSessionEffort(let id, _), .setArchived(let id, _), .setSessionModel(let id, _), .setSessionEffort(let id, _),
@@ -3035,6 +3040,8 @@ final class RemoteStore: ObservableObject {
switch msg { switch msg {
case .sendInput(let id, let input): case .sendInput(let id, let input):
demoRun(id, userText: input.plainText ?? "") demoRun(id, userText: input.plainText ?? "")
case .fetchCarbonHeads, .fetchCarbonManifests, .fetchCarbonShards, .carbonShardAck:
break // Carbon replication: never issued from iOS (D13); inert in demo too.
case .startChat(let req): case .startChat(let req):
demoStartChat(req) demoStartChat(req)
case .approvalRespond(let id, let decision): case .approvalRespond(let id, let decision):