| CHERRY-PICK |
33 |
apps/macos/Sources/OpenClaw/AudioInputDeviceObserver.swift |
apps/macos/Sources/RemoteClaw/AudioInputDeviceObserver.swift |
| CHERRY-PICK |
8 |
apps/macos/Sources/OpenClaw/CanvasWindowController.swift |
apps/macos/Sources/RemoteClaw/CanvasWindowController.swift |
| CHERRY-PICK |
9 |
apps/macos/Sources/OpenClaw/ConfigSettings.swift |
apps/macos/Sources/RemoteClaw/ConfigSettings.swift |
| EXCLUDE-DIVERGENT |
90 |
apps/macos/Sources/OpenClaw/ContextUsageBar.swift |
apps/macos/Sources/RemoteClaw/ContextUsageBar.swift |
| CHERRY-PICK |
18 |
apps/macos/Sources/OpenClaw/CronJobsStore.swift |
apps/macos/Sources/RemoteClaw/CronJobsStore.swift |
| CHERRY-PICK |
4 |
apps/macos/Sources/OpenClaw/GatewayDiscoverySelectionSupport.swift |
apps/macos/Sources/RemoteClaw/GatewayDiscoverySelectionSupport.swift |
| CHERRY-PICK |
42 |
apps/macos/Sources/OpenClaw/GatewayEndpointStore.swift |
apps/macos/Sources/RemoteClaw/GatewayEndpointStore.swift |
| CHERRY-PICK |
22 |
apps/macos/Sources/OpenClaw/GatewayLaunchAgentManager.swift |
apps/macos/Sources/RemoteClaw/GatewayLaunchAgentManager.swift |
| CHERRY-PICK |
44 |
apps/macos/Sources/OpenClaw/InstancesSettings.swift |
apps/macos/Sources/RemoteClaw/InstancesSettings.swift |
| CHERRY-PICK |
27 |
apps/macos/Sources/OpenClaw/InstancesStore.swift |
apps/macos/Sources/RemoteClaw/InstancesStore.swift |
| CHERRY-PICK |
16 |
apps/macos/Sources/OpenClaw/MenuBar.swift |
apps/macos/Sources/RemoteClaw/MenuBar.swift |
| CHERRY-PICK |
50 |
apps/macos/Sources/OpenClaw/MenuContentView.swift |
apps/macos/Sources/RemoteClaw/MenuContentView.swift |
| CHERRY-PICK |
141 |
apps/macos/Sources/OpenClaw/NodePairingApprovalPrompter.swift |
apps/macos/Sources/RemoteClaw/NodePairingApprovalPrompter.swift |
| CHERRY-PICK |
2 |
apps/macos/Sources/OpenClaw/NodeServiceManager.swift |
apps/macos/Sources/RemoteClaw/NodeServiceManager.swift |
| CHERRY-PICK |
10 |
apps/macos/Sources/OpenClaw/NodesStore.swift |
apps/macos/Sources/RemoteClaw/NodesStore.swift |
| CHERRY-PICK |
38 |
apps/macos/Sources/OpenClaw/OnboardingView+Layout.swift |
apps/macos/Sources/RemoteClaw/OnboardingView+Layout.swift |
| CHERRY-PICK |
23 |
apps/macos/Sources/OpenClaw/OnboardingView+Workspace.swift |
apps/macos/Sources/RemoteClaw/OnboardingView+Workspace.swift |
| CHERRY-PICK |
72 |
apps/macos/Sources/OpenClaw/PeekabooBridgeHostCoordinator.swift |
apps/macos/Sources/RemoteClaw/PeekabooBridgeHostCoordinator.swift |
| CHERRY-PICK |
40 |
apps/macos/Sources/OpenClaw/PermissionManager.swift |
apps/macos/Sources/RemoteClaw/PermissionManager.swift |
| CHERRY-PICK |
17 |
apps/macos/Sources/OpenClaw/RemotePortTunnel.swift |
apps/macos/Sources/RemoteClaw/RemotePortTunnel.swift |
| CHERRY-PICK |
16 |
apps/macos/Sources/OpenClaw/ScreenRecordService.swift |
apps/macos/Sources/RemoteClaw/ScreenRecordService.swift |
| EXCLUDE-DIVERGENT |
20 |
apps/macos/Sources/OpenClaw/SessionMenuLabelView.swift |
apps/macos/Sources/RemoteClaw/SessionMenuLabelView.swift |
| EXCLUDE-DIVERGENT |
16 |
apps/macos/Sources/OpenClaw/SessionsSettings.swift |
apps/macos/Sources/RemoteClaw/SessionsSettings.swift |
| CHERRY-PICK |
29 |
apps/macos/Sources/OpenClaw/SettingsRootView.swift |
apps/macos/Sources/RemoteClaw/SettingsRootView.swift |
| EXCLUDE-DIVERGENT |
23 |
apps/macos/Sources/OpenClaw/UsageMenuLabelView.swift |
apps/macos/Sources/RemoteClaw/UsageMenuLabelView.swift |
| CHERRY-PICK |
44 |
apps/macos/Sources/OpenClaw/VoicePushToTalk.swift |
apps/macos/Sources/RemoteClaw/VoicePushToTalk.swift |
| CHERRY-PICK |
6 |
apps/macos/Sources/OpenClaw/VoiceWakeGlobalSettingsSync.swift |
apps/macos/Sources/RemoteClaw/VoiceWakeGlobalSettingsSync.swift |
| CHERRY-PICK |
89 |
apps/macos/Sources/OpenClaw/VoiceWakeRuntime.swift |
apps/macos/Sources/RemoteClaw/VoiceWakeRuntime.swift |
| CHERRY-PICK |
30 |
apps/macos/Sources/OpenClaw/VoiceWakeSettings.swift |
apps/macos/Sources/RemoteClaw/VoiceWakeSettings.swift |
| CHERRY-PICK |
56 |
apps/macos/Sources/OpenClaw/VoiceWakeTester.swift |
apps/macos/Sources/RemoteClaw/VoiceWakeTester.swift |
| CHERRY-PICK |
12 |
apps/macos/Sources/OpenClaw/WorkActivityStore.swift |
apps/macos/Sources/RemoteClaw/WorkActivityStore.swift |
| CHERRY-PICK |
12 |
apps/macos/Sources/OpenClawDiscovery/GatewayDiscoveryModel.swift |
apps/macos/Sources/RemoteClawDiscovery/GatewayDiscoveryModel.swift |
| CHERRY-PICK |
42 |
apps/macos/Sources/OpenClawMacCLI/ConnectCommand.swift |
apps/macos/Sources/RemoteClawMacCLI/ConnectCommand.swift |
| CHERRY-PICK |
2 |
apps/macos/Tests/OpenClawIPCTests/GatewayDiscoveryHelpersTests.swift |
apps/macos/Tests/RemoteClawIPCTests/GatewayDiscoveryHelpersTests.swift |
| CHERRY-PICK |
52 |
apps/macos/Tests/OpenClawIPCTests/TestIsolation.swift |
apps/macos/Tests/RemoteClawIPCTests/TestIsolation.swift |
Background
Decomposition of #2576 (Cat A processing). Cluster A2 covers the macOS surface of the v2026.3.22 sync backlog: 35 files under
apps/macos/where fork content diverges from upstream@v2026.3.22 with rebrand applied.See full triage at
hq/upstream/pending-sync-review/2026-04-24-cat-a-triage.md(cluster A2 section) and per-cluster TSV athq/upstream/pending-sync-review/2026-04-24-cat-a-clusters.tsv.Disposition summary
Cluster scope (per fork path prefix):
apps/macos/Sources/RemoteClaw/**— 31 app source files (largest sub-cluster)apps/macos/Sources/RemoteClawDiscovery/**— 1 fileapps/macos/Sources/RemoteClawMacCLI/**— 1 fileapps/macos/Tests/RemoteClawIPCTests/**— 2 test filesScope
For each of the 35 files:
v2026.3.22to the fork's rebranded path with rebrand-content transforms. Per-file inspection may convert to EXCLUDE-DIVERGENT if the upstream change touches a fork-gutted code path.ContextUsageBar.swift,SessionMenuLabelView.swift,SessionsSettings.swift,UsageMenuLabelView.swift) trace to fork commit gut(session): remove vestigial contextTokens config and display denominator #2277gut(session): remove vestigial contextTokens config and display denominator. Adddisposition.tsvrows with that rationale.File list
apps/macos/Sources/OpenClaw/AudioInputDeviceObserver.swiftapps/macos/Sources/RemoteClaw/AudioInputDeviceObserver.swiftapps/macos/Sources/OpenClaw/CanvasWindowController.swiftapps/macos/Sources/RemoteClaw/CanvasWindowController.swiftapps/macos/Sources/OpenClaw/ConfigSettings.swiftapps/macos/Sources/RemoteClaw/ConfigSettings.swiftapps/macos/Sources/OpenClaw/ContextUsageBar.swiftapps/macos/Sources/RemoteClaw/ContextUsageBar.swiftapps/macos/Sources/OpenClaw/CronJobsStore.swiftapps/macos/Sources/RemoteClaw/CronJobsStore.swiftapps/macos/Sources/OpenClaw/GatewayDiscoverySelectionSupport.swiftapps/macos/Sources/RemoteClaw/GatewayDiscoverySelectionSupport.swiftapps/macos/Sources/OpenClaw/GatewayEndpointStore.swiftapps/macos/Sources/RemoteClaw/GatewayEndpointStore.swiftapps/macos/Sources/OpenClaw/GatewayLaunchAgentManager.swiftapps/macos/Sources/RemoteClaw/GatewayLaunchAgentManager.swiftapps/macos/Sources/OpenClaw/InstancesSettings.swiftapps/macos/Sources/RemoteClaw/InstancesSettings.swiftapps/macos/Sources/OpenClaw/InstancesStore.swiftapps/macos/Sources/RemoteClaw/InstancesStore.swiftapps/macos/Sources/OpenClaw/MenuBar.swiftapps/macos/Sources/RemoteClaw/MenuBar.swiftapps/macos/Sources/OpenClaw/MenuContentView.swiftapps/macos/Sources/RemoteClaw/MenuContentView.swiftapps/macos/Sources/OpenClaw/NodePairingApprovalPrompter.swiftapps/macos/Sources/RemoteClaw/NodePairingApprovalPrompter.swiftapps/macos/Sources/OpenClaw/NodeServiceManager.swiftapps/macos/Sources/RemoteClaw/NodeServiceManager.swiftapps/macos/Sources/OpenClaw/NodesStore.swiftapps/macos/Sources/RemoteClaw/NodesStore.swiftapps/macos/Sources/OpenClaw/OnboardingView+Layout.swiftapps/macos/Sources/RemoteClaw/OnboardingView+Layout.swiftapps/macos/Sources/OpenClaw/OnboardingView+Workspace.swiftapps/macos/Sources/RemoteClaw/OnboardingView+Workspace.swiftapps/macos/Sources/OpenClaw/PeekabooBridgeHostCoordinator.swiftapps/macos/Sources/RemoteClaw/PeekabooBridgeHostCoordinator.swiftapps/macos/Sources/OpenClaw/PermissionManager.swiftapps/macos/Sources/RemoteClaw/PermissionManager.swiftapps/macos/Sources/OpenClaw/RemotePortTunnel.swiftapps/macos/Sources/RemoteClaw/RemotePortTunnel.swiftapps/macos/Sources/OpenClaw/ScreenRecordService.swiftapps/macos/Sources/RemoteClaw/ScreenRecordService.swiftapps/macos/Sources/OpenClaw/SessionMenuLabelView.swiftapps/macos/Sources/RemoteClaw/SessionMenuLabelView.swiftapps/macos/Sources/OpenClaw/SessionsSettings.swiftapps/macos/Sources/RemoteClaw/SessionsSettings.swiftapps/macos/Sources/OpenClaw/SettingsRootView.swiftapps/macos/Sources/RemoteClaw/SettingsRootView.swiftapps/macos/Sources/OpenClaw/UsageMenuLabelView.swiftapps/macos/Sources/RemoteClaw/UsageMenuLabelView.swiftapps/macos/Sources/OpenClaw/VoicePushToTalk.swiftapps/macos/Sources/RemoteClaw/VoicePushToTalk.swiftapps/macos/Sources/OpenClaw/VoiceWakeGlobalSettingsSync.swiftapps/macos/Sources/RemoteClaw/VoiceWakeGlobalSettingsSync.swiftapps/macos/Sources/OpenClaw/VoiceWakeRuntime.swiftapps/macos/Sources/RemoteClaw/VoiceWakeRuntime.swiftapps/macos/Sources/OpenClaw/VoiceWakeSettings.swiftapps/macos/Sources/RemoteClaw/VoiceWakeSettings.swiftapps/macos/Sources/OpenClaw/VoiceWakeTester.swiftapps/macos/Sources/RemoteClaw/VoiceWakeTester.swiftapps/macos/Sources/OpenClaw/WorkActivityStore.swiftapps/macos/Sources/RemoteClaw/WorkActivityStore.swiftapps/macos/Sources/OpenClawDiscovery/GatewayDiscoveryModel.swiftapps/macos/Sources/RemoteClawDiscovery/GatewayDiscoveryModel.swiftapps/macos/Sources/OpenClawMacCLI/ConnectCommand.swiftapps/macos/Sources/RemoteClawMacCLI/ConnectCommand.swiftapps/macos/Tests/OpenClawIPCTests/GatewayDiscoveryHelpersTests.swiftapps/macos/Tests/RemoteClawIPCTests/GatewayDiscoveryHelpersTests.swiftapps/macos/Tests/OpenClawIPCTests/TestIsolation.swiftapps/macos/Tests/RemoteClawIPCTests/TestIsolation.swiftHow to verify
git log -1 --format=%H -- {fork-equivalent-path}shows the cherry-pick (or trailerCherry-picked-from: {upstream-sha})swift testin each touched modulev2026.3.22after PR merges; A2 cluster residual = 0disposition.tsvrow exists citing fork commit gut(session): remove vestigial contextTokens config and display denominator #2277Acceptance criteria
hq/upstream/disposition.tsvpnpm check(lint+typecheck) passesRemoteClaw.apptargetswift testpasses forRemoteClawKittargets affectedOut of scope
Notes
NodePairingApprovalPrompter.swift141 lines,VoiceWakeRuntime.swift89 lines,PeekabooBridgeHostCoordinator.swift72 lines) may warrant their own commits within the cluster PR for review tractability.disposition.tsv(in the audit repo), then the remaining 31 cherry-picks can land as the larger code commit.