Skip to content

Rebuild iOS Agent GUI with Ghostty theme and compact turns - #7660

Closed
azooz2003-bit wants to merge 132 commits into
mainfrom
feat-scrap-agent-gui
Closed

azooz2003-bit wants to merge 132 commits into
mainfrom
feat-scrap-agent-gui

Conversation

@azooz2003-bit

@azooz2003-bit azooz2003-bit commented Jul 8, 2026 •

Copy link
Copy Markdown
Collaborator

Summary\n- replace the removed mobile chat pipeline with the Agent GUI truth, wire, replica, and sync architecture\n- derive the iOS conversation surface from the active Ghostty terminal theme\n- render compact prompt-led turns with folded activity, unboxed final answers, live streaming, and stable anchors\n- integrate localized, accessible GUI controls into the existing iOS workspace and composer paths\n\n## Verification\n- CmuxAgentGUIUI: 27 tests passed\n- CmuxMobileShellUI and related mobile suites: 417 tests passed\n- tagged macOS build: gcmp3\n- tagged iOS Simulator build: gcmp3 on cmux-p3-gthm-210225\n- full visual, transition, and profiling evidence is being recaptured from the final reviewed SHA


Note

High Risk
Large architectural removal of mobile transcript parsing, conversation state, and RPC-facing chat models; regressions would affect iOS agent chat, sync with Mac, and permission/question flows until the replacement stack is fully wired.

Overview
Removes the shared CmuxAgentChat package — transcript models, Claude/Codex JSONL parsers, OSC 133 terminal segmentation, screen-based streaming prose extraction, ChatConversationStore, and the ChatEventSource wire seam — as the old mobile chat pipeline.

That deletion is the structural half of rebuilding the iOS agent conversation surface on the Agent GUI stack (CmuxAgentWire / CmuxAgentReplica / CmuxAgentSync / CmuxAgentGUIUI): Ghostty-derived theming, compact prompt-led turns, folded activity, live streaming, and workspace/composer integration described in the PR (most of that lives outside this diff).

CI Swift file-length budget entries are adjusted for files that grew or shrank with the swap (e.g. mobile root/shell, settings, tests no longer tracking removed chat store sources).

Reviewed by Cursor Bugbot for commit 3a05659. Bugbot is set up for automated code reviews on this repo. Configure here.

Delete the v1 GUI mode end to end ahead of a from-scratch rebuild:
- Packages/Shared/CmuxAgentChat and Packages/iOS/CmuxAgentChatUI (models,
  parsers, stores, wire, chat UI) and their top-level symlinks
- iOS glue: MobileChatEventSource, WorkspaceDetailView chat mode, chat pane,
  accessory chat scope, demo screens, UI-test flags and chat XCUITests
- macOS producer: Sources/Mobile/AgentChat (session registry, transcript
  tailer/service, prose streamer), TerminalController+MobileChat and the
  mobile.chat.* RPC surface, chat.message topic, chat.sessions.dump verb
- chat-only localization keys, file-length-budget rows, workspace/pbxproj
  references, and mobile-chat docs

Kept intact: the macOS browser agent-chat feature (CmuxAgentChatConfig,
newAgentChat action), agent wrappers and cmux hooks CLI, feed/notification
system, sidebar agent activity indicators, and all mobile terminal
streaming/pairing infrastructure.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jul 8, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cmux Ready Ready Preview, Comment Jul 15, 2026 11:58am
cmux-staging Building Building Preview, Comment Jul 15, 2026 11:58am

@coderabbitai

coderabbitai Bot commented Jul 8, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 445 files, which is 145 over the limit of 300.

To get a review, reduce the PR to 300 files or fewer by splitting it into smaller PRs or changing its base branch.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 4fcbafda-582b-4bb8-b345-72d75306e35b

📥 Commits

Reviewing files that changed from the base of the PR and between a9c351b and fea8a66.

⛔ Files ignored due to path filters (5)
  • .github/swift-file-length-budget.tsv is excluded by !**/*.tsv
  • Packages/iOS/CmuxAgentGUIUI/Package.resolved is excluded by !**/Package.resolved
  • Packages/iOS/CmuxMobileShellUI/Package.resolved is excluded by !**/Package.resolved
  • cmux.xcworkspace/contents.xcworkspacedata is excluded by !**/*.xcworkspace/contents.xcworkspacedata
  • ios/cmux.xcworkspace/xcshareddata/swiftpm/Package.resolved is excluded by !**/Package.resolved
📒 Files selected for processing (445)
  • CLI/CMUXCLI+CommandSuggestions.swift
  • CLI/cmux.swift
  • Packages/Shared/CMUXMobileCore/Sources/CMUXMobileCore/CmxDeviceIDCanonicalization.swift
  • Packages/Shared/CMUXMobileCore/Sources/CMUXMobileCore/DiagnosticLog.swift
  • Packages/Shared/CMUXMobileCore/Sources/CMUXMobileCore/MobileBrowserStreamCapability.swift
  • Packages/Shared/CMUXMobileCore/Sources/CMUXMobileCore/MobileTerminalReplayViewportFence.swift
  • Packages/Shared/CMUXMobileCore/Sources/CMUXMobileCore/MobileTerminalScrollbackPreference.swift
  • Packages/Shared/CMUXMobileCore/Sources/CMUXMobileCore/MobileWorkspaceMetadataLimits.swift
  • Packages/Shared/CmuxAgentChat/Sources/CmuxAgentChat/Artifacts/ArtifactByteReader.swift
  • Packages/Shared/CmuxAgentChat/Sources/CmuxAgentChat/Artifacts/ChatArtifactGalleryItem.swift
  • Packages/Shared/CmuxAgentChat/Sources/CmuxAgentChat/Artifacts/ChatArtifactGalleryRowEligibility.swift
  • Packages/Shared/CmuxAgentChat/Sources/CmuxAgentChat/Artifacts/ChatArtifactStat.swift
  • Packages/Shared/CmuxAgentChat/Sources/CmuxAgentChat/Model/ChatAttachment.swift
  • Packages/Shared/CmuxAgentChat/Tests/CmuxAgentChatTests/ArtifactByteReaderTests.swift
  • Packages/Shared/CmuxAgentChat/Tests/CmuxAgentChatTests/ChatArtifactGalleryTests.swift
  • Packages/Shared/CmuxAgentChat/Tests/CmuxAgentChatTests/ChatMessageCodableTests.swift
  • Packages/Shared/CmuxAgentReplica/Package.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Delta/DeltaOrigin.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Delta/ReplicaDelta.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/AgentKind.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/AgentProsePayload.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/AgentSessionID.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/AgentSessionSnapshot.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/AttachmentPayload.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/DetectionTier.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/EntityVersion.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/EntryContent.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/EntryKind.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/EntryPayload.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/EntrySeq.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/EntrySnapshot.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/FileChangeKind.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/FileChangePayload.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/JournalCursor.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/JournalID.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/MacDeviceID.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/PendingAsk.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/PendingAskKind.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/PendingAskState.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/PermissionPayload.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/QuestionPayload.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/RawJSONValue.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/ReplicaEpoch.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/SendTicket.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/SendTicketState.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/SessionPhase.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/StatusCode.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/StatusPayload.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/ThoughtPayload.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/ToolRunPayload.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/UnknownPayload.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Model/UserMessagePayload.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Replay/FixtureReplicaSource.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Replay/ReplicaReplayLog.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Replay/ReplicaReplayRecord.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Resync/ResyncConversationState.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Resync/ResyncPlan.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Resync/ResyncPlanStep.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Store/ConversationPageRetentionEdge.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Store/ConversationReplica.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Store/ConversationReplicaState.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Store/EntryRange.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Store/ManualReplicaClock.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Store/ReplicaClock.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Store/SessionDirectoryReplica.swift
  • Packages/Shared/CmuxAgentReplica/Sources/CmuxAgentReplica/Store/TicketLedgerClient.swift
  • Packages/Shared/CmuxAgentReplica/Tests/CmuxAgentReplicaTests/ConversationReplicaTests.swift
  • Packages/Shared/CmuxAgentReplica/Tests/CmuxAgentReplicaTests/EntryPayloadTests.swift
  • Packages/Shared/CmuxAgentReplica/Tests/CmuxAgentReplicaTests/OpenEnumTests.swift
  • Packages/Shared/CmuxAgentReplica/Tests/CmuxAgentReplicaTests/ReplayTests.swift
  • Packages/Shared/CmuxAgentReplica/Tests/CmuxAgentReplicaTests/ReplicaTestSupport.swift
  • Packages/Shared/CmuxAgentReplica/Tests/CmuxAgentReplicaTests/Resources/epoch-change-pending-tickets.jsonl
  • Packages/Shared/CmuxAgentReplica/Tests/CmuxAgentReplicaTests/Resources/normal-session-lifecycle.jsonl
  • Packages/Shared/CmuxAgentReplica/Tests/CmuxAgentReplicaTests/Resources/rotation-reset.jsonl
  • Packages/Shared/CmuxAgentReplica/Tests/CmuxAgentReplicaTests/ResyncPlanTests.swift
  • Packages/Shared/CmuxAgentReplica/Tests/CmuxAgentReplicaTests/SessionDirectoryReplicaTests.swift
  • Packages/Shared/CmuxAgentReplica/Tests/CmuxAgentReplicaTests/TicketLedgerClientTests.swift
  • Packages/Shared/CmuxAgentSync/Package.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/AgentConnectivityPhase.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/AgentConnectivityState.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/AgentStreamingTail.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/AgentSyncEngine+Requests.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/AgentSyncEngine+Retry.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/AgentSyncEngine.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/AgentSyncError.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/AgentSyncJitter.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/AgentSyncReplicaClock.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/AgentSyncTicketIDGenerator.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/RandomAgentSyncJitter.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/RealSyncClock.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/SyncClock.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Engine/UUIDAgentSyncTicketIDGenerator.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Fixture/AgentSyncTransportCall.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Fixture/FixtureSyncTransport.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Fixture/FixtureSyncTransportError.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Transport/AgentSyncConnectionEvent.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Transport/AgentSyncFrame.swift
  • Packages/Shared/CmuxAgentSync/Sources/CmuxAgentSync/Transport/AgentSyncTransport.swift
  • Packages/Shared/CmuxAgentSync/Tests/CmuxAgentSyncTests/AgentSyncEngineResilienceTests.swift
  • Packages/Shared/CmuxAgentSync/Tests/CmuxAgentSyncTests/AgentSyncEngineTests.swift
  • Packages/Shared/CmuxAgentSync/Tests/CmuxAgentSyncTests/AgentSyncTestServer.swift
  • Packages/Shared/CmuxAgentSync/Tests/CmuxAgentSyncTests/AgentSyncTestSupport.swift
  • Packages/Shared/CmuxAgentSync/Tests/CmuxAgentSyncTests/FixedAgentSyncJitter.swift
  • Packages/Shared/CmuxAgentSync/Tests/CmuxAgentSyncTests/SequentialTicketIDGenerator.swift
  • Packages/Shared/CmuxAgentSync/Tests/CmuxAgentSyncTests/TestSyncClock.swift
  • Packages/Shared/CmuxAgentWire/Package.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Constants/GuiWireCaps.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Constants/GuiWireMethod.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Constants/GuiWireTopic.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Errors/GuiWireError.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Errors/GuiWireErrorCode.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Events/GuiAskStateEvent.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Events/GuiEntriesAppendedEvent.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Events/GuiEntryReplacedEvent.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Events/GuiEventFrame.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Events/GuiEventPayload.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Events/GuiJournalResetEvent.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Events/GuiSendStateEvent.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Events/GuiSessionRemovedEvent.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Events/GuiSessionUpsertedEvent.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Events/GuiStreamTickEvent.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Methods/GuiAnswer.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Methods/GuiCapabilities.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Methods/GuiCapabilityReason.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Methods/GuiEntries.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Methods/GuiHello.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Methods/GuiInterrupt.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Methods/GuiSend.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Methods/GuiSendAttachment.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Methods/GuiSession.swift
  • Packages/Shared/CmuxAgentWire/Sources/CmuxAgentWire/Methods/GuiSessions.swift
  • Packages/Shared/CmuxAgentWire/Tests/CmuxAgentWireTests/ErrorAndConstantsTests.swift
  • Packages/Shared/CmuxAgentWire/Tests/CmuxAgentWireTests/EventGoldenTests.swift
  • Packages/Shared/CmuxAgentWire/Tests/CmuxAgentWireTests/MethodGoldenTests.swift
  • Packages/Shared/CmuxAgentWire/Tests/CmuxAgentWireTests/ReplicaGoldenTests.swift
  • Packages/Shared/CmuxAgentWire/Tests/CmuxAgentWireTests/ToleranceTests.swift
  • Packages/Shared/CmuxAgentWire/Tests/CmuxAgentWireTests/WireTestSupport.swift
  • Packages/Shared/CmuxIrohTransport/Sources/CmuxIrohTransport/CmxIrohTCPFirstActivation.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Composer/ChatComposerCapabilities.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Composer/ChatComposerTerminalFallbackRow.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Composer/ChatComposerView.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Resources/Localizable.xcstrings
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Screen/ConversationKeyboardContainer.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Screen/KeyboardDismissTap.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Transcript/ChatCodeBlockDetailSheet.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Transcript/ChatMessageRowView.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Transcript/ChatTranscriptOverlayGeometry.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Transcript/ChatTranscriptOverlayGeometryKey.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Transcript/ChatTranscriptTableView.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Transcript/ChatTranscriptUITableView.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Transcript/ConversationTailSettlePolicy.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Transcript/NativeConversationTranscript+UIKit.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Transcript/NativeConversationTranscript.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Transcript/Rows/ChatAttachmentBubbleView.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Transcript/Rows/ChatAttachmentPreviewLayout.swift
  • Packages/iOS/CmuxAgentChatUI/Sources/CmuxAgentChatUI/Transcript/Rows/ChatProseBubbleView.swift
  • Packages/iOS/CmuxAgentChatUI/Tests/CmuxAgentChatUITests/ChatArtifactLoaderTests.swift
  • Packages/iOS/CmuxAgentChatUI/Tests/CmuxAgentChatUITests/ChatAttachmentPreviewLayoutTests.swift
  • Packages/iOS/CmuxAgentChatUI/Tests/CmuxAgentChatUITests/ChatComposerSendPolicyTests.swift
  • Packages/iOS/CmuxAgentChatUI/Tests/CmuxAgentChatUITests/ConversationPrefetchGateTests.swift
  • Packages/iOS/CmuxAgentChatUI/Tests/CmuxAgentChatUITests/NativeConversationTranscriptUIKitTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Package.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/AgentGUIRGBColor.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/AgentGUITheme.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/EntryContext.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptActivityItem.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptActivityKind.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptActivitySummary.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptGenericActivity.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptProjection.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptProjectionDiff.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptProjectionInput.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptProjector.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptProseGrouping.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptProseRole.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptRow.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptRowID.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptRowKind.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptRowMove.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptStreamingTail.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptTurnAccumulator.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIProjection/TranscriptTurnID.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/AgentAskSheet.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/AgentAskSheetPolicy.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/AgentGUIL10n.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/AgentHistoryLoadFailurePolicy.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/AgentMarkdownImageReferenceParser.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/AgentTranscriptAppearance.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/AgentTranscriptRenderAdapter.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/AgentTranscriptRenderRow.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/AgentTranscriptRowSelectionResolver.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/AgentTranscriptRowView.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/AgentTranscriptScrollPillLayoutPolicy.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/AgentTranscriptTailRequestPolicy.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/BubbleStyle.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/Resources/Localizable.xcstrings
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/Resources/demo-transcript.jsonl
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/ScrollToBottomPill.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptActivityDetailModel.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptActivityDetails.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptActivityTimelinePresentation.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptActivityTimelineView.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptDemoComposerView.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptDemoModel.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptDemoScreen.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptDensity.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptLiveAuxiliaryViews.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptLiveDriverKey.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptLiveView.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptProjectionDriver.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptRow+Accessibility.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptStreamingTail+AgentStreamingTail.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptSyncPresentation.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptSyncStatusView.swift
  • Packages/iOS/CmuxAgentGUIUI/Sources/CmuxAgentGUIUI/TranscriptUnreadTracker.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/AgentAskSheetPolicyTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/AgentGUIThemeTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/AgentHistoryLoadFailurePolicyTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/AgentTranscriptArtifactRouteTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/AgentTranscriptRenderAdapterAttachmentTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/AgentTranscriptRenderAdapterFallbackTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/AgentTranscriptRowSelectionResolverTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/AgentTranscriptScrollPillLayoutPolicyTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/AgentTranscriptTailRequestPolicyTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/DemoFixtureDecodingTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/TranscriptActivityDetailModelTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/TranscriptProjectionDriverTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/TranscriptProjectorInternalStatusTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/TranscriptProjectorStreamingCompletionTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/TranscriptProjectorTests.swift
  • Packages/iOS/CmuxAgentGUIUI/Tests/CmuxAgentGUIProjectionTests/TranscriptSyncPresentationTests.swift
  • Packages/iOS/CmuxMobileDiagnostics/Sources/CmuxMobileDiagnostics/MobileLatencyTrace.swift
  • Packages/iOS/CmuxMobileDiagnostics/Sources/CmuxMobileDiagnostics/MobileLatencyTraceWriter.swift
  • Packages/iOS/CmuxMobileRPC/Sources/CmuxMobileRPC/MobileNotificationFeedListBoundedDecodeOptions.swift
  • Packages/iOS/CmuxMobileRPC/Sources/CmuxMobileRPC/MobileNotificationFeedListBoundedItem.swift
  • Packages/iOS/CmuxMobileRPC/Sources/CmuxMobileRPC/MobileRPCConnectAttemptKey.swift
  • Packages/iOS/CmuxMobileRPC/Sources/CmuxMobileRPC/RPCTaskTimeoutCancellation.swift
  • Packages/iOS/CmuxMobileShell/Package.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/AgentGUI/AgentGUIConnectionEventRelay.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/AgentGUI/AgentGUISyncTransportRPC.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/AgentGUI/MobileShellComposite+AgentGUI.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/AgentGUIAvailability.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/MobileLatencyProbe.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/MobileMacConnectionRegistry.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/MobileShellComposite+ConnectionRecovery.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/MobileShellComposite+NotificationFeed.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/MobileShellComposite+PairedMacCoalescing.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/MobileShellComposite+ReconnectRoutes.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/MobileShellComposite+SecondaryPromotion.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/MobileShellComposite.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/SecondaryControlAttemptPolicy.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/WarmControlPoolCapacity.swift
  • Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShellReleaseGateSupport/MobileIrohReleaseGateResponseValidator.swift
  • Packages/iOS/CmuxMobileShell/Tests/CmuxMobileShellTests/AgentGUIAvailabilityTests.swift
  • Packages/iOS/CmuxMobileShell/Tests/CmuxMobileShellTests/MobileShellRenderGridLivenessTestSupport.swift
  • Packages/iOS/CmuxMobileShell/Tests/CmuxMobileShellTests/TerminalViewportResyncTests.swift
  • Packages/iOS/CmuxMobileShellModel/Sources/CmuxMobileShellModel/MobileNotificationFeedAggregation.swift
  • Packages/iOS/CmuxMobileShellModel/Sources/CmuxMobileShellModel/MobileTerminalOutputSinking.swift
  • Packages/iOS/CmuxMobileShellUI/Package.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/AgentGUIToggleButton.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/CMUXMobileRootView.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/GhosttySurfaceRepresentable.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/HiddenComputerRow.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/MobileDisplaySettings.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/MobileSettingsView.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/NotificationFeedPreviewView.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/NotificationFeedRowPresentation.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/OnboardingScreenshot.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/TerminalArtifactChildCountFormatter.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/TerminalOutputApplicationPath.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/TerminalPickerMenu.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/TerminalPickerMenuValue.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceActiveSurface.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceChangesToolbarButton.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceDetailDelayedTerminalPreviewView.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceDetailView+AgentChat.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceDetailView+DerivedState.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceDetailView+Surfaces.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceDetailView+TerminalArtifacts.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceDetailView+WorkspaceChanges.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceDetailView.swift
  • Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceShellView.swift
  • Packages/iOS/CmuxMobileShellUI/Tests/CmuxMobileShellUITests/MobileDisplaySettingsTests.swift
  • Packages/iOS/CmuxMobileShellUI/Tests/CmuxMobileShellUITests/TerminalPickerMenuValueTests.swift
  • Packages/iOS/CmuxMobileShellUI/Tests/CmuxMobileShellUITests/TerminalSurfaceMountOwnershipTests.swift
  • Packages/iOS/CmuxMobileShellUI/Tests/CmuxMobileShellUITests/WorkspaceActiveSurfaceTests.swift
  • Packages/iOS/CmuxMobileSupport/Sources/CmuxMobileSupport/UITestConfig.swift
  • Packages/iOS/CmuxMobileSupport/Sources/CmuxMobileSupport/UITestEnvironmentConfig.swift
  • Packages/iOS/CmuxMobileTerminal/Sources/CmuxMobileTerminal/GhosttySurfaceView.swift
  • Packages/iOS/CmuxMobileTerminal/Sources/CmuxMobileTerminal/VerifiedReplayFrameCapture.swift
  • Packages/iOS/CmuxMobileToast/Sources/CmuxMobileToast/ToastDemo.swift
  • Packages/iOS/CmuxMobileToast/Sources/CmuxMobileToast/ToastMotion.swift
  • Packages/macOS/CmuxAgentTruthKit/Package.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/JSONLLineReader.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptDecoderGapInventory.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptDecoderGapKey.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptDecoderGapMapper.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptDecoderUnknownKey.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptHarvestFormatter.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptHarvestResult.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptHarvestScanner.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptHarvestSource.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptHarvestSourceSummary.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptKnownKeys.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptPrivacySanitizer.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptShapeInventory.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptShapeKey.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTranscriptHarvest/TranscriptShapeRow.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/ClaudeDecodedBlock.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/ClaudeTranscriptDecoder.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/CodexTranscriptDecoder.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/JSONLineDecoder.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/JSONValue.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/PendingToolUse.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/PhaseFact.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/SensitiveSessionTitleFact.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/TranscriptDecodeAccumulator.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/TranscriptDecodeBatch.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/TranscriptDecoder.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/TranscriptDecoderDiagnostics.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/TranscriptImageMetadataProbe.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/TranscriptMarkdownImageReferenceExtractor.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/TranscriptTextBudget.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/TranscriptTimestampParser.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/TranscriptToolPreviewAttachmentExtractor.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Decoding/TurnContextFact.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/AgentTruthChange.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/AgentTruthReducer.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/CapabilityReason.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/CapabilityReportBuilder.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/DetectionEvidence.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/HookEventName.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/HookFact.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/LaunchArgvKind.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/ProcessIdentity.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/ProcessObservation.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/SessionCapabilityReport.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/SessionRecord.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/SessionRecordDraft.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/TranscriptCorroborationFact.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/TruthChannelSignal.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Detection/WrapperLaunchFact.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Journal/JournalDecision.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Journal/JournalIdentity.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/CmuxAgentTruthKit/Journal/JournalMinter.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/agent-transcript-harvest/AgentTranscriptHarvestCommand.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/agent-transcript-harvest/Optional+Throwing.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/agent-transcript-harvest/TranscriptHarvestArgumentError.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/agent-transcript-harvest/TranscriptHarvestArgumentParser.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/agent-transcript-harvest/TranscriptHarvestArguments.swift
  • Packages/macOS/CmuxAgentTruthKit/Sources/agent-transcript-harvest/TranscriptHarvestOutputFormat.swift
  • Packages/macOS/CmuxAgentTruthKit/Tests/CmuxAgentTranscriptHarvestTests/TemporaryHarvestFixture.swift
  • Packages/macOS/CmuxAgentTruthKit/Tests/CmuxAgentTranscriptHarvestTests/TranscriptHarvestScannerTests.swift
  • Packages/macOS/CmuxAgentTruthKit/Tests/CmuxAgentTranscriptHarvestTests/TranscriptShapeInventoryTests.swift
  • Packages/macOS/CmuxAgentTruthKit/Tests/CmuxAgentTruthKitTests/AgentTruthReducerTests.swift
  • Packages/macOS/CmuxAgentTruthKit/Tests/CmuxAgentTruthKitTests/CapabilityReportBuilderTests.swift
  • Packages/macOS/CmuxAgentTruthKit/Tests/CmuxAgentTruthKitTests/JournalMinterTests.swift
  • Packages/macOS/CmuxAgentTruthKit/Tests/CmuxAgentTruthKitTests/Resources/claude-synthetic.jsonl
  • Packages/macOS/CmuxAgentTruthKit/Tests/CmuxAgentTruthKitTests/Resources/codex-synthetic.jsonl
  • Packages/macOS/CmuxAgentTruthKit/Tests/CmuxAgentTruthKitTests/TranscriptDecoderTests.swift
  • Packages/macOS/CmuxAppKitSupportUI/Sources/CmuxAppKitSupportUI/Popover/CmuxPopoverMutation.swift
  • Packages/macOS/CmuxControlSocket/Sources/CmuxControlSocket/Coordinator/MobileHost/ControlCommandCoordinator+MobileHost.swift
  • Packages/macOS/CmuxControlSocket/Sources/CmuxControlSocket/Coordinator/MobileHost/ControlMobileHostContext.swift
  • Packages/macOS/CmuxControlSocket/Sources/CmuxControlSocket/Coordinator/Surface/ControlSurfaceHealthEntry.swift
  • Packages/macOS/CmuxControlSocket/Sources/CmuxControlSocket/Wire/ControlCommandExecutionPolicy.swift
  • Packages/macOS/CmuxControlSocket/Tests/CmuxControlSocketTests/ControlCommandContextTestStubs.swift
  • Packages/macOS/CmuxControlSocket/Tests/CmuxControlSocketTests/ControlCommandCoordinatorMobileHostTests.swift
  • Packages/macOS/CmuxControlSocket/Tests/CmuxControlSocketTests/ControlCommandExecutionPolicyTests.swift
  • Resources/Localizable.xcstrings
  • Resources/agent-session-react/assets/app.js
  • Resources/agent-session-react/index.html
  • Resources/agent-session-solid/assets/app.js
  • Resources/agent-session-solid/index.html
  • Resources/markdown-viewer/webviews-app/chunks/agentSessionSurface.mjs
  • Sources/AgentGUI/AgentGUIAskRegistry.swift
  • Sources/AgentGUI/AgentGUICapabilityMapper.swift
  • Sources/AgentGUI/AgentGUICodableBridge.swift
  • Sources/AgentGUI/AgentGUIConstants.swift
  • Sources/AgentGUI/AgentGUIFileIdentity.swift
  • Sources/AgentGUI/AgentGUIHookFactMapper.swift
  • Sources/AgentGUI/AgentGUIIncrementalState.swift
  • Sources/AgentGUI/AgentGUIJournalBookkeeper.swift
  • Sources/AgentGUI/AgentGUIJournalPageReader.swift
  • Sources/AgentGUI/AgentGUIJournalPipeline.swift
  • Sources/AgentGUI/AgentGUIJournalPipelineEvent.swift
  • Sources/AgentGUI/AgentGUIJournalToolCallLocator.swift
  • Sources/AgentGUI/AgentGUIJournalWindow.swift
  • Sources/AgentGUI/AgentGUIOpenTranscriptPathScanner.swift
  • Sources/AgentGUI/AgentGUIProseScreenExtractor.swift
  • Sources/AgentGUI/AgentGUIRPCError.swift
  • Sources/AgentGUI/AgentGUIRPCHandler.swift
  • Sources/AgentGUI/AgentGUISendLedger.swift
  • Sources/AgentGUI/AgentGUIService.swift
  • Sources/AgentGUI/AgentGUIStampedEntry.swift
  • Sources/AgentGUI/AgentGUIStreamProducer.swift
  • Sources/AgentGUI/AgentGUISubscriptionPolicy.swift
  • Sources/AgentGUI/AgentGUITerminalInjecting.swift
  • Sources/AgentGUI/AgentGUITerminalInjectionResult.swift
  • Sources/AgentGUI/AgentGUITerminalInjector.swift
  • Sources/AgentGUI/AgentGUIToolPairingIndex.swift
  • Sources/AgentGUI/AgentGUITranscriptDecoderBox.swift
  • Sources/AgentGUI/AgentGUITranscriptImageStore.swift
  • Sources/AgentGUI/AgentGUITranscriptResolver.swift
  • Sources/AgentGUI/AgentGUIWirePublisher.swift
  • Sources/AgentGUI/AgentProcessExitWatcher.swift
  • Sources/AgentGUI/AgentProcessObservationSource.swift
  • Sources/AppDelegate.swift
  • Sources/Mobile/AgentChat/AgentChatArtifactIndex.swift
  • Sources/Mobile/MobileAttachTarget.swift
  • Sources/Panels/AgentSessionPanel.swift
  • Sources/Panels/AgentSessionProcessStore.swift
  • Sources/Panels/AgentSessionWebRendererCoordinator.swift
  • Sources/Panels/AgentSessionWebRendererSession.swift
  • Sources/Panels/ClaudeStreamJSONAccumulator.swift
  • Sources/Panels/CodexAppServerQueuedInput.swift
  • Sources/Panels/CodexAppServerSession.swift
  • Sources/TerminalController+ControlMobileHostContext.swift
  • Sources/TerminalController+ControlSurfaceContext.swift
  • Sources/TerminalController+FeedAcknowledgment.swift
  • Sources/TerminalController+MobileChatArtifacts.swift
  • Sources/TerminalController+MobileWorkspaceList.swift
  • Sources/TerminalController.swift
  • Sources/TextBoxAgentDetection.swift
  • cmux.xcodeproj/project.pbxproj
  • cmuxTests/AgentGUIAskRegistryTests.swift
  • cmuxTests/AgentGUIHookFactMapperTests.swift
  • cmuxTests/AgentGUIJournalPipelineTests.swift
  • cmuxTests/AgentGUIRPCHandlerTests.swift
  • cmuxTests/AgentGUISendLedgerTests.swift
  • cmuxTests/AgentGUIStreamProducerTests.swift
  • cmuxTests/AgentSessionAutoResumeSwiftTests.swift
  • cmuxTests/AgentSessionWebRendererTests.swift
  • cmuxTests/CodexAppServerSessionTests.swift
  • cmuxTests/ControlledAgentProcessObservationCapturer.swift
  • cmuxTests/MobileHostWorkspaceTicketAuthorizationTests.swift
  • docs/codex-agent-detection-plan.md
  • ios/cmux/Resources/Localizable.xcstrings
  • reports.md
  • scripts/lint-ios-package-conventions.sh
  • scripts/swift_file_length_budget.py
  • webviews/src/agent-session/shared/bridge.test.ts
  • webviews/src/agent-session/shared/bridge.ts
  • webviews/src/agent-session/shared/sessionModel.test.ts
  • webviews/src/agent-session/shared/sessionModel.ts
  • webviews/src/agent-session/shared/types.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat-scrap-agent-gui

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@azooz2003-bit
azooz2003-bit marked this pull request as draft July 8, 2026 22:28
azooz2003-bit and others added 6 commits July 8, 2026 16:07
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ved policy

SwiftPM's originHash covers only a root's own manifest, so removing a
local .package(path:) dependency upstream cannot produce a diff in
downstream Package.resolved files whose pins are unchanged. Require a
downstream lockfile diff only when the manifest delta adds or removes a
remote (url) dependency; the edited root's own lockfile requirement is
unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Platform-neutral foundation package (slice 1 of the from-scratch GUI):
typed identities (epoch, session, journal, seq, version), fail-open
session/entry models, version-gated idempotent delta application,
contiguous entry windows with explicit holes and honest unread state,
send-ticket ledger tolerant of dropped/reordered lifecycle hints, a pure
resync planner, and a JSONL replay format with fixtures. 27 behavior
tests; no UI, no transport, no dependencies.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ders

Slice 3 of the from-scratch agent GUI. Observation-first session
detection folding process/wrapper/hook/transcript signals into
versioned snapshots at one commit chokepoint, with provisional-id
merging, detection tiers, and machine-readable capability reasons.
Fail-open Claude/Codex transcript decoders (multi-block coalescing,
sidechain/meta counting, JSON-object shell argument parsing) over
synthetic shape-faithful fixtures, plus pure journal-identity minting
with per-rotation freshness. Pure package on CmuxAgentReplica; OS
adapters (libproc, exit watchers, file watching) come in a later slice.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…r-gap audit

Slice of the entry-taxonomy mechanism: a dev CLI (internal
CmuxAgentTranscriptHarvest target + executable, pure library untouched)
that walks local Claude/Codex transcript trees, streams JSONL, extracts
shape identifiers only (privacy-sanitized: never content, paths, or
argv), and cross-references every observed kind against the real
decoders to mark DECODER-GAP rows. First 400-file run produced the
taxonomy triage driving the decoder backlog.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…oding

Driven by the harvester's real-corpus audit: Codex event_msg phase
signals (turn_aborted status + phase facts, task lifecycle facts,
deduplicated context_compacted, duplicate user/agent message streams
counted not dropped), custom_tool_call_output and tool_search pairing,
turn_context model/sandbox facts (object-shaped sandbox_policy), Claude
system-subtype status rows with an explicit telemetry no-row list,
image-attachment folding, bookkeeping/title records as modeled skips
with a sensitive title seam. Harvester residue on a 400-file corpus is
now 4 genuinely unpaired tool_results and zero Codex unknowns.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Integrates 52 commits of main drift. Conflict resolutions preserve the
GUI removal: kept main's persistent-terminal activeSurface architecture
minus its chat arm (WorkspaceActiveSurface loses the .chat case,
WorkspaceDetailView+Surfaces drops the chat branch), kept main's widened
terminalEventListenerTask access, adopted main's AgentChatThemeSync
pbxproj entry (browser agent-chat feature, KEEP list) alongside our
deletions, bumped four budget rows to main's own file sizes, and took
main's vendor/bonsplit pointer (iconAsset tab API).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
azooz2003-bit and others added 2 commits July 9, 2026 15:11
EntryContent now carries a fail-open typed payload per entry kind
(user/prose/thought/toolRun/fileChange/question/permission/status/
attachment/unknown with bounded raw JSON), hashed with a deterministic
cross-process FNV digest. TruthKit decoders emit payloads inline and the
DecodedEntryPayload side table is gone. Judge round fixed an attachment
tag/field key collision, a trapping Int(Double) conversion on garbage
exit codes, sentinel re-wrap drift on unknown payloads, and name-based
terminal classification for Codex tools.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The gui.v1 method/event/error contract as tolerant Codables over the
replica models: hello caps handshake, sessions/entries paging, send
tickets, interrupt/answer, capability reports, eight event frame kinds
with fail-open unknowns, stream-tick truncation, and element-level page
tolerance with an observable malformed count. Wire-carried replica
models gain explicit snake_case CodingKeys (source-of-truth fix after
the coder correctly hit the plan's stop condition), replay fixtures are
regenerated and byte-pinned, and golden sortedKeys fixtures freeze every
encoding against future model drift.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
azooz2003-bit and others added 2 commits July 9, 2026 21:44
Serves gui.v1 hello/sessions/session/entries/capabilities over the
pairing RPC and publishes session/journal event topics. AgentGUIService
feeds the TruthKit reducer from real signals: off-main process
observation with quantized activity stamps, per-pid exit watchers with
ESRCH synthesis, and an ordered synchronous hook funnel off feed.push
(FeedCoordinator untouched). Journal pipelines tail transcripts
incrementally by byte offset off the main actor with serialized ingest,
byte-level partial-line buffering, shrink/rotation guards with baseline
recapture, per-seq version bumps, honest per-page has_more_before, and a
2000-entry window cap. Watchers and scans park after ten idle minutes
with zero subscribers and wake on subscription changes. Three judge
rounds.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
gui.v1.send/interrupt/answer over the pairing RPC. The send ledger is
idempotent per ticket, queues while the agent works, drains FIFO one per
idle transition, records exact injected bytes, and confirms delivery by
matching journal userMessage appends (exact then whitespace-normalized,
oldest first) with 120s/3-append expiry to a visible unconfirmed state;
duplicated journal deltas are ignored via per-journal seq watermarks and
ended sessions fail queued tickets with process_exited. Asks derive from
question/permission entries independent of hook ordering, answer as
digit keys, and supersede/expire honestly. Multiline Claude prompts
submit with ctrl+enter, mirroring the proven terminal recipe. Two judge
rounds.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
azooz2003-bit and others added 4 commits July 10, 2026 07:53
Platform-neutral sync engine driving the replica stores over an
abstract transport: hello-first resync with epoch drops, subscribe-
before-pull ordering, tail-page merges, FIFO offline ticket flush that
survives transport failures, needsTailPull debounce, stream-tick
contiguity, malformed-frame counting with forced resync, and 0.5s-16s
jittered backoff on an injected clock; 20 scripted-transport tests
including the four canonical failure traces. iOS glue implements the
transport over the pairing RPC with replace-per-stream subscription
semantics matching the host (per-topic unsubscribe re-issues the
remaining set), and the shell composite owns one engine per connection
generation. Two judge rounds.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Transcript UI foundation: a platform-neutral projector (stable row
identities, grouping, date/boundary/hole/pending/streaming rows,
O(delta) diffs, defensive dedupe) and a UIKit flipped collection view
with diffable row diffs only, a serial transaction queue over an
off-main TextKit measurement cache (LRU, content-keyed, render-matched
fonts), stationary inserts and synchronous prepend anchoring in flipped
coordinates, keyboard co-animation on the notification curve with
contentInset.top obstruction mapping that stacks guide-riding strips
above the keyboard, a glass scroll-to-bottom pill with unread badge, and
a DEBUG replay-driven demo screen registered in developer settings.
Localized en+ja. Three judge rounds; the flipped-space keyboard and
anchor math verified numerically.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Evidence-pass fixes from driving the demo on the simulator: a
CMUX_UITEST_TRANSCRIPT_DEMO launch gate mounting the demo at root
(mirrors the terminal-layout preview pattern; taps on the settings
NavigationLink are unreliable under the collapsed header), a
layoutSubviews reassert of the cell counter-flip (UIHostingConfiguration
swaps the list cell's managed content view and dropped the init-time
transform, rendering rows mirrored), and a demo fixture regenerated
through ReplicaReplayLog's real encoder (the hand-written fixture used
object-wrapped id encodings the codables never produce, so playback
no-opped on zero records) with a test pinning that the bundled fixture
always decodes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
azooz2003-bit and others added 5 commits July 10, 2026 19:54
…tokens

Eight judged rounds against the interaction-quality rubric (frame-split
video evidence, dual correctness+interaction judges). Keyboard
transitions move a fixed-height viewport via keyboardLayoutGuide
constraints, making show/hide rigid-body by construction with
pixel-identical rest convergence; rendered self-sizing is authoritative
(TextKit measurement machinery deleted); spacing derives from declared
rhythm tokens with DEBUG gap assertions; the unread pill is a crisp
glass chrome element above the composer band with a live
viewport-derived count (numeric roll transitions), honest appearance
and true-bottom disappearance; jumps flush pending projection before
landing and slide a snapshot with upright continuity; screen-space nav
and composer masks replace transformed native edge effects; touch
passthrough chrome; bounce enabled; DEBUG chrome-tint and touch-dot
instrumentation (CMUX_UITEST_CHROME_DEBUG).

KNOWN OPEN DEFECT (demo-only surface): during keyboard show the demo
composer's iOS 26 local glass rematerializes with a horizontal wipe
that reprojects a stale backdrop sample over composer-adjacent rows
(~12 frames). The demo composer is throwaway chrome replaced by the
real composer slice; tracked in the program backlog.

Deferred to the physics XCUITest slice: kb-up drag/interactive dismiss
gestures, rubber-band overscroll, touch-dot positive control, Reduce
Motion/Dynamic Type/VoiceOver passes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ios-gtheme-compact-turns

# Conflicts:
#	.github/swift-file-length-budget.tsv
#	Sources/AppDelegate.swift
#	cmux.xcodeproj/project.pbxproj
#	ios/cmux/Resources/Localizable.xcstrings
…ct-turns

# Conflicts:
#	Sources/TerminalController.swift
@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@cursor

cursor Bot commented Jul 28, 2026

Copy link
Copy Markdown

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

# Conflicts:
#	Packages/Shared/CmuxAgentChat/Sources/CmuxAgentChat/Artifacts/ChatArtifactGalleryBuilder.swift
#	Packages/iOS/CmuxMobileShell/Package.swift
#	Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/MobileShellComposite+SecondaryPromotion.swift
#	Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/MobileShellComposite.swift
#	Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/TerminalPickerMenuValue.swift
#	Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceActiveSurface.swift
#	Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceDetailView+Surfaces.swift
#	Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceDetailView.swift
#	cmux.xcodeproj/project.pbxproj
#	ios/cmux.xcworkspace/xcshareddata/swiftpm/Package.resolved
#	ios/cmux/Resources/Localizable.xcstrings
#	ios/cmuxPackage/Package.resolved
The post-merge resolution floated sentry to 9.24.0, invalidating the fleet
builder's shared warm module cache (Sentry .pcm precompiled against 9.23.0
headers) and failing iOS archive builds. Same-pin-as-main is a valid
resolution and keeps the cache warm for every tag.
# Conflicts:
#	Packages/iOS/CmuxMobileShell/Sources/CmuxMobileShell/MobileShellComposite+ConnectionRecovery.swift
#	Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/ChangesPreviewFixture.swift
#	Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/MobileDisplaySettings.swift
#	Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceListLayoutPreviewView.swift
#	Packages/iOS/CmuxMobileShellUI/Sources/CmuxMobileShellUI/WorkspaceListTableCoordinator+ApplyRouteProbe.swift
#	Packages/macOS/CmuxControlSocket/Sources/CmuxControlSocket/Coordinator/MobileHost/ControlCommandCoordinator+MobileHost.swift
#	Packages/macOS/CmuxControlSocket/Sources/CmuxControlSocket/Coordinator/MobileHost/ControlMobileHostContext.swift
#	Packages/macOS/CmuxControlSocket/Tests/CmuxControlSocketTests/ControlCommandContextTestStubs.swift
#	Packages/macOS/CmuxControlSocket/Tests/CmuxControlSocketTests/ControlCommandCoordinatorMobileHostTests.swift
#	Packages/macOS/CmuxControlSocket/Tests/CmuxControlSocketTests/ControlCommandExecutionPolicyTests.swift
#	Resources/Localizable.xcstrings
#	Sources/TerminalController+ControlMobileHostContext.swift
#	Sources/TerminalController+MobileWorkspaceList.swift
#	cmux.xcodeproj/project.pbxproj
@lawrencecchen lawrencecchen added the stale-revisit Closed after 30+ days without activity; preserved for possible revisit or reopening. label Sep 23, 2026
@github-project-automation github-project-automation Bot moved this from Todo to Done in cmux backlog Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

stale-revisit Closed after 30+ days without activity; preserved for possible revisit or reopening.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants