.github/workflows/ci.yml | 23 +- .github/workflows/mobile-eas-production.yml | 7 +- .gitignore | 1 + README.md | 1 + apps/desktop/src/app/DesktopAppIdentity.test.ts | 37 +- apps/desktop/src/app/DesktopAppIdentity.ts | 47 +- apps/desktop/src/app/DesktopClerk.test.ts | 52 +- apps/desktop/src/app/DesktopClerk.ts | 12 +- apps/desktop/src/app/DesktopEnvironment.ts | 6 - apps/desktop/src/app/DesktopPreReadyFileSystem.test.ts | 49 + apps/desktop/src/app/DesktopPreReadyFileSystem.ts | 65 + apps/desktop/src/app/DesktopUserData.test.ts | 75 + apps/desktop/src/app/DesktopUserData.ts | 98 + apps/desktop/src/backend/tailscaleEndpointProvider.ts | 2 +- apps/desktop/src/ipc/methods/window.test.ts | 6 +- apps/desktop/src/main.ts | 7 +- apps/desktop/src/preview/BrowserImport/LinuxBrowserSecret.ts | 4 +- apps/desktop/src/settings/DesktopClientSettings.test.ts | 1 + apps/marketing/src/pages/index.astro | 2 +- apps/mobile/eas.json | 2 +- apps/mobile/generated-uniwind-themes.css | 84 + apps/mobile/modules/t3-composer-editor/ios/T3ComposerEditorModule.swift | 6 + apps/mobile/modules/t3-composer-editor/ios/T3ComposerEditorView.swift | 66 +- apps/mobile/modules/t3-markdown-text/src/nativeMarkdownText.ts | 1 + apps/mobile/scripts/generate-uniwind-themes.mts | 16 + apps/mobile/src/Stack.tsx | 85 +- apps/mobile/src/components/AppSymbol.tsx | 12 + apps/mobile/src/components/BrandMark.tsx | 9 +- apps/mobile/src/components/ComposerContextSheet.tsx | 21 + apps/mobile/src/components/ComposerEditor.tsx | 9 + apps/mobile/src/components/ComposerToolbar.tsx | 7 + apps/mobile/src/components/EnvironmentMachineSymbol.tsx | 6 +- apps/mobile/src/components/ProjectFavicon.tsx | 34 +- apps/mobile/src/components/ProviderIcon.tsx | 72 +- apps/mobile/src/components/brandAssets.ts | 10 + apps/mobile/src/connection/background-activity.ts | 2 +- apps/mobile/src/connection/environment-cache-store.test.ts | 382 +- apps/mobile/src/connection/environment-cache-store.ts | 77 +- apps/mobile/src/connection/onboarding.ts | 7 +- apps/mobile/src/connection/platform.ts | 38 +- apps/mobile/src/connection/runtime.ts | 13 +- apps/mobile/src/connection/shell-cache-encoding.ts | 38 + apps/mobile/src/connection/storage.test.ts | 10 +- apps/mobile/src/connection/storage.ts | 15 +- apps/mobile/src/features/agent-awareness/liveActivityPreferences.test.ts | 6 +- apps/mobile/src/features/archive/archivedThreadList.test.ts | 41 +- apps/mobile/src/features/cloud/cloud-drafts.ts | 2 +- apps/mobile/src/features/cloud/linkEnvironment.test.ts | 8 +- apps/mobile/src/features/connection/useConnectionController.ts | 9 +- apps/mobile/src/features/home/HomeRouteScreen.tsx | 34 +- apps/mobile/src/features/home/HomeScreen.tsx | 121 +- apps/mobile/src/features/home/homeThreadList.test.ts | 10 +- apps/mobile/src/features/home/threadArchive.test.ts | 40 + apps/mobile/src/features/home/threadArchive.ts | 12 + apps/mobile/src/features/home/useThreadListActions.ts | 7 +- apps/mobile/src/features/home/workspace-connection-status.test.ts | 1 - apps/mobile/src/features/keyboard/CommandPalette.tsx | 15 +- apps/mobile/src/features/keyboard/hardwareKeyboardCommands.ts | 6 +- apps/mobile/src/features/projects/AddProjectScreen.tsx | 1 - apps/mobile/src/features/review/reviewModel.test.ts | 18 +- apps/mobile/src/features/review/reviewModel.ts | 21 +- apps/mobile/src/features/review/useReviewSections.ts | 19 +- apps/mobile/src/features/settings/ScheduledTaskPickerScreens.tsx | 155 + apps/mobile/src/features/settings/SettingsFollowUpRouteScreen.tsx | 77 + apps/mobile/src/features/settings/SettingsKeyboardRouteScreen.tsx | 38 +- apps/mobile/src/features/settings/SettingsProjectGroupingRouteScreen.tsx | 38 +- apps/mobile/src/features/settings/SettingsProviderAccountsRouteScreen.tsx | 369 + apps/mobile/src/features/settings/SettingsRouteScreen.tsx | 11 + apps/mobile/src/features/settings/SettingsScheduledTasksRouteScreen.tsx | 1076 ++ apps/mobile/src/features/settings/SettingsServerControlsRouteScreen.tsx | 159 +- apps/mobile/src/features/settings/SettingsThreadsRouteScreen.tsx | 26 +- apps/mobile/src/features/settings/components/BranchNamingSettings.tsx | 114 + apps/mobile/src/features/settings/components/ScheduledTaskPromptField.tsx | 83 + apps/mobile/src/features/settings/components/SettingsChoiceRow.tsx | 41 + apps/mobile/src/features/settings/components/SettingsEnvironmentFilterHeader.tsx | 24 +- apps/mobile/src/features/settings/components/SettingsSection.tsx | 20 +- apps/mobile/src/features/settings/components/SettingsSwitchRow.tsx | 30 +- apps/mobile/src/features/settings/components/settings-sheet-targets.ts | 3 + apps/mobile/src/features/settings/scheduled-task-editor.tsx | 118 + apps/mobile/src/features/settings/scheduledTaskDraft.test.ts | 311 + apps/mobile/src/features/settings/scheduledTaskDraft.ts | 181 + apps/mobile/src/features/settings/scheduledTaskPresentation.test.ts | 77 + apps/mobile/src/features/settings/scheduledTaskPresentation.ts | 57 + apps/mobile/src/features/settings/settings-environment-filter.logic.test.ts | 22 + apps/mobile/src/features/settings/settings-environment-filter.logic.ts | 18 + apps/mobile/src/features/settings/settings-scoped-server.test.ts | 41 +- apps/mobile/src/features/settings/settings-scoped-server.ts | 11 + apps/mobile/src/features/terminal/ThreadTerminalRouteScreen.tsx | 16 +- apps/mobile/src/features/threads/ChatGptUsageLimitNotice.tsx | 40 - apps/mobile/src/features/threads/ComposerCommandPopover.tsx | 10 + apps/mobile/src/features/threads/ComposerQueuedEdit.tsx | 124 + apps/mobile/src/features/threads/NewTaskContextPickerScreens.tsx | 177 +- apps/mobile/src/features/threads/NewTaskDraftScreen.tsx | 11 +- apps/mobile/src/features/threads/PendingApprovalCard.tsx | 16 +- apps/mobile/src/features/threads/PendingUserInputCard.tsx | 54 +- apps/mobile/src/features/threads/ProviderSubagentBar.tsx | 80 + apps/mobile/src/features/threads/QuestionAttachments.tsx | 8 +- apps/mobile/src/features/threads/SubagentStatusDot.tsx | 30 + apps/mobile/src/features/threads/ThreadAgentsSheet.tsx | 202 + apps/mobile/src/features/threads/ThreadArrangementSheet.tsx | 2 +- apps/mobile/src/features/threads/ThreadComposer.tsx | 320 +- apps/mobile/src/features/threads/ThreadDetailScreen.tsx | 419 +- apps/mobile/src/features/threads/ThreadFeed.tsx | 642 +- apps/mobile/src/features/threads/ThreadGitControls.tsx | 14 + apps/mobile/src/features/threads/ThreadNavigationSidebar.tsx | 123 +- apps/mobile/src/features/threads/ThreadQueueControl.tsx | 624 ++ apps/mobile/src/features/threads/ThreadRouteScreen.tsx | 296 +- apps/mobile/src/features/threads/ThreadSettingsSheet.tsx | 64 +- apps/mobile/src/features/threads/UsageLimitRecoveryCard.tsx | 107 + apps/mobile/src/features/threads/composerSendPresentation.test.ts | 81 + apps/mobile/src/features/threads/composerSendPresentation.ts | 67 + apps/mobile/src/features/threads/floating-working-control.tsx | 174 +- apps/mobile/src/features/threads/floating-working-status.ts | 2 + apps/mobile/src/features/threads/new-task-flow-provider.tsx | 10 +- apps/mobile/src/features/threads/pending-thread-feed.test.ts | 2 +- apps/mobile/src/features/threads/pending-thread-feed.ts | 5 +- apps/mobile/src/features/threads/subagent-card-presentation.test.ts | 44 + apps/mobile/src/features/threads/subagent-card-presentation.ts | 35 + apps/mobile/src/features/threads/thread-activity-row-presentation.test.ts | 43 + apps/mobile/src/features/threads/thread-activity-row-presentation.ts | 42 + apps/mobile/src/features/threads/thread-context-divider.tsx | 46 + apps/mobile/src/features/threads/thread-feed-item-size.test.ts | 14 + apps/mobile/src/features/threads/thread-feed-item-size.ts | 22 + apps/mobile/src/features/threads/thread-handoff-row.tsx | 114 + apps/mobile/src/features/threads/thread-list-v2-items.tsx | 72 +- apps/mobile/src/features/threads/thread-provider-instance.test.ts | 82 +- apps/mobile/src/features/threads/thread-provider-instance.ts | 29 +- apps/mobile/src/features/threads/thread-settings-options.test.ts | 8 +- apps/mobile/src/features/threads/thread-settings-options.ts | 17 + apps/mobile/src/features/threads/thread-subagent-group.tsx | 235 + apps/mobile/src/features/threads/thread-work-log.tsx | 467 +- apps/mobile/src/features/threads/threadActivityFileNavigation.test.ts | 26 + apps/mobile/src/features/threads/threadActivityFileNavigation.ts | 22 + apps/mobile/src/features/threads/threadAgentsPresentation.test.ts | 68 + apps/mobile/src/features/threads/threadAgentsPresentation.ts | 79 + apps/mobile/src/features/threads/threadForkNavigation.test.ts | 38 + apps/mobile/src/features/threads/threadForkNavigation.ts | 26 + apps/mobile/src/features/threads/threadListV2.test.ts | 227 +- apps/mobile/src/features/threads/threadListV2.ts | 89 +- apps/mobile/src/features/threads/threadQueueControlPresentation.test.ts | 130 + apps/mobile/src/features/threads/threadQueueControlPresentation.ts | 87 + apps/mobile/src/features/threads/use-composer-command-menu.ts | 85 +- apps/mobile/src/features/threads/use-worktree-setup.ts | 38 +- apps/mobile/src/features/threads/userMessageIntentBadge.test.ts | 34 + apps/mobile/src/features/threads/userMessageIntentBadge.ts | 35 + apps/mobile/src/features/threads/work-log-layout.tsx | 74 + apps/mobile/src/features/threads/worktree-setup-state.test.ts | 78 + apps/mobile/src/features/threads/worktree-setup-state.ts | 12 + apps/mobile/src/lib/composerContext.ts | 17 + apps/mobile/src/lib/followUpBehavior.ts | 13 + apps/mobile/src/lib/modelOptions.test.ts | 95 + apps/mobile/src/lib/modelOptions.ts | 69 +- apps/mobile/src/lib/projectThreadStartTurn.test.ts | 36 +- apps/mobile/src/lib/projectThreadStartTurn.ts | 29 +- apps/mobile/src/lib/scopedEntities.ts | 4 +- apps/mobile/src/lib/threadActivity.test.ts | 5378 ++++------ apps/mobile/src/lib/threadActivity.ts | 2922 ++---- apps/mobile/src/lib/threadActivityInspector.test.ts | 274 + apps/mobile/src/lib/threadActivityInspector.ts | 309 + apps/mobile/src/native/T3ComposerEditor.ios.tsx | 12 +- apps/mobile/src/native/T3ComposerEditor.types.ts | 12 +- apps/mobile/src/persistence/mobile-database.test.ts | 12 +- apps/mobile/src/persistence/mobile-preferences.ts | 10 + apps/mobile/src/state/client-cache-state.ts | 10 +- apps/mobile/src/state/entities.ts | 4 + apps/mobile/src/state/pending-thread-creation.test.ts | 5 +- apps/mobile/src/state/pending-thread-creation.ts | 67 +- apps/mobile/src/state/preferences.test.ts | 49 +- apps/mobile/src/state/preferences.ts | 50 +- apps/mobile/src/state/queries.ts | 22 - apps/mobile/src/state/question-attachments.ts | 4 +- apps/mobile/src/state/queued-edit-draft-key.ts | 20 + apps/mobile/src/state/queued-run-edit.test.ts | 107 + apps/mobile/src/state/queued-run-edit.ts | 142 + apps/mobile/src/state/server.ts | 5 + apps/mobile/src/state/shell.ts | 35 +- apps/mobile/src/state/thread-list-environments.test.ts | 222 + apps/mobile/src/state/thread-list-environments.ts | 128 + apps/mobile/src/state/thread-order.test.ts | 20 +- apps/mobile/src/state/thread-outbox-model.ts | 9 + apps/mobile/src/state/thread-outbox.test.ts | 9 + apps/mobile/src/state/thread-provider-switching.test.ts | 89 + apps/mobile/src/state/thread-provider-switching.ts | 30 + apps/mobile/src/state/threads.ts | 3 +- apps/mobile/src/state/use-composer-drafts.test.ts | 40 + apps/mobile/src/state/use-composer-drafts.ts | 44 +- apps/mobile/src/state/use-model-option-memory.test.ts | 62 + apps/mobile/src/state/use-model-option-memory.ts | 84 + apps/mobile/src/state/use-pending-new-tasks.ts | 1 - apps/mobile/src/state/use-remote-environment-registry.ts | 30 +- apps/mobile/src/state/use-selected-thread-requests.test.tsx | 28 +- apps/mobile/src/state/use-selected-thread-requests.ts | 58 +- apps/mobile/src/state/use-selected-thread-worktree.ts | 8 +- apps/mobile/src/state/use-thread-composer-state.ts | 701 +- apps/mobile/src/state/use-thread-detail.ts | 83 +- apps/mobile/src/state/use-thread-outbox-drain.test.ts | 1 - apps/mobile/src/state/use-thread-outbox-drain.ts | 50 +- apps/mobile/src/state/use-thread-selection.ts | 76 +- apps/mobile/src/state/v2-item-support.ts | 56 + apps/mobile/src/state/workspace-connection-atoms.test.ts | 183 + apps/mobile/src/state/workspace-connection-atoms.ts | 26 + apps/mobile/src/state/workspace.ts | 32 +- apps/mobile/src/state/workspaceModel.test.ts | 15 +- apps/mobile/src/state/workspaceModel.ts | 67 +- apps/mobile/src/test-fixtures.ts | 72 + apps/server/.gitignore | 1 + apps/server/README.md | 3 + apps/server/integration/NetworkTransferMeasurement.integration.ts | 11 - apps/server/integration/OrchestrationEngineHarness.integration.ts | 619 -- apps/server/integration/TestProviderAdapter.integration.ts | 568 -- apps/server/integration/TransferBudgetReport.integration.ts | 18 +- apps/server/integration/TransferBudgetScenario.integration.ts | 212 - apps/server/integration/TransferBudgetV2Fixture.integration.ts | 181 + apps/server/integration/fixtures/providerRuntime.ts | 162 - apps/server/integration/fixtures/transferBudget.ts | 302 +- apps/server/integration/orchestrationEngine.integration.test.ts | 1418 --- apps/server/integration/orphanedProviderSessionStartup.integration.test.ts | 487 - apps/server/integration/providerService.integration.test.ts | 389 - apps/server/integration/transferBudgetV2.integration.test.ts | 354 + apps/server/package.json | 11 +- apps/server/scripts/acp-mock-agent.ts | 1127 +- apps/server/scripts/acp-replay-agent.ts | 300 + apps/server/scripts/acp-thread-spawn-helper.c | 37 + apps/server/scripts/acpMockCancellationState.test.ts | 12 + apps/server/scripts/acpMockCancellationState.ts | 3 + apps/server/scripts/claudeReplayRecordingConfig.ts | 32 + apps/server/scripts/codexReplayRecordingRecords.ts | 83 + apps/server/scripts/cursorReplayRecordingWorkspace.ts | 29 + apps/server/scripts/migrate-dev-db.test.ts | 4 +- apps/server/scripts/migrate-dev-db.ts | 4 +- apps/server/scripts/probe-claude-fork-local-rollback-replay.ts | 358 + apps/server/scripts/record-claude-agent-sdk-replay-fixture.ts | 600 ++ apps/server/scripts/record-codex-app-server-replay-fixture.ts | 1656 +++ apps/server/scripts/record-cursor-agent-sdk-replay-fixture.ts | 224 + apps/server/scripts/record-grok-acp-replay-fixture.ts | 622 ++ apps/server/scripts/record-pi-rpc-replay-fixture.ts | 343 + apps/server/scripts/replayRecorderDeferredRegistry.ts | 43 + apps/server/scripts/t3-sqlite-state.test.ts | 2 +- apps/server/scripts/t3-sqlite-state.ts | 4 +- apps/server/scripts/verify-background-live.ts | 570 ++ apps/server/src/attachmentStore.test.ts | 22 + apps/server/src/attachmentStore.ts | 16 +- apps/server/src/auth/EnvironmentAuth.ts | 4 +- apps/server/src/auth/RpcAuthorization.test.ts | 27 + apps/server/src/auth/RpcAuthorization.ts | 41 +- apps/server/src/background/BackgroundPolicy.test.ts | 8 +- apps/server/src/background/BackgroundPolicy.ts | 4 +- apps/server/src/bin.test.ts | 870 -- apps/server/src/bin.ts | 102 +- apps/server/src/binCli.ts | 92 + apps/server/src/checkpointing/CheckpointDiffQuery.test.ts | 618 +- apps/server/src/checkpointing/CheckpointDiffQuery.ts | 167 +- apps/server/src/checkpointing/CheckpointStore.test.ts | 11 + apps/server/src/checkpointing/Utils.ts | 2 +- apps/server/src/claudeModelOptions.test.ts | 57 + apps/server/src/claudeModelOptions.ts | 59 + apps/server/src/cli/acpMcpBridge.ts | 34 + apps/server/src/cli/app.test.ts | 2 +- apps/server/src/cli/config.test.ts | 2 +- apps/server/src/cli/pair.test.ts | 2 +- apps/server/src/cli/project.test.ts | 417 +- apps/server/src/cli/project.ts | 67 +- apps/server/src/cli/server.ts | 6 +- apps/server/src/cli/theme.test.ts | 2 +- apps/server/src/cloud/CliState.test.ts | 2 +- apps/server/src/cloud/http.test.ts | 1 + apps/server/src/config.ts | 2 +- apps/server/src/desktopUpdate/DesktopAppUpdate.ts | 4 +- apps/server/src/device/DeviceHubProxy.test.ts | 24 +- apps/server/src/device/DeviceMultiHost.test.ts | 21 +- apps/server/src/device/DeviceService.test.ts | 38 +- apps/server/src/environment/ServerEnvironment.test.ts | 5 +- apps/server/src/environment/ServerEnvironment.ts | 10 +- apps/server/src/git/GitManager.test.ts | 129 +- apps/server/src/git/GitManager.ts | 41 +- apps/server/src/git/GitWorkflowService.ts | 13 + apps/server/src/git/detachStackFrame.memory.test.ts | 23 + apps/server/src/git/detachStackFrame.ts | 20 + apps/server/src/git/linkCreatedPullRequest.test.ts | 95 +- apps/server/src/git/linkCreatedPullRequest.ts | 24 +- apps/server/src/git/refreshPushedPullRequests.ts | 35 + apps/server/src/git/testing/StackRetention.fixture.mjs | 31 + apps/server/src/http.test.ts | 258 +- apps/server/src/httpCors.ts | 3 + apps/server/src/mcp/AcpMcpOverAcpBridge.test.ts | 120 + apps/server/src/mcp/AcpMcpOverAcpBridge.ts | 241 + apps/server/src/mcp/AcpMcpStdioBridge.test.ts | 347 + apps/server/src/mcp/AcpMcpStdioBridge.ts | 416 + apps/server/src/mcp/McpHttpServer.test.ts | 12 +- apps/server/src/mcp/McpHttpServer.ts | 55 + apps/server/src/mcp/McpInvocationContext.ts | 9 +- apps/server/src/mcp/McpProviderSession.ts | 11 +- apps/server/src/mcp/McpSessionRegistry.test.ts | 23 +- apps/server/src/mcp/McpSessionRegistry.testkit.ts | 28 + apps/server/src/mcp/McpSessionRegistry.ts | 18 +- apps/server/src/mcp/OrchestratorMcpService.activity.test.ts | 458 + apps/server/src/mcp/OrchestratorMcpService.test.ts | 1039 ++ apps/server/src/mcp/OrchestratorMcpService.ts | 1950 ++++ apps/server/src/mcp/OrchestratorMcpToolkit.integration.test.ts | 3816 +++++++ apps/server/src/mcp/ThreadMetadataMcpService.test.ts | 76 + apps/server/src/mcp/ThreadMetadataMcpService.ts | 230 + apps/server/src/mcp/WorktreeMcpService.test.ts | 1065 ++ apps/server/src/mcp/WorktreeMcpService.ts | 492 + apps/server/src/mcp/threadAccess.ts | 107 + apps/server/src/mcp/toolkits/attachment/handlers.ts | 87 + apps/server/src/mcp/toolkits/attachment/input.ts | 10 + apps/server/src/mcp/toolkits/attachment/tools.ts | 72 + apps/server/src/mcp/toolkits/core.test.ts | 209 + apps/server/src/mcp/toolkits/device/handlers.ts | 4 +- apps/server/src/mcp/toolkits/device/tools.ts | 4 +- apps/server/src/mcp/toolkits/environment/handlers.ts | 79 + apps/server/src/mcp/toolkits/environment/tools.ts | 67 + apps/server/src/mcp/toolkits/orchestrator/handlers.ts | 101 + apps/server/src/mcp/toolkits/orchestrator/tools.test.ts | 80 + apps/server/src/mcp/toolkits/orchestrator/tools.ts | 256 + apps/server/src/mcp/toolkits/previewControls/handlers.test.ts | 78 + apps/server/src/mcp/toolkits/previewControls/handlers.ts | 33 + apps/server/src/mcp/toolkits/previewControls/tools.ts | 40 + apps/server/src/mcp/toolkits/project/handlers.test.ts | 265 + apps/server/src/mcp/toolkits/project/handlers.ts | 209 + apps/server/src/mcp/toolkits/project/tools.ts | 158 + apps/server/src/mcp/toolkits/pullRequests/handlers.test.ts | 61 +- apps/server/src/mcp/toolkits/pullRequests/handlers.ts | 46 +- apps/server/src/mcp/toolkits/pullRequests/tools.ts | 8 +- apps/server/src/mcp/toolkits/thread/handlers.ts | 303 + apps/server/src/mcp/toolkits/thread/tools.ts | 279 + apps/server/src/mcp/toolkits/worktree/handlers.ts | 48 + apps/server/src/mcp/toolkits/worktree/registration.test.ts | 156 + apps/server/src/mcp/toolkits/worktree/tools.ts | 83 + apps/server/src/observability/EventLoopMonitor.test.ts | 20 +- apps/server/src/observability/Metrics.ts | 41 +- apps/server/src/orchestration-v2/AcpRegistryOrchestratorV2.live.test.ts | 255 + apps/server/src/orchestration-v2/Adapters/AcpAdapterV2.test.ts | 14379 ++++++++++++++++++++++++++ apps/server/src/orchestration-v2/Adapters/AcpAdapterV2.testkit.ts | 246 + apps/server/src/orchestration-v2/Adapters/AcpAdapterV2.ts | 7898 ++++++++++++++ apps/server/src/orchestration-v2/Adapters/AcpRegistryAdapterV2.test.ts | 486 + apps/server/src/orchestration-v2/Adapters/AcpRegistryAdapterV2.testkit.ts | 109 + apps/server/src/orchestration-v2/Adapters/AcpRegistryAdapterV2.ts | 328 + apps/server/src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts | 537 + apps/server/src/orchestration-v2/Adapters/AntigravityAdapterV2.ts | 241 + apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts | 7578 ++++++++++++++ apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.testkit.ts | 2826 +++++ apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts | 7556 ++++++++++++++ apps/server/src/orchestration-v2/Adapters/CodexAdapterV2.test.ts | 7119 +++++++++++++ apps/server/src/orchestration-v2/Adapters/CodexAdapterV2.testkit.ts | 276 + apps/server/src/orchestration-v2/Adapters/CodexAdapterV2.ts | 6301 ++++++++++++ apps/server/src/orchestration-v2/Adapters/CursorAdapterV2.test.ts | 865 ++ apps/server/src/orchestration-v2/Adapters/CursorAdapterV2.testkit.ts | 1022 ++ apps/server/src/orchestration-v2/Adapters/CursorAdapterV2.ts | 2662 +++++ apps/server/src/orchestration-v2/Adapters/CursorAgentSdk.test.ts | 304 + apps/server/src/orchestration-v2/Adapters/CursorAgentSdk.ts | 612 ++ apps/server/src/orchestration-v2/Adapters/DevinAcp.ts | 57 + apps/server/src/orchestration-v2/Adapters/GrokAdapterV2.test.ts | 466 + apps/server/src/orchestration-v2/Adapters/GrokAdapterV2.testkit.ts | 122 + apps/server/src/orchestration-v2/Adapters/GrokAdapterV2.ts | 455 + apps/server/src/orchestration-v2/Adapters/OpenCode2AdapterV2.test.ts | 3874 +++++++ apps/server/src/orchestration-v2/Adapters/OpenCode2AdapterV2.testkit.ts | 344 + apps/server/src/orchestration-v2/Adapters/OpenCode2AdapterV2.ts | 4227 ++++++++ apps/server/src/orchestration-v2/Adapters/OpenCodeAdapterV2.test.ts | 2427 +++++ apps/server/src/orchestration-v2/Adapters/OpenCodeAdapterV2.testkit.ts | 511 + apps/server/src/orchestration-v2/Adapters/OpenCodeAdapterV2.ts | 3758 +++++++ apps/server/src/orchestration-v2/Adapters/OpenCodeToolItems.ts | 143 + apps/server/src/orchestration-v2/Adapters/PiAdapterV2.test.ts | 2398 +++++ apps/server/src/orchestration-v2/Adapters/PiAdapterV2.testkit.ts | 524 + apps/server/src/orchestration-v2/Adapters/PiAdapterV2.ts | 3007 ++++++ apps/server/src/orchestration-v2/Adapters/PiRpc.ts | 484 + apps/server/src/orchestration-v2/Adapters/ProviderTextDeltaCoalescer.ts | 156 + apps/server/src/orchestration-v2/Adapters/piT3McpExtensionSource.test.ts | 58 + apps/server/src/orchestration-v2/Adapters/piT3McpExtensionSource.ts | 328 + apps/server/src/orchestration-v2/Adapters/piT3McpInjection.test.ts | 167 + apps/server/src/orchestration-v2/Adapters/piT3McpInjection.ts | 316 + apps/server/src/orchestration-v2/AttachmentClaims.test.ts | 316 + apps/server/src/orchestration-v2/AttachmentClaims.ts | 149 + apps/server/src/orchestration-v2/AttachmentPrompt.test.ts | 150 + apps/server/src/orchestration-v2/AttachmentPrompt.ts | 222 + apps/server/src/orchestration-v2/CheckpointCaptureService.test.ts | 737 ++ apps/server/src/orchestration-v2/CheckpointCaptureService.ts | 285 + apps/server/src/orchestration-v2/CheckpointRestoreSafety.test.ts | 198 + apps/server/src/orchestration-v2/CheckpointRestoreSafety.ts | 88 + apps/server/src/orchestration-v2/CheckpointRollbackService.test.ts | 509 + apps/server/src/orchestration-v2/CheckpointRollbackService.ts | 362 + apps/server/src/orchestration-v2/CheckpointScopeOwnership.test.ts | 237 + apps/server/src/orchestration-v2/CheckpointService.test.ts | 103 + apps/server/src/orchestration-v2/CheckpointService.ts | 585 ++ apps/server/src/orchestration-v2/CommandPolicy.test.ts | 631 ++ apps/server/src/orchestration-v2/CommandPolicy.ts | 491 + apps/server/src/orchestration-v2/CommandReceiptStore.ts | 214 + apps/server/src/orchestration-v2/ContextHandoffBudget.test.ts | 695 ++ apps/server/src/orchestration-v2/ContextHandoffBudget.ts | 282 + apps/server/src/orchestration-v2/ContextHandoffDelivery.ts | 159 + apps/server/src/orchestration-v2/ContextHandoffService.test.ts | 164 + apps/server/src/orchestration-v2/ContextHandoffService.ts | 498 + apps/server/src/orchestration-v2/CursorOrchestratorV2.live.test.ts | 378 + apps/server/src/orchestration-v2/DelegatedCompletionDelivery.test.ts | 654 ++ apps/server/src/orchestration-v2/EffectOutbox.ts | 618 ++ apps/server/src/orchestration-v2/EffectWorker.test.ts | 755 ++ apps/server/src/orchestration-v2/EffectWorker.ts | 822 ++ apps/server/src/orchestration-v2/EventSink.ts | 864 ++ apps/server/src/orchestration-v2/EventStore.ts | 156 + apps/server/src/orchestration-v2/FoundationPersistence.test.ts | 3226 ++++++ apps/server/src/orchestration-v2/GrokOrchestratorV2.live.test.ts | 236 + apps/server/src/orchestration-v2/IdAllocator.ts | 435 + apps/server/src/orchestration-v2/KeyedSerialExecutor.test.ts | 67 + apps/server/src/orchestration-v2/KeyedSerialExecutor.ts | 55 + apps/server/src/orchestration-v2/LiveStreamBudget.test.ts | 278 + apps/server/src/orchestration-v2/LiveStreamBudget.ts | 342 + apps/server/src/orchestration-v2/Notification.test.ts | 150 + apps/server/src/orchestration-v2/Notification.ts | 235 + apps/server/src/orchestration-v2/NotificationMailbox.ts | 23 + apps/server/src/orchestration-v2/OpenCode2OrchestratorV2.integration.test.ts | 1183 +++ apps/server/src/orchestration-v2/OpenCode2OrchestratorV2.live.test.ts | 1181 +++ apps/server/src/orchestration-v2/Orchestrator.control-reads.test.ts | 536 + apps/server/src/orchestration-v2/Orchestrator.migration.test.ts | 100 + apps/server/src/orchestration-v2/Orchestrator.ts | 9805 ++++++++++++++++++ apps/server/src/orchestration-v2/ProjectCommands.test.ts | 254 + apps/server/src/orchestration-v2/ProjectCommands.ts | 241 + apps/server/src/orchestration-v2/ProjectSettingsUpgrade.integration.test.ts | 195 + apps/server/src/orchestration-v2/ProjectStore.test.ts | 56 + apps/server/src/orchestration-v2/ProjectStore.ts | 278 + apps/server/src/orchestration-v2/ProjectionControlReads.test.ts | 348 + apps/server/src/orchestration-v2/ProjectionMaintenance.ts | 375 + apps/server/src/orchestration-v2/ProjectionRecovery.test.ts | 450 + apps/server/src/orchestration-v2/ProjectionSettlement.test.ts | 466 + apps/server/src/orchestration-v2/ProjectionStore.test.ts | 4346 ++++++++ apps/server/src/orchestration-v2/ProjectionStore.ts | 6067 +++++++++++ apps/server/src/orchestration-v2/ProviderAdapter.ts | 598 ++ apps/server/src/orchestration-v2/ProviderAdapterDriver.ts | 44 + apps/server/src/orchestration-v2/ProviderAdapterRegistry.test.ts | 330 + apps/server/src/orchestration-v2/ProviderAdapterRegistry.ts | 369 + apps/server/src/orchestration-v2/ProviderContinuationRequests.ts | 76 + apps/server/src/orchestration-v2/ProviderContinuationService.test.ts | 820 ++ apps/server/src/orchestration-v2/ProviderContinuationService.ts | 233 + apps/server/src/orchestration-v2/ProviderEventIngestor.test.ts | 1237 +++ apps/server/src/orchestration-v2/ProviderEventIngestor.ts | 578 ++ apps/server/src/orchestration-v2/ProviderFailure.test.ts | 209 + apps/server/src/orchestration-v2/ProviderFailure.ts | 249 + apps/server/src/orchestration-v2/ProviderRuntimeRecoveryService.regression.test.ts | 82 + apps/server/src/orchestration-v2/ProviderRuntimeRecoveryService.test.ts | 1274 +++ apps/server/src/orchestration-v2/ProviderRuntimeRecoveryService.ts | 804 ++ apps/server/src/orchestration-v2/ProviderSelectionTransition.test.ts | 55 + apps/server/src/orchestration-v2/ProviderSelectionTransition.ts | 37 + apps/server/src/orchestration-v2/ProviderSessionManager.test.ts | 3128 ++++++ apps/server/src/orchestration-v2/ProviderSessionManager.ts | 1940 ++++ apps/server/src/orchestration-v2/ProviderSessionTransitionPolicy.test.ts | 176 + apps/server/src/orchestration-v2/ProviderSessionTransitionPolicy.ts | 96 + apps/server/src/orchestration-v2/ProviderSwitchService.test.ts | 348 + apps/server/src/orchestration-v2/ProviderSwitchService.ts | 219 + apps/server/src/orchestration-v2/ProviderTurnControlService.test.ts | 324 + apps/server/src/orchestration-v2/ProviderTurnControlService.ts | 350 + apps/server/src/orchestration-v2/ProviderTurnStartService.memory.test.ts | 25 + apps/server/src/orchestration-v2/ProviderTurnStartService.test.ts | 804 ++ apps/server/src/orchestration-v2/ProviderTurnStartService.testkit.ts | 16 + apps/server/src/orchestration-v2/ProviderTurnStartService.ts | 1267 +++ apps/server/src/orchestration-v2/ProviderTurnTokenUsage.test.ts | 43 + apps/server/src/orchestration-v2/PullRequestSyncReactor.test.ts | 835 ++ apps/server/src/orchestration-v2/PullRequestSyncReactor.ts | 369 + apps/server/src/orchestration-v2/QueuedRunOrder.test.ts | 51 + apps/server/src/orchestration-v2/QueuedRunOrder.ts | 32 + apps/server/src/orchestration-v2/RandomUuid.ts | 13 + apps/server/src/orchestration-v2/ResourceCleanupService.ts | 71 + apps/server/src/orchestration-v2/RestartBackgroundNote.test.ts | 133 + apps/server/src/orchestration-v2/RestartBackgroundNote.ts | 222 + apps/server/src/orchestration-v2/RestartContinuation.test.ts | 515 + apps/server/src/orchestration-v2/RestartContinuation.ts | 136 + apps/server/src/orchestration-v2/RunCompletionReads.test.ts | 162 + apps/server/src/orchestration-v2/RunExecutionService.test.ts | 3891 +++++++ apps/server/src/orchestration-v2/RunExecutionService.ts | 1467 +++ apps/server/src/orchestration-v2/RunFinalizationService.test.ts | 129 + apps/server/src/orchestration-v2/RunFinalizationService.ts | 121 + apps/server/src/orchestration-v2/RuntimePolicy.test.ts | 156 + apps/server/src/orchestration-v2/RuntimePolicy.ts | 170 + apps/server/src/orchestration-v2/RuntimeRequestService.test.ts | 293 + apps/server/src/orchestration-v2/RuntimeRequestService.ts | 138 + apps/server/src/orchestration-v2/SelectionRestart.integration.test.ts | 998 ++ apps/server/src/orchestration-v2/ShellStream.test.ts | 495 + apps/server/src/orchestration-v2/ShellStream.ts | 260 + apps/server/src/orchestration-v2/SteeringCompletion.integration.test.ts | 584 ++ apps/server/src/orchestration-v2/SubagentProjection.test.ts | 286 + apps/server/src/orchestration-v2/SubagentProjection.ts | 252 + apps/server/src/orchestration-v2/TODO.md | 172 + apps/server/src/orchestration-v2/ThreadCommandExecutor.ts | 13 + apps/server/src/orchestration-v2/ThreadDeletion.test.ts | 298 + apps/server/src/orchestration-v2/ThreadDeletion.ts | 228 + apps/server/src/orchestration-v2/ThreadFork.execution.test.ts | 243 + apps/server/src/orchestration-v2/ThreadForkService.test.ts | 193 + apps/server/src/orchestration-v2/ThreadForkService.ts | 139 + apps/server/src/orchestration-v2/ThreadLaunchService.test.ts | 2049 ++++ apps/server/src/orchestration-v2/ThreadLaunchService.ts | 842 ++ apps/server/src/orchestration-v2/ThreadLifecycleService.test.ts | 60 + apps/server/src/orchestration-v2/ThreadLifecycleService.ts | 142 + apps/server/src/orchestration-v2/ThreadLiveEventCoalescer.test.ts | 266 + apps/server/src/orchestration-v2/ThreadLiveEventCoalescer.ts | 255 + apps/server/src/orchestration-v2/ThreadManagementService.test.ts | 423 + apps/server/src/orchestration-v2/ThreadManagementService.ts | 762 ++ apps/server/src/orchestration-v2/ThreadMessageIntake.test.ts | 766 ++ apps/server/src/orchestration-v2/ThreadMessageIntake.ts | 239 + apps/server/src/orchestration-v2/ThreadPullRequestService.test.ts | 322 + apps/server/src/orchestration-v2/ThreadPullRequestService.ts | 408 + apps/server/src/orchestration-v2/ThreadSearch.test.ts | 201 + apps/server/src/orchestration-v2/ThreadSearch.ts | 168 + apps/server/src/orchestration-v2/ThreadSettlementService.test.ts | 1079 ++ apps/server/src/orchestration-v2/ThreadSettlementService.ts | 591 ++ apps/server/src/orchestration-v2/ThreadStream.test.ts | 264 + apps/server/src/orchestration-v2/ThreadStream.ts | 96 + apps/server/src/orchestration-v2/ThreadTitleRegenerationService.test.ts | 506 + apps/server/src/orchestration-v2/ThreadTitleRegenerationService.ts | 150 + apps/server/src/orchestration-v2/ThreadTransportPerformance.test.ts | 254 + apps/server/src/orchestration-v2/TurnItemPositionStore.ts | 107 + apps/server/src/orchestration-v2/TurnStartReads.test.ts | 369 + apps/server/src/orchestration-v2/UsageLimitRecoveryWorker.ts | 115 + apps/server/src/orchestration-v2/UserFacingErrors.test.ts | 68 + apps/server/src/orchestration-v2/UserFacingErrors.ts | 110 + apps/server/src/orchestration-v2/V1ImportBoundary.test.ts | 91 + apps/server/src/orchestration-v2/WireProjection.test.ts | 325 + apps/server/src/orchestration-v2/WireProjection.ts | 150 + apps/server/src/orchestration-v2/assistantStreaming.test.ts | 150 + apps/server/src/orchestration-v2/assistantStreaming.ts | 129 + apps/server/src/orchestration-v2/builtInProviderAdapterDrivers.ts | 47 + apps/server/src/orchestration-v2/http.ts | 261 + apps/server/src/orchestration-v2/legacy/LegacyV1Cutover.integration.test.ts | 1045 ++ apps/server/src/orchestration-v2/legacy/LegacyV1ThreadImporter.test.ts | 532 + apps/server/src/orchestration-v2/legacy/LegacyV1ThreadImporter.ts | 833 ++ apps/server/src/orchestration-v2/runtimeLayer.test.ts | 4250 ++++++++ apps/server/src/orchestration-v2/runtimeLayer.ts | 317 + apps/server/src/orchestration-v2/testkit/ClaudeReplayFixtures.integration.test.ts | 381 + apps/server/src/orchestration-v2/testkit/CodexReplayFixtures.integration.test.ts | 773 ++ apps/server/src/orchestration-v2/testkit/DeterministicRuntime.ts | 13 + apps/server/src/orchestration-v2/testkit/OrchestratorReplayFixtures.contract.test.ts | 158 + apps/server/src/orchestration-v2/testkit/OrchestratorReplayFixtures.integration.test.ts | 291 + apps/server/src/orchestration-v2/testkit/OrchestratorReplayRecovery.integration.test.ts | 424 + apps/server/src/orchestration-v2/testkit/OrchestratorReplayRestartBackgroundNote.integration.test.ts | 270 + apps/server/src/orchestration-v2/testkit/OrchestratorScenario.ts | 737 ++ apps/server/src/orchestration-v2/testkit/ProviderReplayGate.testkit.ts | 119 + apps/server/src/orchestration-v2/testkit/ProviderReplayHarness.ts | 496 + apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts | 3335 ++++++ apps/server/src/orchestration-v2/testkit/ProviderTurnStartMemory.fixture.mjs | 202 + apps/server/src/orchestration-v2/testkit/ReplayFixtureWorkspace.ts | 86 + apps/server/src/orchestration-v2/testkit/ReplayTranscriptNdjson.ts | 248 + apps/server/src/orchestration-v2/testkit/ThreadFork.integration.test.ts | 1200 +++ apps/server/src/orchestration-v2/testkit/ThreadMergeBack.integration.test.ts | 730 ++ apps/server/src/orchestration-v2/testkit/fixtures/acp_elicitation/registry_transcript.ndjson | 11 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_monitor_wake/claude_transcript.ndjson | 87 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_monitor_wake/input.ts | 29 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_monitor_wake/output.ts | 67 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_after_root/claude_transcript.ndjson | 137 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_after_root/input.ts | 31 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_after_root/output.ts | 100 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_lifecycle/claude_transcript.ndjson | 334 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_lifecycle/input.ts | 38 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_subagent_lifecycle/output.ts | 248 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_after_root/claude_transcript.ndjson | 13 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_after_root/input.ts | 26 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_after_root/output.ts | 96 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_interrupt/claude_transcript.ndjson | 103 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_interrupt/input.ts | 21 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_interrupt/output.ts | 50 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_wake/claude_transcript.ndjson | 111 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_wake/input.ts | 33 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_task_wake/output.ts | 102 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_wake_before_queued_prompt/claude_transcript.ndjson | 338 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_wake_before_queued_prompt/input.ts | 34 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_wake_before_queued_prompt/output.ts | 96 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_wake_before_queued_prompt_no_echo/claude_transcript.ndjson | 262 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_wake_before_queued_prompt_no_echo/input.ts | 23 + apps/server/src/orchestration-v2/testkit/fixtures/claude_background_wake_before_queued_prompt_no_echo/output.ts | 36 + apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_peer_turn/claude_transcript.ndjson | 38 + apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_peer_turn/input.ts | 33 + apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_peer_turn/output.ts | 58 + apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_peer_turn_no_echo/claude_transcript.ndjson | 25 + apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_peer_turn_no_echo/output.ts | 35 + apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_resume_wake/claude_transcript.ndjson | 43 + apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_resume_wake/input.ts | 16 + apps/server/src/orchestration-v2/testkit/fixtures/claude_compact_after_resume_wake/output.ts | 36 + apps/server/src/orchestration-v2/testkit/fixtures/claude_idle_resume/claude_transcript.ndjson | 19 + apps/server/src/orchestration-v2/testkit/fixtures/claude_idle_resume/input.ts | 25 + apps/server/src/orchestration-v2/testkit/fixtures/claude_idle_resume/output.ts | 39 + apps/server/src/orchestration-v2/testkit/fixtures/claude_local_bash_task/claude_transcript.ndjson | 12 + apps/server/src/orchestration-v2/testkit/fixtures/claude_local_bash_task/input.ts | 7 + apps/server/src/orchestration-v2/testkit/fixtures/claude_local_bash_task/output.ts | 58 + apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_background_subagent_wake/claude_transcript.ndjson | 163 + apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_background_subagent_wake/input.ts | 31 + apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_background_subagent_wake/output.ts | 58 + apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_subagent_model/claude_transcript.ndjson | 105 + apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_subagent_model/input.ts | 17 + apps/server/src/orchestration-v2/testkit/fixtures/claude_nested_subagent_model/output.ts | 60 + apps/server/src/orchestration-v2/testkit/fixtures/claude_result_is_error/claude_transcript.ndjson | 10 + apps/server/src/orchestration-v2/testkit/fixtures/claude_result_is_error/input.ts | 22 + apps/server/src/orchestration-v2/testkit/fixtures/claude_result_is_error/output.ts | 73 + apps/server/src/orchestration-v2/testkit/fixtures/claude_subagent_resume_after_restart/claude_transcript.ndjson | 61 + apps/server/src/orchestration-v2/testkit/fixtures/delegated_task_status/codex_transcript.ndjson | 41 + apps/server/src/orchestration-v2/testkit/fixtures/grok_auto_blocked_command/grok_transcript.ndjson | 136 + apps/server/src/orchestration-v2/testkit/fixtures/grok_auto_blocked_command/input.ts | 30 + apps/server/src/orchestration-v2/testkit/fixtures/grok_auto_blocked_command/output.ts | 97 + apps/server/src/orchestration-v2/testkit/fixtures/grok_background_bash/grok_transcript.ndjson | 241 + apps/server/src/orchestration-v2/testkit/fixtures/grok_background_bash/input.ts | 24 + apps/server/src/orchestration-v2/testkit/fixtures/grok_background_bash/output.ts | 100 + apps/server/src/orchestration-v2/testkit/fixtures/grok_background_bash_fast_wake/grok_transcript.ndjson | 258 + apps/server/src/orchestration-v2/testkit/fixtures/grok_background_bash_fast_wake/input.ts | 18 + apps/server/src/orchestration-v2/testkit/fixtures/grok_background_bash_fast_wake/output.ts | 11 + apps/server/src/orchestration-v2/testkit/fixtures/grok_background_subagent/grok_transcript.ndjson | 353 + apps/server/src/orchestration-v2/testkit/fixtures/grok_background_subagent/input.ts | 23 + apps/server/src/orchestration-v2/testkit/fixtures/grok_background_subagent/output.ts | 116 + apps/server/src/orchestration-v2/testkit/fixtures/grok_monitor/grok_transcript.ndjson | 361 + apps/server/src/orchestration-v2/testkit/fixtures/grok_monitor/input.ts | 25 + apps/server/src/orchestration-v2/testkit/fixtures/grok_monitor/output.ts | 112 + apps/server/src/orchestration-v2/testkit/fixtures/grok_prompt_error/grok_transcript.ndjson | 74 + apps/server/src/orchestration-v2/testkit/fixtures/grok_prompt_error/input.ts | 20 + apps/server/src/orchestration-v2/testkit/fixtures/grok_prompt_error/output.ts | 45 + apps/server/src/orchestration-v2/testkit/fixtures/grok_subagent_lineage/grok_transcript.ndjson | 17 + apps/server/src/orchestration-v2/testkit/fixtures/grok_subagent_lineage/input.ts | 9 + apps/server/src/orchestration-v2/testkit/fixtures/grok_subagent_lineage/output.ts | 98 + apps/server/src/orchestration-v2/testkit/fixtures/index.ts | 1616 +++ apps/server/src/orchestration-v2/testkit/fixtures/message_steering/claude_output.ts | 43 + apps/server/src/orchestration-v2/testkit/fixtures/message_steering/claude_transcript.ndjson | 13 + apps/server/src/orchestration-v2/testkit/fixtures/message_steering/codex_output.ts | 43 + apps/server/src/orchestration-v2/testkit/fixtures/message_steering/codex_transcript.ndjson | 43 + apps/server/src/orchestration-v2/testkit/fixtures/message_steering/cursor_output.ts | 56 + apps/server/src/orchestration-v2/testkit/fixtures/message_steering/cursor_transcript.ndjson | 25 + apps/server/src/orchestration-v2/testkit/fixtures/message_steering/grok_output.ts | 55 + apps/server/src/orchestration-v2/testkit/fixtures/message_steering/grok_transcript.ndjson | 67 + apps/server/src/orchestration-v2/testkit/fixtures/message_steering/input.ts | 31 + apps/server/src/orchestration-v2/testkit/fixtures/message_steering/pi_output.ts | 62 + apps/server/src/orchestration-v2/testkit/fixtures/message_steering/pi_transcript.ndjson | 65 + apps/server/src/orchestration-v2/testkit/fixtures/message_steering/registry_transcript.ndjson | 14 + apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/claude_output.ts | 53 + apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/claude_transcript.ndjson | 14 + apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/codex_output.ts | 40 + apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/codex_transcript.ndjson | 46 + apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/cursor_transcript.ndjson | 44 + apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/grok_transcript.ndjson | 91 + apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/input.ts | 14 + apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/pi_output.ts | 17 + apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/pi_transcript.ndjson | 72 + apps/server/src/orchestration-v2/testkit/fixtures/multi_turn/registry_transcript.ndjson | 12 + apps/server/src/orchestration-v2/testkit/fixtures/multi_turn_restart/claude_transcript.ndjson | 19 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_background/input.ts | 15 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_background/opencode_transcript.ndjson | 69 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_background/output.ts | 114 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_command/input.ts | 5 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_command/opencode_transcript.ndjson | 34 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_command/output.ts | 34 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_compaction/input.ts | 15 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_compaction/opencode_transcript.ndjson | 66 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_compaction/output.ts | 61 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_fork/opencode_transcript.ndjson | 69 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_inbox/input.ts | 24 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_inbox/opencode_transcript.ndjson | 53 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_inbox/output.ts | 72 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_interrupt/input.ts | 11 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_interrupt/opencode_transcript.ndjson | 36 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_interrupt/output.ts | 47 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_nested_background/input.ts | 15 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_nested_background/opencode_transcript.ndjson | 131 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_nested_background/output.ts | 77 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_permission/input.ts | 15 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_permission/opencode_transcript.ndjson | 117 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_permission/output.ts | 81 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_question/input.ts | 11 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_question/opencode_transcript.ndjson | 42 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_question/output.ts | 59 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_resume_after_restart/input.ts | 14 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_resume_after_restart/opencode_transcript.ndjson | 54 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_resume_after_restart/output.ts | 53 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_revert/input.ts | 17 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_revert/opencode_transcript.ndjson | 68 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_revert/output.ts | 39 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_simple/input.ts | 5 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_simple/opencode_transcript.ndjson | 53 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_simple/output.ts | 51 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_skill/input.ts | 5 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_skill/opencode_transcript.ndjson | 32 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_skill/output.ts | 34 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_subagent/input.ts | 5 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_subagent/opencode_transcript.ndjson | 83 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_subagent/output.ts | 74 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_switch/opencode_transcript.ndjson | 88 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_tool_call/input.ts | 5 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_tool_call/opencode_transcript.ndjson | 44 + apps/server/src/orchestration-v2/testkit/fixtures/opencode2_tool_call/output.ts | 56 + apps/server/src/orchestration-v2/testkit/fixtures/opencode_child_approval/input.ts | 10 + apps/server/src/orchestration-v2/testkit/fixtures/opencode_child_approval/opencode_transcript.ndjson | 40 + apps/server/src/orchestration-v2/testkit/fixtures/opencode_child_approval/output.ts | 43 + apps/server/src/orchestration-v2/testkit/fixtures/opencode_running_child_approval/input.ts | 16 + apps/server/src/orchestration-v2/testkit/fixtures/opencode_running_child_approval/opencode_transcript.ndjson | 41 + apps/server/src/orchestration-v2/testkit/fixtures/opencode_running_child_approval/output.ts | 88 + apps/server/src/orchestration-v2/testkit/fixtures/opencode_subagent/input.ts | 7 + apps/server/src/orchestration-v2/testkit/fixtures/opencode_subagent/opencode_transcript.ndjson | 34 + apps/server/src/orchestration-v2/testkit/fixtures/opencode_subagent/output.ts | 71 + apps/server/src/orchestration-v2/testkit/fixtures/pi_compaction/input.ts | 30 + apps/server/src/orchestration-v2/testkit/fixtures/pi_compaction/output.ts | 93 + apps/server/src/orchestration-v2/testkit/fixtures/pi_compaction/pi_transcript.ndjson | 160 + apps/server/src/orchestration-v2/testkit/fixtures/plan_questions/codex_output.ts | 67 + apps/server/src/orchestration-v2/testkit/fixtures/plan_questions/codex_transcript.ndjson | 39 + apps/server/src/orchestration-v2/testkit/fixtures/plan_questions/grok_transcript.ndjson | 11 + apps/server/src/orchestration-v2/testkit/fixtures/plan_questions/input.ts | 18 + apps/server/src/orchestration-v2/testkit/fixtures/plan_questions/opencode_output.ts | 26 + apps/server/src/orchestration-v2/testkit/fixtures/plan_questions/opencode_transcript.ndjson | 27 + apps/server/src/orchestration-v2/testkit/fixtures/proposed_plan/codex_output.ts | 43 + apps/server/src/orchestration-v2/testkit/fixtures/proposed_plan/codex_transcript.ndjson | 278 + apps/server/src/orchestration-v2/testkit/fixtures/proposed_plan/cursor_output.ts | 39 + apps/server/src/orchestration-v2/testkit/fixtures/proposed_plan/cursor_transcript.ndjson | 132 + apps/server/src/orchestration-v2/testkit/fixtures/proposed_plan/input.ts | 8 + apps/server/src/orchestration-v2/testkit/fixtures/provider_thread_resume/codex_transcript.ndjson | 79 + apps/server/src/orchestration-v2/testkit/fixtures/provider_thread_resume/cursor_transcript.ndjson | 67 + apps/server/src/orchestration-v2/testkit/fixtures/provider_thread_resume/input.ts | 21 + apps/server/src/orchestration-v2/testkit/fixtures/provider_thread_resume/pi_output.ts | 68 + apps/server/src/orchestration-v2/testkit/fixtures/provider_thread_resume/pi_transcript.ndjson | 124 + apps/server/src/orchestration-v2/testkit/fixtures/queued_cancelled_while_active/codex_output.ts | 46 + apps/server/src/orchestration-v2/testkit/fixtures/queued_cancelled_while_active/input.ts | 25 + apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/claude_transcript.ndjson | 14 + apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/codex_output.ts | 49 + apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/codex_transcript.ndjson | 46 + apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/cursor_transcript.ndjson | 36 + apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/grok_transcript.ndjson | 88 + apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/input.ts | 14 + apps/server/src/orchestration-v2/testkit/fixtures/queued_turn/registry_transcript.ndjson | 12 + apps/server/src/orchestration-v2/testkit/fixtures/shared.ts | 1485 +++ apps/server/src/orchestration-v2/testkit/fixtures/simple/claude_output.ts | 33 + apps/server/src/orchestration-v2/testkit/fixtures/simple/claude_transcript.ndjson | 10 + apps/server/src/orchestration-v2/testkit/fixtures/simple/codex_output.ts | 33 + apps/server/src/orchestration-v2/testkit/fixtures/simple/codex_transcript.ndjson | 30 + apps/server/src/orchestration-v2/testkit/fixtures/simple/cursor_transcript.ndjson | 20 + apps/server/src/orchestration-v2/testkit/fixtures/simple/grok_transcript.ndjson | 76 + apps/server/src/orchestration-v2/testkit/fixtures/simple/input.ts | 7 + apps/server/src/orchestration-v2/testkit/fixtures/simple/opencode_transcript.ndjson | 23 + apps/server/src/orchestration-v2/testkit/fixtures/simple/pi_output.ts | 117 + apps/server/src/orchestration-v2/testkit/fixtures/simple/pi_transcript.ndjson | 46 + apps/server/src/orchestration-v2/testkit/fixtures/simple/registry_transcript.ndjson | 12 + apps/server/src/orchestration-v2/testkit/fixtures/skill_invocation/cursor_output.ts | 39 + apps/server/src/orchestration-v2/testkit/fixtures/skill_invocation/cursor_transcript.ndjson | 64 + apps/server/src/orchestration-v2/testkit/fixtures/skill_invocation/input.ts | 19 + apps/server/src/orchestration-v2/testkit/fixtures/stop_background_work_after_failed_turn/input.ts | 33 + apps/server/src/orchestration-v2/testkit/fixtures/stop_background_work_after_failed_turn/output.ts | 44 + apps/server/src/orchestration-v2/testkit/fixtures/stop_background_work_after_failed_turn/registry_transcript.ndjson | 10 + apps/server/src/orchestration-v2/testkit/fixtures/subagent/claude_output.ts | 123 + apps/server/src/orchestration-v2/testkit/fixtures/subagent/claude_transcript.ndjson | 29 + apps/server/src/orchestration-v2/testkit/fixtures/subagent/codex_output.ts | 124 + apps/server/src/orchestration-v2/testkit/fixtures/subagent/codex_transcript.ndjson | 628 ++ apps/server/src/orchestration-v2/testkit/fixtures/subagent/cursor_output.ts | 96 + apps/server/src/orchestration-v2/testkit/fixtures/subagent/cursor_transcript.ndjson | 353 + apps/server/src/orchestration-v2/testkit/fixtures/subagent/input.ts | 7 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_continue/README.md | 28 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_continue/codex_output.ts | 60 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_continue/codex_transcript.ndjson | 138 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_continue/input.ts | 14 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2/codex_output.ts | 86 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2/codex_transcript.ndjson | 49 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2/input.ts | 17 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_approval/codex_output.ts | 87 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_approval/codex_transcript.ndjson | 68 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_approval/input.ts | 21 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_nested/codex_output.ts | 135 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_nested/codex_transcript.ndjson | 98 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_nested_approval/codex_output.ts | 105 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_nested_approval/codex_transcript.ndjson | 84 + apps/server/src/orchestration-v2/testkit/fixtures/subagent_v2_nested_approval/input.ts | 15 + apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native/claude_transcript.ndjson | 21 + apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native/codex_transcript.ndjson | 21 + apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native_continue/README.md | 49 + apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native_continue/claude_transcript.ndjson | 25 + apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native_continue/codex_transcript.ndjson | 82 + apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native_fork_local_rollback/claude_transcript.ndjson | 35 + apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native_prior_turn/claude_transcript.ndjson | 26 + apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native_prior_turn/codex_transcript.ndjson | 928 ++ apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native_siblings/README.md | 48 + apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native_siblings/claude_transcript.ndjson | 32 + apps/server/src/orchestration-v2/testkit/fixtures/thread_fork_native_siblings/codex_transcript.ndjson | 107 + apps/server/src/orchestration-v2/testkit/fixtures/thread_merge_back_continue/README.md | 45 + apps/server/src/orchestration-v2/testkit/fixtures/thread_merge_back_continue/claude_transcript.ndjson | 34 + apps/server/src/orchestration-v2/testkit/fixtures/thread_merge_back_continue/codex_transcript.ndjson | 95 + apps/server/src/orchestration-v2/testkit/fixtures/thread_merge_back_siblings/README.md | 46 + apps/server/src/orchestration-v2/testkit/fixtures/thread_merge_back_siblings/claude_transcript.ndjson | 49 + apps/server/src/orchestration-v2/testkit/fixtures/thread_merge_back_siblings/codex_transcript.ndjson | 155 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/claude_output.ts | 71 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/claude_transcript.ndjson | 24 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/codex_output.ts | 72 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/codex_transcript.ndjson | 99 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/input.ts | 21 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/pi_output.ts | 83 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback/pi_transcript.ndjson | 163 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_after_restart/codex_output.ts | 31 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_after_restart/codex_transcript.ndjson | 107 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_after_restart/input.ts | 27 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_after_stop/input.ts | 29 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_after_stop/pi_output.ts | 83 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_after_stop/pi_transcript.ndjson | 274 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_to_stopped_turn/codex_output.ts | 66 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_to_stopped_turn/codex_transcript.ndjson | 279 + apps/server/src/orchestration-v2/testkit/fixtures/thread_rollback_to_stopped_turn/input.ts | 28 + apps/server/src/orchestration-v2/testkit/fixtures/todo_list/codex_output.ts | 39 + apps/server/src/orchestration-v2/testkit/fixtures/todo_list/codex_transcript.ndjson | 37 + apps/server/src/orchestration-v2/testkit/fixtures/todo_list/cursor_output.ts | 72 + apps/server/src/orchestration-v2/testkit/fixtures/todo_list/cursor_transcript.ndjson | 210 + apps/server/src/orchestration-v2/testkit/fixtures/todo_list/grok_output.ts | 52 + apps/server/src/orchestration-v2/testkit/fixtures/todo_list/grok_transcript.ndjson | 329 + apps/server/src/orchestration-v2/testkit/fixtures/todo_list/input.ts | 7 + apps/server/src/orchestration-v2/testkit/fixtures/todo_list/registry_transcript.ndjson | 16 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_denied_write/claude_output.ts | 44 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_denied_write/claude_transcript.ndjson | 89 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_denied_write/input.ts | 24 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/claude_output.ts | 62 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/claude_transcript.ndjson | 16 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/cursor_output.ts | 58 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/cursor_transcript.ndjson | 49 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/grok_transcript.ndjson | 15 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/input.ts | 7 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only/registry_transcript.ndjson | 15 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/claude_transcript.ndjson | 15 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/codex_transcript.ndjson | 81 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/grok_transcript.ndjson | 181 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/input.ts | 10 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/output.ts | 108 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_read_only_on_request/registry_transcript.ndjson | 13 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_restricted_granular/claude_output.ts | 41 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_restricted_granular/claude_transcript.ndjson | 15 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_restricted_granular/codex_output.ts | 36 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_restricted_granular/codex_transcript.ndjson | 80 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_restricted_granular/input.ts | 10 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_workspace_never/claude_output.ts | 34 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_workspace_never/claude_transcript.ndjson | 13 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_workspace_never/codex_output.ts | 29 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_workspace_never/codex_transcript.ndjson | 68 + apps/server/src/orchestration-v2/testkit/fixtures/tool_call_workspace_never/input.ts | 7 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/claude_output.ts | 51 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/claude_transcript.ndjson | 7 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/codex_output.ts | 49 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/codex_transcript.ndjson | 25 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/grok_transcript.ndjson | 28 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/input.ts | 10 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/opencode_transcript.ndjson | 20 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt/registry_transcript.ndjson | 9 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/claude_output.ts | 95 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/claude_transcript.ndjson | 11 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/codex_output.ts | 150 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/codex_transcript.ndjson | 35 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/cursor_output.ts | 76 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/cursor_transcript.ndjson | 33 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/input.ts | 10 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/pi_output.ts | 67 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_mid_tool/pi_transcript.ndjson | 59 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_restart/claude_output.ts | 129 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_restart/claude_transcript.ndjson | 20 + apps/server/src/orchestration-v2/testkit/fixtures/turn_interrupt_restart/input.ts | 15 + apps/server/src/orchestration-v2/testkit/fixtures/web_search/claude_output.ts | 58 + apps/server/src/orchestration-v2/testkit/fixtures/web_search/claude_transcript.ndjson | 16 + apps/server/src/orchestration-v2/testkit/fixtures/web_search/codex_output.ts | 42 + apps/server/src/orchestration-v2/testkit/fixtures/web_search/codex_transcript.ndjson | 54 + apps/server/src/orchestration-v2/testkit/fixtures/web_search/input.ts | 7 + apps/server/src/orchestration-v2/testkit/pullRequestFixtures.ts | 70 + apps/server/src/orchestration-v2/threadHistoryPaging.test.ts | 672 ++ apps/server/src/orchestration-v2/threadHistoryPaging.ts | 532 + apps/server/src/orchestration-v2/workflowScriptQuery.test.ts | 74 + apps/server/src/orchestration-v2/workflowScriptQuery.ts | 127 + apps/server/src/orchestration/ActivityPayloadProjection.test.ts | 346 - apps/server/src/orchestration/ActivityPayloadProjection.ts | 689 -- apps/server/src/orchestration/Errors.ts | 93 - apps/server/src/orchestration/Layers/CheckpointReactor.test.ts | 2283 ----- apps/server/src/orchestration/Layers/CheckpointReactor.ts | 1063 -- apps/server/src/orchestration/Layers/OrchestrationEngine.test.ts | 2213 ---- apps/server/src/orchestration/Layers/OrchestrationEngine.ts | 480 - apps/server/src/orchestration/Layers/OrchestrationReactor.test.ts | 139 - apps/server/src/orchestration/Layers/OrchestrationReactor.ts | 49 - apps/server/src/orchestration/Layers/ProjectionPipeline.test.ts | 4872 --------- apps/server/src/orchestration/Layers/ProjectionPipeline.ts | 2222 ---- apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.test.ts | 3771 ------- apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts | 3870 ------- apps/server/src/orchestration/Layers/ProviderCommandReactor.test.ts | 4503 -------- apps/server/src/orchestration/Layers/ProviderCommandReactor.ts | 1965 ---- apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.activity.test.ts | 144 - apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.approval.test.ts | 70 - apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.test.ts | 5234 ---------- apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.ts | 2743 ----- apps/server/src/orchestration/Layers/RuntimeReceiptBus.ts | 39 - apps/server/src/orchestration/Layers/ThreadDeletionReactor.test.ts | 139 - apps/server/src/orchestration/Layers/ThreadDeletionReactor.ts | 122 - apps/server/src/orchestration/LiveStreamBudget.test.ts | 47 - apps/server/src/orchestration/LiveStreamBudget.ts | 196 - apps/server/src/orchestration/Normalizer.attachments.test.ts | 690 -- apps/server/src/orchestration/Normalizer.test.ts | 73 - apps/server/src/orchestration/Normalizer.ts | 384 - apps/server/src/orchestration/PullRequestSyncReactor.test.ts | 970 -- apps/server/src/orchestration/PullRequestSyncReactor.ts | 359 - apps/server/src/orchestration/Schemas.ts | 74 - apps/server/src/orchestration/Services/CheckpointReactor.ts | 40 - apps/server/src/orchestration/Services/OrchestrationEngine.ts | 117 - apps/server/src/orchestration/Services/OrchestrationReactor.ts | 32 - apps/server/src/orchestration/Services/ProjectionPipeline.ts | 51 - apps/server/src/orchestration/Services/ProjectionSnapshotQuery.ts | 315 - apps/server/src/orchestration/Services/ProviderCommandReactor.ts | 42 - apps/server/src/orchestration/Services/ProviderRuntimeIngestion.ts | 41 - apps/server/src/orchestration/Services/RuntimeReceiptBus.ts | 66 - apps/server/src/orchestration/Services/ThreadDeletionReactor.ts | 40 - apps/server/src/orchestration/ThreadBackgroundLiveness.test.ts | 229 - apps/server/src/orchestration/ThreadBackgroundLiveness.ts | 172 - apps/server/src/orchestration/ThreadLiveEventCoalescer.test.ts | 250 - apps/server/src/orchestration/ThreadLiveEventCoalescer.ts | 241 - apps/server/src/orchestration/ThreadPlanProgress.test.ts | 44 - apps/server/src/orchestration/ThreadPlanProgress.ts | 76 - apps/server/src/orchestration/ThreadPullRequestReactor.test.ts | 843 -- apps/server/src/orchestration/ThreadPullRequestReactor.ts | 426 - apps/server/src/orchestration/ThreadSettlementPolicy.test.ts | 313 - apps/server/src/orchestration/ThreadSettlementPolicy.ts | 137 - apps/server/src/orchestration/ThreadSettlementReactor.test.ts | 2038 ---- apps/server/src/orchestration/ThreadSettlementReactor.ts | 385 - apps/server/src/orchestration/commandInvariants.test.ts | 227 - apps/server/src/orchestration/commandInvariants.ts | 168 - apps/server/src/orchestration/decider.active-order.test.ts | 201 - apps/server/src/orchestration/decider.autoSettleSet.test.ts | 154 - apps/server/src/orchestration/decider.delete.test.ts | 217 - apps/server/src/orchestration/decider.import.test.ts | 509 - apps/server/src/orchestration/decider.pinned.test.ts | 325 - apps/server/src/orchestration/decider.projectScripts.test.ts | 646 -- apps/server/src/orchestration/decider.projectThreadEnvMode.test.ts | 178 - apps/server/src/orchestration/decider.pullRequests.test.ts | 575 -- apps/server/src/orchestration/decider.questionAttachments.test.ts | 131 - apps/server/src/orchestration/decider.settled.test.ts | 853 -- apps/server/src/orchestration/decider.snoozed.test.ts | 287 - apps/server/src/orchestration/decider.titleRegeneration.test.ts | 120 - apps/server/src/orchestration/decider.ts | 2226 ---- apps/server/src/orchestration/decider.turnDiffComplete.test.ts | 127 - apps/server/src/orchestration/decider.userInputDismiss.test.ts | 143 - apps/server/src/orchestration/decider.userMessageAppend.test.ts | 137 - apps/server/src/orchestration/http.ts | 128 - apps/server/src/orchestration/messageContext.test.ts | 165 - apps/server/src/orchestration/projector.autoSettleSet.test.ts | 105 - apps/server/src/orchestration/projector.pinned.test.ts | 154 - apps/server/src/orchestration/projector.pullRequests.test.ts | 417 - apps/server/src/orchestration/projector.settled.test.ts | 123 - apps/server/src/orchestration/projector.test.ts | 1240 --- apps/server/src/orchestration/projector.ts | 1099 -- apps/server/src/orchestration/runtimeLayer.ts | 36 - apps/server/src/orchestration/threadDetailCursor.test.ts | 44 - apps/server/src/orchestration/threadDetailCursor.ts | 62 - apps/server/src/orchestration/threadTitles.ts | 13 - apps/server/src/orchestration/workflowScriptQuery.test.ts | 74 - apps/server/src/orchestration/workflowScriptQuery.ts | 127 - apps/server/src/persistence/Errors.ts | 5 - apps/server/src/persistence/Layers/OrchestrationCommandReceipts.ts | 80 +- apps/server/src/persistence/Layers/OrchestrationEventStore.sequence.test.ts | 275 + apps/server/src/persistence/Layers/OrchestrationEventStore.test.ts | 601 +- apps/server/src/persistence/Layers/OrchestrationEventStore.ts | 715 +- apps/server/src/persistence/Layers/ProjectionPendingApprovals.ts | 155 - apps/server/src/persistence/Layers/ProjectionProjects.ts | 121 - apps/server/src/persistence/Layers/ProjectionRepositories.test.ts | 695 -- apps/server/src/persistence/Layers/ProjectionState.ts | 119 - apps/server/src/persistence/Layers/ProjectionThreadActivities.test.ts | 100 - apps/server/src/persistence/Layers/ProjectionThreadActivities.ts | 266 - apps/server/src/persistence/Layers/ProjectionThreadMessages.test.ts | 327 - apps/server/src/persistence/Layers/ProjectionThreadMessages.ts | 321 - apps/server/src/persistence/Layers/ProjectionThreadProposedPlans.ts | 190 - apps/server/src/persistence/Layers/ProjectionThreadSessions.ts | 112 - apps/server/src/persistence/Layers/ProjectionThreads.ts | 195 - apps/server/src/persistence/Layers/ProjectionTurns.ts | 354 - apps/server/src/persistence/Layers/Sqlite.ts | 6 +- apps/server/src/persistence/Migrations.ts | 44 +- apps/server/src/persistence/Migrations/055_OrchestrationV2.application-event-source.test.ts | 61 + apps/server/src/persistence/Migrations/055_OrchestrationV2.effect-cancellation.test.ts | 61 + apps/server/src/persistence/Migrations/055_OrchestrationV2.test.ts | 126 + apps/server/src/persistence/Migrations/055_OrchestrationV2.ts | 332 + apps/server/src/persistence/Migrations/056_RemoveRedundantProjectionIndexes.test.ts | 44 + apps/server/src/persistence/Migrations/056_RemoveRedundantProjectionIndexes.ts | 13 + apps/server/src/persistence/Migrations/OrchestrationV2/ApplicationEventSequenceIndexes.ts | 19 + apps/server/src/persistence/Migrations/OrchestrationV2/ApplicationEventSource.ts | 282 + apps/server/src/persistence/Migrations/OrchestrationV2/EffectCancellation.ts | 79 + apps/server/src/persistence/Migrations/OrchestrationV2/Foundation.ts | 180 + apps/server/src/persistence/Migrations/OrchestrationV2/LegacyV1ImportState.ts | 28 + apps/server/src/persistence/Migrations/OrchestrationV2/ProviderSessionBindings.ts | 28 + apps/server/src/persistence/Migrations/OrchestrationV2/RecoveryIndexes.ts | 31 + apps/server/src/persistence/Migrations/OrchestrationV2/ScheduledTasks.ts | 43 + apps/server/src/persistence/Migrations/OrchestrationV2/ShellIndexes.ts | 25 + apps/server/src/persistence/Migrations/OrchestrationV2/Subagents.ts | 29 + apps/server/src/persistence/Migrations/OrchestrationV2/ThreadLaunchWorkflows.ts | 24 + apps/server/src/persistence/ProjectionThreadPullRequests.ts | 266 - apps/server/src/persistence/ProviderSessionRuntime.ts | 3 +- apps/server/src/persistence/Services/OrchestrationCommandReceipts.ts | 19 +- apps/server/src/persistence/Services/OrchestrationEventStore.ts | 168 +- apps/server/src/persistence/Services/ProjectionPendingApprovals.ts | 93 - apps/server/src/persistence/Services/ProjectionProjects.ts | 70 - apps/server/src/persistence/Services/ProjectionState.ts | 64 - apps/server/src/persistence/Services/ProjectionThreadActivities.ts | 110 - apps/server/src/persistence/Services/ProjectionThreadMessages.ts | 129 - apps/server/src/persistence/Services/ProjectionThreadProposedPlans.ts | 76 - apps/server/src/persistence/Services/ProjectionThreadSessions.ts | 78 - apps/server/src/persistence/Services/ProjectionThreads.ts | 94 - apps/server/src/persistence/Services/ProjectionTurns.ts | 170 - apps/server/src/persistence/initializeV2Database.test.ts | 198 + apps/server/src/persistence/initializeV2Database.ts | 53 + apps/server/src/persistence/reconcileV2PreviewMigration.test.ts | 136 + apps/server/src/persistence/reconcileV2PreviewMigration.ts | 56 + apps/server/src/process/processGroup.test.ts | 45 + apps/server/src/process/processGroup.ts | 16 + apps/server/src/project/AgentSessionImporter.test.ts | 1321 +-- apps/server/src/project/AgentSessionImporter.ts | 511 +- apps/server/src/project/AgentSessionScanner.test.ts | 43 +- apps/server/src/project/AgentSessionScanner.ts | 12 +- apps/server/src/project/ManagedProjectFolders.test.ts | 572 ++ apps/server/src/project/ManagedProjectFolders.ts | 510 + apps/server/src/project/NewProject.test.ts | 140 - apps/server/src/project/NewProject.ts | 179 - apps/server/src/project/ProjectCloneTracker.ts | 8 - apps/server/src/project/ProjectEnrichmentService.test.ts | 343 + apps/server/src/project/ProjectEnrichmentService.ts | 297 + apps/server/src/project/ProjectMutation.test.ts | 93 + apps/server/src/project/ProjectMutation.ts | 53 + apps/server/src/project/ProjectService.deletion.test.ts | 486 + apps/server/src/project/ProjectService.test.ts | 805 ++ apps/server/src/project/ProjectService.ts | 572 ++ apps/server/src/project/ProjectSetupScriptRunner.test.ts | 638 +- apps/server/src/project/ProjectSetupScriptRunner.ts | 57 +- apps/server/src/project/http.test.ts | 54 + apps/server/src/project/http.ts | 60 + apps/server/src/provider/AntigravityAuth.test.ts | 2 +- apps/server/src/provider/AntigravityAuth.ts | 19 +- apps/server/src/provider/AntigravityInstallation.test.ts | 54 +- apps/server/src/provider/AntigravityInstallation.ts | 8 +- apps/server/src/provider/ClaudeModelCatalog.test.ts | 54 +- apps/server/src/provider/ClaudeModelCatalog.ts | 2 +- apps/server/src/provider/ClaudeTurnTokenUsage.ts | 87 + apps/server/src/provider/CodexChatGptAuth.test.ts | 48 +- apps/server/src/provider/CodexChatGptAuth.ts | 20 +- apps/server/src/provider/CodexChatGptHandoff.ts | 12 +- apps/server/src/provider/CodexDeveloperInstructions.test.ts | 115 + apps/server/src/provider/CodexDeveloperInstructions.ts | 14 +- apps/server/src/provider/CodexInstallation.test.ts | 38 +- apps/server/src/provider/CodexInstallation.ts | 14 +- apps/server/src/provider/CodexManagedRuntime.test.ts | 22 +- apps/server/src/provider/CodexManagedRuntime.ts | 8 +- apps/server/src/provider/CodexMcpElicitation.test.ts | 208 + apps/server/src/provider/CodexMcpElicitation.ts | 222 + apps/server/src/provider/CodexThreadRevert.test.ts | 93 + apps/server/src/provider/CodexThreadRevert.ts | 42 + apps/server/src/provider/CodexToolPresentation.ts | 231 + apps/server/src/provider/CodexTurnTokenUsage.ts | 182 + apps/server/src/provider/CursorAuth.test.ts | 356 + apps/server/src/provider/CursorAuth.ts | 495 + apps/server/src/provider/CursorCredentialStore.test.ts | 141 + apps/server/src/provider/CursorCredentialStore.ts | 91 + apps/server/src/provider/Drivers/AcpRegistryDriver.test.ts | 438 + apps/server/src/provider/Drivers/AcpRegistryDriver.ts | 900 ++ apps/server/src/provider/Drivers/AntigravityDriver.test.ts | 45 +- apps/server/src/provider/Drivers/AntigravityDriver.ts | 62 +- apps/server/src/provider/Drivers/ClaudeDriver.ts | 81 +- apps/server/src/provider/Drivers/ClaudeExecutable.ts | 7 + apps/server/src/provider/Drivers/CodexDriver.test.ts | 105 +- apps/server/src/provider/Drivers/CodexDriver.ts | 76 +- apps/server/src/provider/Drivers/CodexManagedProvider.ts | 29 +- apps/server/src/provider/Drivers/CursorDriver.test.ts | 188 +- apps/server/src/provider/Drivers/CursorDriver.ts | 315 +- apps/server/src/provider/Drivers/CursorSkills.test.ts | 186 + apps/server/src/provider/Drivers/GrokDriver.test.ts | 18 +- apps/server/src/provider/Drivers/GrokDriver.ts | 72 +- apps/server/src/provider/Drivers/OpenCodeDriver.test.ts | 279 + apps/server/src/provider/Drivers/OpenCodeDriver.ts | 358 +- apps/server/src/provider/Drivers/PiDriver.ts | 194 + apps/server/src/provider/Errors.ts | 180 +- apps/server/src/provider/Layers/AcpRegistryCatalog.ts | 22 + apps/server/src/provider/Layers/AntigravityAdapter.test.ts | 1333 --- apps/server/src/provider/Layers/AntigravityAdapter.ts | 1301 --- apps/server/src/provider/Layers/AntigravityProvider.test.ts | 31 +- apps/server/src/provider/Layers/AntigravityProvider.ts | 2 +- apps/server/src/provider/Layers/ClaudeAdapter.test.ts | 8446 --------------- apps/server/src/provider/Layers/ClaudeAdapter.ts | 5684 ----------- apps/server/src/provider/Layers/CodexAdapter.test.ts | 3195 ------ apps/server/src/provider/Layers/CodexAdapter.ts | 2832 ------ apps/server/src/provider/Layers/CodexCollabRuntime.integration.test.ts | 943 -- apps/server/src/provider/Layers/CodexCollabWire.test.ts | 184 - apps/server/src/provider/Layers/CodexProvider.ts | 12 +- apps/server/src/provider/Layers/CodexSessionRuntime.test.ts | 1071 -- apps/server/src/provider/Layers/CodexSessionRuntime.ts | 2740 ----- apps/server/src/provider/Layers/CursorAdapter.test.ts | 1663 --- apps/server/src/provider/Layers/CursorAdapter.ts | 1289 --- apps/server/src/provider/Layers/CursorProvider.test.ts | 1279 +-- apps/server/src/provider/Layers/CursorProvider.ts | 1210 +-- apps/server/src/provider/Layers/CursorSdkCatalog.test.ts | 66 + apps/server/src/provider/Layers/CursorSdkCatalog.ts | 94 + apps/server/src/provider/Layers/EventNdjsonLogger.ts | 6 +- apps/server/src/provider/Layers/GrokAdapter.test.ts | 2658 ----- apps/server/src/provider/Layers/GrokAdapter.ts | 2235 ---- apps/server/src/provider/Layers/GrokProvider.ts | 13 +- apps/server/src/provider/Layers/OpenCodeAdapter.test.ts | 8016 --------------- apps/server/src/provider/Layers/OpenCodeAdapter.ts | 4059 -------- apps/server/src/provider/Layers/OpenCodeProvider.test.ts | 268 +- apps/server/src/provider/Layers/OpenCodeProvider.ts | 312 +- apps/server/src/provider/Layers/PiProvider.test.ts | 80 + apps/server/src/provider/Layers/PiProvider.ts | 442 + apps/server/src/provider/Layers/ProviderAdapterRegistry.test.ts | 285 - apps/server/src/provider/Layers/ProviderAdapterRegistry.ts | 155 - apps/server/src/provider/Layers/ProviderAuthService.test.ts | 309 +- apps/server/src/provider/Layers/ProviderAuthService.ts | 108 +- apps/server/src/provider/Layers/ProviderEventLoggers.ts | 4 +- apps/server/src/provider/Layers/ProviderInstanceRegistryHydration.ts | 40 +- apps/server/src/provider/Layers/ProviderInstanceRegistryLive.test.ts | 104 +- apps/server/src/provider/Layers/ProviderInstanceRegistryLive.ts | 42 +- apps/server/src/provider/Layers/ProviderOrchestrationAdapterInfrastructure.ts | 27 + apps/server/src/provider/Layers/ProviderRegistry.test.ts | 227 +- apps/server/src/provider/Layers/ProviderRegistry.ts | 51 +- apps/server/src/provider/Layers/ProviderService.test.ts | 5361 ---------- apps/server/src/provider/Layers/ProviderService.ts | 2482 ----- apps/server/src/provider/Layers/ProviderSessionDirectory.test.ts | 488 - apps/server/src/provider/Layers/ProviderSessionDirectory.ts | 210 - apps/server/src/provider/Layers/ProviderSessionReaper.test.ts | 737 -- apps/server/src/provider/Layers/ProviderSessionReaper.ts | 160 - apps/server/src/provider/Layers/ProviderUsageLimitsIngestion.ts | 43 +- apps/server/src/provider/Layers/codexLaunchArgs.ts | 8 - apps/server/src/provider/Layers/codexUsageLimits.test.ts | 17 + apps/server/src/provider/Layers/codexUsageLimits.ts | 16 + apps/server/src/provider/Layers/cursorUsageLimits.test.ts | 264 + apps/server/src/provider/Layers/cursorUsageLimits.ts | 4 +- apps/server/src/provider/Layers/piThinkingCapabilities.test.ts | 52 + apps/server/src/provider/Layers/piThinkingCapabilities.ts | 97 + apps/server/src/provider/ModelManifest.test.ts | 182 +- apps/server/src/provider/ModelManifest.ts | 30 +- apps/server/src/provider/NativeProtocolLogging.ts | 40 + apps/server/src/provider/OpenCodeServerLedger.test.ts | 244 + apps/server/src/provider/OpenCodeServerLedger.ts | 333 + apps/server/src/provider/OpenCodeServerOwner.test.ts | 30 +- apps/server/src/provider/OpenCodeServerOwner.ts | 3 + apps/server/src/provider/PiCommands.test.ts | 127 + apps/server/src/provider/PiCommands.ts | 136 + apps/server/src/provider/ProviderCredentialStore.test.ts | 14 +- apps/server/src/provider/ProviderDriver.ts | 43 +- apps/server/src/provider/Services/ClaudeAdapter.ts | 19 - apps/server/src/provider/Services/CodexAdapter.ts | 23 - apps/server/src/provider/Services/CursorAdapter.ts | 19 - apps/server/src/provider/Services/GrokAdapter.ts | 16 - apps/server/src/provider/Services/OpenCodeAdapter.ts | 19 - apps/server/src/provider/Services/ProviderAdapter.ts | 158 - apps/server/src/provider/Services/ProviderAdapterRegistry.ts | 68 - apps/server/src/provider/Services/ProviderService.ts | 144 - apps/server/src/provider/Services/ProviderSessionDirectory.ts | 85 - apps/server/src/provider/Services/ProviderSessionReaper.ts | 15 - apps/server/src/provider/T3OrchestrationInstructions.test.ts | 85 + apps/server/src/provider/T3OrchestrationInstructions.ts | 105 + apps/server/src/provider/TurnTokenUsage.test.ts | 133 + apps/server/src/provider/acp/AcpAdapterSupport.test.ts | 64 - apps/server/src/provider/acp/AcpAdapterSupport.ts | 57 - apps/server/src/provider/acp/AcpClientPolicy.test.ts | 348 + apps/server/src/provider/acp/AcpClientPolicy.ts | 297 + apps/server/src/provider/acp/AcpClientTerminals.test.ts | 312 + apps/server/src/provider/acp/AcpClientTerminals.ts | 459 + apps/server/src/provider/acp/AcpCoreRuntimeEvents.test.ts | 2 + apps/server/src/provider/acp/AcpCoreRuntimeEvents.ts | 23 +- apps/server/src/provider/acp/AcpJsonRpcConnection.test.ts | 569 +- apps/server/src/provider/acp/AcpNativeLogging.ts | 16 +- apps/server/src/provider/acp/AcpRegistryAuth.test.ts | 342 + apps/server/src/provider/acp/AcpRegistryAuth.ts | 370 + apps/server/src/provider/acp/AcpRegistryAuthenticationState.test.ts | 99 + apps/server/src/provider/acp/AcpRegistryAuthenticationState.ts | 76 + apps/server/src/provider/acp/AcpRegistryProbe.test.ts | 536 + apps/server/src/provider/acp/AcpRegistryProbe.ts | 782 ++ apps/server/src/provider/acp/AcpRegistryRuntimeCoordinator.test.ts | 366 + apps/server/src/provider/acp/AcpRegistryRuntimeCoordinator.ts | 369 + apps/server/src/provider/acp/AcpRegistrySupport.test.ts | 1584 +++ apps/server/src/provider/acp/AcpRegistrySupport.ts | 1859 ++++ apps/server/src/provider/acp/AcpRuntimeModel.test.ts | 807 +- apps/server/src/provider/acp/AcpRuntimeModel.ts | 807 +- apps/server/src/provider/acp/AcpSessionConfig.test.ts | 263 + apps/server/src/provider/acp/AcpSessionConfig.ts | 153 + apps/server/src/provider/acp/AcpSessionRuntime.processTree.test.ts | 1164 +++ apps/server/src/provider/acp/AcpSessionRuntime.ts | 2058 +++- apps/server/src/provider/acp/AntigravityAcpSupport.test.ts | 4 +- apps/server/src/provider/acp/AntigravityAcpSupport.ts | 8 +- apps/server/src/provider/acp/AntigravityClientFiles.ts | 124 + apps/server/src/provider/acp/AntigravityProtocol.test.ts | 5 +- apps/server/src/provider/acp/AntigravityProtocol.ts | 19 +- apps/server/src/provider/acp/CursorAcpCliProbe.test.ts | 153 - apps/server/src/provider/acp/CursorAcpExtension.test.ts | 154 - apps/server/src/provider/acp/CursorAcpExtension.ts | 113 - apps/server/src/provider/acp/CursorAcpSupport.test.ts | 148 - apps/server/src/provider/acp/CursorAcpSupport.ts | 138 - apps/server/src/provider/acp/GrokAcpCliProbe.test.ts | 30 +- apps/server/src/provider/acp/GrokAcpSupport.test.ts | 31 +- apps/server/src/provider/acp/GrokAcpSupport.ts | 106 +- apps/server/src/provider/acp/XAiAcpExtension.test.ts | 1693 ++- apps/server/src/provider/acp/XAiAcpExtension.ts | 1711 +++- apps/server/src/provider/builtInDrivers.ts | 10 +- apps/server/src/provider/cursorCredentialStore.test.ts | 46 - apps/server/src/provider/cursorCredentialStore.ts | 55 - apps/server/src/provider/cursorKeychainToken.test.ts | 46 + apps/server/src/provider/cursorKeychainToken.ts | 55 + apps/server/src/provider/cursorSdk.test.ts | 193 + apps/server/src/provider/cursorSdk.ts | 77 + apps/server/src/provider/cursorSdkModel.ts | 50 + apps/server/src/provider/makeManagedServerProvider.test.ts | 10 +- apps/server/src/provider/makeManagedServerProvider.ts | 6 +- apps/server/src/provider/model-manifest.json | 17 +- apps/server/src/provider/opencode2/OpenCode2Client.events.test.ts | 194 + apps/server/src/provider/opencode2/OpenCode2Client.live.test.ts | 150 + apps/server/src/provider/opencode2/OpenCode2Client.test.ts | 48 + apps/server/src/provider/opencode2/OpenCode2Client.ts | 223 + apps/server/src/provider/opencode2/OpenCode2Server.live.test.ts | 238 + apps/server/src/provider/opencode2/OpenCode2Server.test.ts | 253 + apps/server/src/provider/opencode2/OpenCode2Server.ts | 198 + apps/server/src/provider/opencodeRuntime.environment.test.ts | 50 +- apps/server/src/provider/opencodeRuntime.inventory.test.ts | 22 +- apps/server/src/provider/opencodeRuntime.ts | 31 +- apps/server/src/provider/opencodeVersionProbe.test.ts | 197 + apps/server/src/provider/opencodeVersionProbe.ts | 198 + apps/server/src/provider/providerCompatibility.test.ts | 42 +- apps/server/src/provider/providerInstallation.test.ts | 24 +- apps/server/src/provider/providerInstallation.ts | 29 +- apps/server/src/provider/providerMaintenance.test.ts | 2 +- apps/server/src/provider/providerMaintenanceRunner.test.ts | 39 +- apps/server/src/provider/providerMaintenanceRunner.ts | 4 +- apps/server/src/provider/providerSnapshot.ts | 5 + apps/server/src/provider/testFixtures/codexCollabMockPeer.cmd | 8 - apps/server/src/provider/testFixtures/codexCollabMockPeer.mjs | 6 +- apps/server/src/provider/testFixtures/codexCollabMockPeer.sh | 2 +- apps/server/src/provider/testFixtures/grok-text-mock-agent.mjs | 69 + apps/server/src/provider/testFixtures/opencodeProbeResponses.ts | 93 + apps/server/src/provider/testUtils/providerAdapterRegistryMock.ts | 74 - apps/server/src/provider/testUtils/providerRegistryMock.ts | 6 +- apps/server/src/provider/userInputAttachments.ts | 13 +- apps/server/src/pullRequest/AzureDevOpsPullRequestProvider.ts | 6 +- apps/server/src/pullRequest/BitbucketPullRequestProvider.test.ts | 44 + apps/server/src/pullRequest/BitbucketPullRequestProvider.ts | 6 + apps/server/src/pullRequest/ForgejoPullRequestProvider.ts | 33 +- apps/server/src/pullRequest/GitHubPullRequestCli.ts | 5 + apps/server/src/pullRequest/GitHubPullRequestProvider.test.ts | 73 + apps/server/src/pullRequest/GitHubPullRequestProvider.ts | 151 +- apps/server/src/pullRequest/GitLabPullRequestProvider.test.ts | 17 + apps/server/src/pullRequest/GitLabPullRequestProvider.ts | 6 + apps/server/src/pullRequest/PullRequestProvider.ts | 5 + apps/server/src/pullRequest/PullRequestReadCache.ts | 4 +- apps/server/src/pullRequest/PullRequestService.test.ts | 151 +- apps/server/src/pullRequest/PullRequestService.ts | 60 +- apps/server/src/pullRequest/gitHubConditionalChecks.test.ts | 219 + apps/server/src/pullRequest/gitHubConditionalChecks.ts | 152 + apps/server/src/pullRequest/linkedThreads.test.ts | 63 +- apps/server/src/pullRequest/linkedThreads.ts | 41 +- apps/server/src/relay/AgentAwarenessRelay.test.ts | 1799 ++-- apps/server/src/relay/AgentAwarenessRelay.ts | 334 +- apps/server/src/resourceTelemetry/DesktopTelemetryReceiver.ts | 8 +- apps/server/src/resourceTelemetry/HostResources.ts | 2 +- apps/server/src/resourceTelemetry/NativeTelemetryClient.ts | 4 +- apps/server/src/resourceTelemetry/ResourceMonitorBinary.test.ts | 2 +- apps/server/src/resourceTelemetry/ResourceMonitorBinary.ts | 4 +- apps/server/src/review/ReviewService.test.ts | 2 +- apps/server/src/rpcInitialItems.memory.test.ts | 27 + apps/server/src/rpcInitialItems.ts | 16 + apps/server/src/scheduledTasks/Schedule.test.ts | 136 + apps/server/src/scheduledTasks/Schedule.ts | 112 + apps/server/src/scheduledTasks/ScheduledTaskService.schedule.test.ts | 107 + apps/server/src/scheduledTasks/ScheduledTaskService.test.ts | 350 + apps/server/src/scheduledTasks/ScheduledTaskService.ts | 829 ++ apps/server/src/scheduling/Scheduler.integration.test.ts | 154 + apps/server/src/scheduling/Scheduler.test.ts | 86 + apps/server/src/scheduling/Scheduler.ts | 61 + apps/server/src/server.test.ts | 13534 ------------------------ apps/server/src/server.ts | 248 +- apps/server/src/serverActivation.test.ts | 6 +- apps/server/src/serverActivation.ts | 18 +- apps/server/src/serverLifecycleEvents.test.ts | 27 +- apps/server/src/serverLifecycleEvents.ts | 11 +- apps/server/src/serverLogger.ts | 6 +- apps/server/src/serverRuntimeStartup.reconcile.test.ts | 991 -- apps/server/src/serverRuntimeStartup.test.ts | 554 +- apps/server/src/serverRuntimeStartup.ts | 1047 +- apps/server/src/serverRuntimeStartup.worktreeSetup.test.ts | 156 - apps/server/src/serverSettings.test.ts | 145 +- apps/server/src/serverSettings.ts | 159 +- apps/server/src/sourceControl/GitHubCli.test.ts | 55 + apps/server/src/sourceControl/GitHubCli.ts | 38 +- apps/server/src/sourceControl/PrTemplateDetection.test.ts | 2 +- apps/server/src/sourceControl/SourceControlDiscovery.test.ts | 42 + apps/server/src/sourceControl/SourceControlDiscovery.ts | 4 +- apps/server/src/sourceControl/SourceControlProviderRegistry.ts | 4 +- apps/server/src/sourceControl/SourceControlRepositoryService.ts | 4 +- apps/server/src/startupAccess.ts | 4 +- apps/server/src/storageCleanup.test.ts | 106 + apps/server/src/storageCleanup.ts | 149 +- apps/server/src/telemetry/AnalyticsService.ts | 2 +- apps/server/src/terminal/Manager.test.ts | 79 +- apps/server/src/terminal/Manager.ts | 66 +- apps/server/src/testkit/RpcInitialMemory.fixture.mjs | 130 + apps/server/src/textGeneration/AntigravityTextGeneration.test.ts | 51 +- apps/server/src/textGeneration/AntigravityTextGeneration.ts | 12 +- apps/server/src/textGeneration/ClaudeTextGeneration.ts | 5 +- apps/server/src/textGeneration/CodexTextGeneration.test.ts | 76 +- apps/server/src/textGeneration/CodexTextGeneration.ts | 43 +- apps/server/src/textGeneration/CursorTextGeneration.test.ts | 604 +- apps/server/src/textGeneration/CursorTextGeneration.ts | 236 +- apps/server/src/textGeneration/GrokTextGeneration.test.ts | 2 +- apps/server/src/textGeneration/GrokTextGeneration.ts | 8 +- apps/server/src/textGeneration/OpenCode2TextGeneration.fixture.ts | 371 + apps/server/src/textGeneration/OpenCode2TextGeneration.test.ts | 266 + apps/server/src/textGeneration/OpenCode2TextGeneration.ts | 221 + apps/server/src/textGeneration/OpenCodeTextGeneration.ts | 24 +- apps/server/src/textGeneration/PiTextGeneration.ts | 256 + apps/server/src/textGeneration/TextGeneration.test.ts | 2 +- apps/server/src/textGeneration/TextGeneration.ts | 8 +- apps/server/src/textGeneration/TextGenerationPrompts.test.ts | 33 + apps/server/src/textGeneration/TextGenerationPrompts.ts | 25 +- apps/server/src/usage/UsageLimitSources.ts | 4 +- apps/server/src/usage/UsageService.ts | 6 +- apps/server/src/usage/cursorUsageReader.test.ts | 2 +- apps/server/src/usage/cursorUsageReader.ts | 2 +- apps/server/src/vcs/GitVcsDriver.test.ts | 110 + apps/server/src/vcs/GitVcsDriver.ts | 21 +- apps/server/src/vcs/GitVcsDriverCore.test.ts | 97 +- apps/server/src/vcs/GitVcsDriverCore.ts | 49 +- apps/server/src/vcs/VcsStatusBroadcaster.ts | 8 +- apps/server/src/ws.test.ts | 50 + apps/server/src/ws.ts | 3791 ++++--- apps/server/test/ActivityPayloadProjection.test.ts | 611 -- apps/web/src/appearanceFonts.test.ts | 15 + apps/web/src/appearanceFonts.ts | 6 + apps/web/src/cloud/linkEnvironment.test.ts | 20 +- apps/web/src/cloud/linkEnvironment.ts | 6 +- apps/web/src/components/AgentsPanel.tsx | 584 -- apps/web/src/components/AppSidebarLayout.tsx | 3 + apps/web/src/components/BranchPicker.tsx | 304 + apps/web/src/components/BranchToolbar.logic.test.ts | 38 + apps/web/src/components/BranchToolbar.logic.ts | 10 + apps/web/src/components/BranchToolbar.tsx | 55 +- apps/web/src/components/BranchToolbarBranchSelector.tsx | 403 +- apps/web/src/components/BranchToolbarEnvModeSelector.tsx | 190 +- apps/web/src/components/BranchToolbarEnvironmentSelector.tsx | 93 +- apps/web/src/components/ChatMarkdown.test.tsx | 17 + apps/web/src/components/ChatMarkdown.workspace-images.test.tsx | 447 - apps/web/src/components/ChatView.logic.test.ts | 3298 +++--- apps/web/src/components/ChatView.logic.ts | 408 +- apps/web/src/components/ChatView.tsx | 4113 +++++--- apps/web/src/components/CommandPalette.logic.test.ts | 12 +- apps/web/src/components/CommandPalette.logic.ts | 2 +- apps/web/src/components/CommandPalette.tsx | 140 +- apps/web/src/components/ComposerContextLabel.tsx | 35 + apps/web/src/components/ComposerPromptEditorTiptap.tsx | 19 +- apps/web/src/components/ContextChip.tsx | 2 + apps/web/src/components/DiffPanel.tsx | 85 +- apps/web/src/components/GitActionsControl.logic.test.ts | 129 +- apps/web/src/components/GitActionsControl.logic.ts | 135 +- apps/web/src/components/GitActionsControl.tsx | 634 +- apps/web/src/components/Icons.tsx | 157 +- apps/web/src/components/LegacySidebar.tsx | 31 +- apps/web/src/components/LegacyThreadMigrationToast.tsx | 45 + apps/web/src/components/ProjectScriptsControl.tsx | 191 +- apps/web/src/components/ProviderUpdatePrimaryNotification.tsx | 25 +- apps/web/src/components/QueuedMessageSender.test.tsx | 231 - apps/web/src/components/QueuedMessageSender.tsx | 100 - apps/web/src/components/RightPanelTabs.test.tsx | 3 - apps/web/src/components/RightPanelTabs.tsx | 52 +- apps/web/src/components/Sidebar.drag.test.ts | 36 + apps/web/src/components/Sidebar.drag.ts | 3 + apps/web/src/components/Sidebar.logic.test.ts | 1622 ++- apps/web/src/components/Sidebar.logic.ts | 314 +- apps/web/src/components/Sidebar.pointer.test.ts | 47 +- apps/web/src/components/Sidebar.pointer.ts | 11 +- apps/web/src/components/Sidebar.tsx | 621 +- apps/web/src/components/ThreadCommandSubtitle.tsx | 4 + apps/web/src/components/ThreadContextChip.tsx | 39 + apps/web/src/components/ThreadHoverCard.tsx | 34 + apps/web/src/components/ThreadNotificationCoordinator.badge.test.tsx | 68 +- apps/web/src/components/ThreadNotificationCoordinator.test.tsx | 108 +- apps/web/src/components/ThreadNotificationCoordinator.tsx | 44 +- apps/web/src/components/ThreadRouteView.tsx | 29 +- apps/web/src/components/ThreadStatusIndicators.subscriptions.test.tsx | 180 + apps/web/src/components/ThreadStatusIndicators.test.ts | 544 + apps/web/src/components/ThreadStatusIndicators.tsx | 500 +- apps/web/src/components/WorktreeBaseBranchPicker.tsx | 126 + apps/web/src/components/auth/PairingRouteSurface.tsx | 17 +- apps/web/src/components/chat/AgentElapsed.tsx | 62 + apps/web/src/components/chat/ChangedFilesTree.test.tsx | 12 +- apps/web/src/components/chat/ChangedFilesTree.tsx | 30 +- apps/web/src/components/chat/ChatCanvas.tsx | 133 + apps/web/src/components/chat/ChatCanvasContext.ts | 15 + apps/web/src/components/chat/ChatComposer.tsx | 685 +- apps/web/src/components/chat/ChatHeader.test.ts | 63 +- apps/web/src/components/chat/ChatHeader.tsx | 255 +- apps/web/src/components/chat/CompactComposerControlsMenu.tsx | 13 +- apps/web/src/components/chat/ComposerCommandMenu.tsx | 12 + apps/web/src/components/chat/ComposerPendingApprovalActions.test.tsx | 11 +- apps/web/src/components/chat/ComposerPendingApprovalActions.tsx | 10 +- apps/web/src/components/chat/ComposerPendingApprovalPanel.test.tsx | 14 +- apps/web/src/components/chat/ComposerPendingApprovalPanel.tsx | 4 +- apps/web/src/components/chat/ComposerPendingUserInputPanel.test.tsx | 5 +- apps/web/src/components/chat/ComposerPendingUserInputPanel.tsx | 15 +- apps/web/src/components/chat/ComposerPrimaryActions.test.tsx | 38 +- apps/web/src/components/chat/ComposerPrimaryActions.tsx | 164 +- apps/web/src/components/chat/ComposerSurface.tsx | 8 +- apps/web/src/components/chat/ContextWindowMeter.logic.test.ts | 8 + apps/web/src/components/chat/ContextWindowMeter.logic.ts | 8 + apps/web/src/components/chat/ContextWindowMeter.test.tsx | 62 - apps/web/src/components/chat/ContextWindowMeter.tsx | 13 +- apps/web/src/components/chat/MessagesTimeline.logic.test.ts | 4153 +++++--- apps/web/src/components/chat/MessagesTimeline.logic.ts | 1292 ++- apps/web/src/components/chat/MessagesTimeline.test.tsx | 2304 +++-- apps/web/src/components/chat/MessagesTimeline.tsx | 2827 ++--- apps/web/src/components/chat/ModelListRow.tsx | 14 +- apps/web/src/components/chat/ModelPickerContent.tsx | 6 + apps/web/src/components/chat/ModelPickerSidebar.tsx | 2 + apps/web/src/components/chat/OpenInPicker.logic.ts | 22 + apps/web/src/components/chat/OpenInPicker.test.ts | 65 +- apps/web/src/components/chat/OpenInPicker.tsx | 91 +- apps/web/src/components/chat/OpenInPickerShortcut.ts | 43 + apps/web/src/components/chat/PanelLayoutControls.tsx | 128 +- apps/web/src/components/chat/ProposedPlanCard.tsx | 2 + apps/web/src/components/chat/ProviderInstanceIcon.test.ts | 32 + apps/web/src/components/chat/ProviderInstanceIcon.tsx | 74 +- apps/web/src/components/chat/ProviderModelPicker.tsx | 7 +- apps/web/src/components/chat/ProviderSubagentBar.tsx | 89 + apps/web/src/components/chat/QueuedRunsControl.test.tsx | 171 + apps/web/src/components/chat/QueuedRunsControl.tsx | 496 + apps/web/src/components/chat/SubagentTooltipContent.tsx | 139 + apps/web/src/components/chat/ThreadAutomationsPanel.tsx | 217 + apps/web/src/components/chat/ThreadContextDragGhost.tsx | 26 + apps/web/src/components/chat/ThreadDetailsCard.tsx | 156 + apps/web/src/components/chat/ThreadDetailsControl.tsx | 107 + apps/web/src/components/chat/ThreadDetailsPanel.test.tsx | 96 + apps/web/src/components/chat/ThreadDetailsPanel.tsx | 225 + apps/web/src/components/chat/ThreadDetailsPrRow.test.tsx | 151 + apps/web/src/components/chat/ThreadDetailsPrRow.tsx | 449 + apps/web/src/components/chat/ThreadDetailsPrRows.test.tsx | 107 + apps/web/src/components/chat/ThreadDetailsPrRows.tsx | 108 + apps/web/src/components/chat/ThreadDetailsSection.tsx | 45 + apps/web/src/components/chat/ThreadErrorBanner.tsx | 8 +- apps/web/src/components/chat/ThreadRelationshipIcon.tsx | 89 + apps/web/src/components/chat/ThreadRelationshipsControl.agents.test.tsx | 497 + apps/web/src/components/chat/ThreadRelationshipsControl.test.tsx | 49 + apps/web/src/components/chat/ThreadRelationshipsControl.tsx | 484 + apps/web/src/components/chat/TimelineSystemDivider.tsx | 67 + apps/web/src/components/chat/UsageLimitRecoveryBanner.tsx | 98 + apps/web/src/components/chat/V2ItemInspector.tsx | 234 + apps/web/src/components/chat/V2LifecycleRow.tsx | 529 + apps/web/src/components/chat/WorkLog.tsx | 135 + apps/web/src/components/chat/WorktreeSetupCard.tsx | 86 +- apps/web/src/components/chat/chatCanvasLayout.test.ts | 253 + apps/web/src/components/chat/chatCanvasLayout.ts | 166 + apps/web/src/components/chat/externalLinkContextMenu.test.ts | 30 +- apps/web/src/components/chat/externalLinkContextMenu.ts | 12 +- apps/web/src/components/chat/providerIconUtils.ts | 20 - apps/web/src/components/chat/queuedMessageEdit.test.ts | 123 + apps/web/src/components/chat/queuedMessageEdit.ts | 54 + apps/web/src/components/chat/sendQueuedMessage.ts | 211 - apps/web/src/components/chat/threadContextDrag.ts | 86 + apps/web/src/components/chat/threadDetailsCardLayout.test.ts | 88 + apps/web/src/components/chat/threadDetailsCardLayout.ts | 41 + apps/web/src/components/chat/threadDetailsPanelStyles.ts | 51 + apps/web/src/components/chat/timelineMinimapItems.test.ts | 2 +- apps/web/src/components/chat/timelineScrollAnchoring.test.tsx | 93 + apps/web/src/components/chat/timelineScrollAnchoring.ts | 42 +- apps/web/src/components/chat/useAssistantCitationTarget.ts | 6 +- apps/web/src/components/composerContextPresentation.tsx | 22 +- apps/web/src/components/composerFooterLayout.test.ts | 47 + apps/web/src/components/composerFooterLayout.ts | 35 +- apps/web/src/components/contextPresentationRegistry.ts | 4 + apps/web/src/components/files/FilePreviewPanel.tsx | 1 - apps/web/src/components/files/fileEditorLanguageReadiness.test.ts | 19 +- apps/web/src/components/onboarding/WelcomeWizard.tsx | 40 +- apps/web/src/components/preview/PreviewPanelShell.tsx | 141 +- apps/web/src/components/preview/ThreadPreviewMiniPlayer.tsx | 135 +- apps/web/src/components/preview/addBrowserSurface.test.ts | 2 +- apps/web/src/components/preview/previewMiniPlayerLayout.test.ts | 134 +- apps/web/src/components/preview/previewMiniPlayerLayout.ts | 165 +- apps/web/src/components/pullRequest/PullRequestChecksPopover.tsx | 125 +- apps/web/src/components/pullRequest/PullRequestListFilters.tsx | 1 - apps/web/src/components/pullRequest/pullRequestDetail.logic.test.ts | 127 + apps/web/src/components/pullRequest/pullRequestDetail.logic.ts | 130 +- apps/web/src/components/pullRequest/usePullRequestActions.ts | 352 + apps/web/src/components/settings/AcpRegistryIcon.test.ts | 206 + apps/web/src/components/settings/AcpRegistryIcon.tsx | 170 + apps/web/src/components/settings/AcpRegistrySearchStep.test.tsx | 328 + apps/web/src/components/settings/AcpRegistrySearchStep.tsx | 279 + apps/web/src/components/settings/AcpSessionManagementSection.test.tsx | 294 + apps/web/src/components/settings/AcpSessionManagementSection.tsx | 569 ++ apps/web/src/components/settings/AddProviderInstanceDialog.environment.test.tsx | 228 +- apps/web/src/components/settings/AddProviderInstanceDialog.logic.ts | 104 +- apps/web/src/components/settings/AddProviderInstanceDialog.test.ts | 75 +- apps/web/src/components/settings/AddProviderInstanceDialog.tsx | 716 +- apps/web/src/components/settings/AddProviderInstanceWizardSteps.tsx | 18 +- apps/web/src/components/settings/BranchNamingSettings.tsx | 162 + apps/web/src/components/settings/ConnectionsSettings.tsx | 7 +- apps/web/src/components/settings/KeybindingsSettings.logic.test.ts | 30 +- apps/web/src/components/settings/KeybindingsSettings.logic.ts | 12 +- apps/web/src/components/settings/ProviderAccentColorPicker.tsx | 65 +- apps/web/src/components/settings/ProviderAuthTerminal.tsx | 80 + apps/web/src/components/settings/ProviderAuthenticationSection.tsx | 475 + apps/web/src/components/settings/ProviderInstanceCard.test.ts | 73 +- apps/web/src/components/settings/ProviderInstanceCard.tsx | 256 +- apps/web/src/components/settings/ProviderModelsSection.tsx | 1 + apps/web/src/components/settings/ProviderSettingsForm.test.ts | 28 + apps/web/src/components/settings/ProviderSettingsPanel.environment.test.tsx | 252 +- apps/web/src/components/settings/ProviderSettingsPanel.tsx | 192 +- apps/web/src/components/settings/ProviderSetupSection.test.tsx | 79 +- apps/web/src/components/settings/ProviderSetupSection.tsx | 233 +- apps/web/src/components/settings/ProviderWizardAuthenticationStep.tsx | 101 + apps/web/src/components/settings/ScheduledTasksSettings.tsx | 930 ++ apps/web/src/components/settings/SettingsPanels.restore.test.tsx | 91 + apps/web/src/components/settings/SettingsPanels.tsx | 204 +- apps/web/src/components/settings/SettingsSidebarNav.tsx | 2 + apps/web/src/components/settings/SourceControlWritingSettings.tsx | 2 + apps/web/src/components/settings/ThemeSearchSection.tsx | 10 +- apps/web/src/components/settings/colorPickers.test.tsx | 26 +- apps/web/src/components/settings/customModelEditor.logic.ts | 16 + apps/web/src/components/settings/providerDriverMeta.ts | 53 +- apps/web/src/components/settings/providerStatus.test.ts | 17 + apps/web/src/components/settings/providerStatus.ts | 3 +- apps/web/src/components/settings/scheduledTasksSettings.logic.test.ts | 264 + apps/web/src/components/settings/scheduledTasksSettings.logic.ts | 144 + apps/web/src/components/settings/settingsScopeNavigation.test.ts | 56 +- apps/web/src/components/settings/settingsSearch.test.ts | 4 + apps/web/src/components/settings/settingsSearch.ts | 28 + apps/web/src/components/sidebar/SidebarChrome.tsx | 9 +- apps/web/src/components/threadActionMenu.logic.ts | 2 +- apps/web/src/components/ui/collapsible-section-header.tsx | 49 + apps/web/src/components/ui/collapsible.tsx | 10 +- apps/web/src/components/ui/popover.tsx | 18 +- apps/web/src/components/ui/wizard.tsx | 7 +- apps/web/src/components/usage/UsagePage.tsx | 10 +- apps/web/src/components/usage/UsageProviderChart.tsx | 9 +- apps/web/src/components/usage/usageProviders.ts | 32 +- apps/web/src/composer-logic.test.ts | 191 +- apps/web/src/composer-logic.ts | 51 +- apps/web/src/composerDraftStore.test.ts | 265 +- apps/web/src/composerDraftStore.ts | 327 +- apps/web/src/connection/desktopLocal.test.ts | 63 +- apps/web/src/connection/desktopLocal.ts | 21 +- apps/web/src/connection/onboarding.ts | 8 +- apps/web/src/connection/platform.ts | 38 +- apps/web/src/connection/runtime.ts | 16 +- apps/web/src/connection/storage.ts | 125 +- apps/web/src/diffFileActions.test.ts | 2 +- apps/web/src/diffPanelStore.test.ts | 12 +- apps/web/src/diffPanelStore.ts | 10 +- apps/web/src/environments/primary/httpClient.ts | 14 +- apps/web/src/hooks/useElementWidth.ts | 25 + apps/web/src/hooks/useHandleNewThread.ts | 4 +- apps/web/src/hooks/useLiveRefresh.test.ts | 95 +- apps/web/src/hooks/useLiveRefresh.ts | 41 +- apps/web/src/hooks/usePreviewPanelInlineSize.ts | 107 + apps/web/src/hooks/usePullRequestChecksRefresh.test.ts | 86 + apps/web/src/hooks/usePullRequestChecksRefresh.ts | 20 + apps/web/src/hooks/useSettings.ts | 16 + apps/web/src/hooks/useThreadActionMenu.ts | 12 +- apps/web/src/hooks/useThreadActions.test.ts | 2 +- apps/web/src/hooks/useThreadActions.ts | 39 +- apps/web/src/hooks/useThreadVisitedMigration.ts | 45 + apps/web/src/hooks/useTurnDiffSummaries.ts | 20 +- apps/web/src/hooks/useWorkspaceMutationRefresh.test.ts | 52 +- apps/web/src/hooks/useWorkspaceMutationRefresh.ts | 35 - apps/web/src/index.css | 79 +- apps/web/src/keybindings.test.ts | 102 +- apps/web/src/keybindings.ts | 6 +- apps/web/src/lib/backgroundActivityReporter.ts | 2 +- apps/web/src/lib/composerContextRecords.ts | 26 + apps/web/src/lib/contextWindow.test.ts | 135 +- apps/web/src/lib/contextWindow.ts | 134 +- apps/web/src/lib/orchestrationV2Timeline.test.ts | 54 + apps/web/src/lib/orchestrationV2Timeline.ts | 22 + apps/web/src/lib/threadSort.test.ts | 20 +- apps/web/src/lib/utils.ts | 4 - apps/web/src/modelSelection.test.ts | 29 + apps/web/src/onboarding/firstRun.logic.test.ts | 8 +- apps/web/src/onboarding/firstRun.logic.ts | 8 +- apps/web/src/panelAnimations.ts | 37 - apps/web/src/pendingUserInput.test.ts | 24 + apps/web/src/pendingUserInput.ts | 11 + apps/web/src/performance.bench.ts | 32 +- apps/web/src/previewMiniPlayerStore.test.ts | 15 + apps/web/src/previewMiniPlayerStore.ts | 31 +- apps/web/src/providerInstances.test.ts | 90 + apps/web/src/providerInstances.ts | 65 +- apps/web/src/providerUpdateDismissal.test.ts | 23 + apps/web/src/providerUpdateDismissal.ts | 57 +- apps/web/src/questionAttachments.ts | 4 +- apps/web/src/queuedMessageStore.test.ts | 194 - apps/web/src/queuedMessageStore.ts | 266 - apps/web/src/rightPanelLayout.ts | 2 + apps/web/src/rightPanelStore.test.ts | 134 +- apps/web/src/rightPanelStore.ts | 191 +- apps/web/src/routeTree.gen.ts | 21 + apps/web/src/routes/__root.tsx | 4 +- apps/web/src/routes/_chat.pull-requests.tsx | 10 +- apps/web/src/routes/settings.scheduled-tasks.tsx | 14 + apps/web/src/session-logic.command-output.test.ts | 172 - apps/web/src/session-logic.runtime-diagnostics.test.ts | 184 +- apps/web/src/session-logic.test.ts | 3689 +++---- apps/web/src/session-logic.ts | 2313 ++--- apps/web/src/state/entities.ts | 120 +- apps/web/src/state/environments.ts | 26 +- apps/web/src/state/presentation.ts | 10 +- apps/web/src/state/queries.ts | 9 - apps/web/src/state/query.ts | 9 +- apps/web/src/state/server.ts | 13 + apps/web/src/state/shell.test.ts | 3 +- apps/web/src/state/sourceControlActions.ts | 25 +- apps/web/src/state/threads.test.ts | 110 +- apps/web/src/state/threads.ts | 16 +- apps/web/src/state/v2ItemSupport.ts | 62 + apps/web/src/state/waitForAtomValue.test.ts | 57 + apps/web/src/state/waitForAtomValue.ts | 56 + apps/web/src/test-fixtures.ts | 227 + apps/web/src/threadRoutes.test.ts | 38 +- apps/web/src/threadRoutes.ts | 11 +- apps/web/src/threadSync.test.ts | 9 +- apps/web/src/timestampFormat.test.ts | 62 + apps/web/src/timestampFormat.ts | 34 +- apps/web/src/types.ts | 59 +- apps/web/src/uiStateStore.test.ts | 1 + apps/web/src/versionSkew.test.ts | 9 + apps/web/src/versionSkew.ts | 14 + apps/web/src/worktreeCleanup.test.ts | 12 +- docs/README.md | 2 +- docs/internals/assistant-citations.md | 12 +- docs/internals/composer-context-references.md | 4 +- docs/internals/context-handoffs.md | 19 + docs/internals/legacy-orchestration-migration.md | 59 + docs/internals/mobile-development.md | 6 + docs/internals/open-source-licenses.md | 2 + docs/internals/overview.md | 48 +- docs/internals/performance-regressions.md | 104 + docs/internals/providers.md | 51 +- docs/internals/server-updates.md | 20 + docs/operations/background-verification.md | 52 + docs/operations/observability.md | 33 +- docs/orchestration-v2/README.md | 166 + docs/orchestration-v2/core-graph-and-data-model.md | 663 ++ docs/orchestration-v2/entity-ids-and-correlation.md | 231 + docs/orchestration-v2/feature-lifecycles.md | 535 + docs/orchestration-v2/orchestrator-mcp-server.md | 495 + docs/orchestration-v2/provider-capability-system.md | 284 + docs/orchestration-v2/provider-switching-and-context.md | 233 + docs/orchestration-v2/testing-strategy.md | 233 + docs/orchestration-v2/thread-lineage-and-context-transfer.md | 279 + docs/user/activity-log.md | 18 + docs/user/appearance.md | 8 + docs/user/composer.md | 64 +- docs/user/cursor.md | 82 + docs/user/install.md | 5 +- docs/user/keybindings.md | 15 +- docs/user/permission-modes.md | 13 +- docs/user/portable-handoffs.md | 44 + docs/user/project-settings.md | 25 + docs/user/providers-acp.md | 126 + docs/user/providers-antigravity.md | 23 +- docs/user/providers-opencode.md | 17 + docs/user/providers-pi.md | 67 + docs/user/thread-migration.md | 72 + docs/user/thread-sidebar.md | 36 + docs/user/updating.md | 15 + infra/relay/scripts/android-push-watch.ts | 22 +- infra/relay/src/agentActivity/AgentActivityPublisher.test.ts | 8 +- infra/relay/src/agentActivity/ApnsClient.ts | 4 +- infra/relay/src/agentActivity/FcmClient.test.ts | 22 +- infra/relay/src/agentActivity/FcmDeliveries.test.ts | 112 +- infra/relay/src/agentActivity/MobileRegistrations.test.ts | 4 +- infra/relay/src/environments/ManagedEndpointReaper.ts | 7 +- knip.jsonc | 2 + package.json | 1 + packages/client-runtime/package.json | 62 +- packages/client-runtime/src/composerThreadItems.test.ts | 50 + packages/client-runtime/src/composerThreadItems.ts | 51 + packages/client-runtime/src/connection/index.ts | 17 +- packages/client-runtime/src/connection/layer.ts | 2 +- packages/client-runtime/src/connection/onboarding.test.ts | 10 +- packages/client-runtime/src/connection/registry.test.ts | 9 +- packages/client-runtime/src/connection/resolver.test.ts | 22 +- packages/client-runtime/src/connection/resolver.ts | 7 +- packages/client-runtime/src/connection/supervisor.test.ts | 16 +- packages/client-runtime/src/handoff.test.ts | 65 + packages/client-runtime/src/handoff.ts | 64 + packages/client-runtime/src/operations/commands.performance.test.ts | 285 + packages/client-runtime/src/operations/commands.test.ts | 876 +- packages/client-runtime/src/operations/commands.ts | 1210 ++- packages/client-runtime/src/operations/index.ts | 1 + packages/client-runtime/src/operations/projects.test.ts | 3 +- packages/client-runtime/src/operations/projects.ts | 6 +- packages/client-runtime/src/operations/threadTitle.test.ts | 47 + packages/client-runtime/src/operations/threadTitle.ts | 33 + packages/client-runtime/src/pendingRequests.test.ts | 516 - packages/client-runtime/src/pendingRequests.ts | 198 - packages/client-runtime/src/platform/index.ts | 9 +- packages/client-runtime/src/platform/orchestrationCache.test.ts | 186 + packages/client-runtime/src/platform/orchestrationCache.ts | 36 + packages/client-runtime/src/platform/persistence.test.ts | 55 - packages/client-runtime/src/platform/persistence.ts | 28 +- packages/client-runtime/src/remotePerformance.bench.ts | 88 +- packages/client-runtime/src/rpc/client.ts | 36 +- packages/client-runtime/src/rpc/session.test.ts | 2 +- packages/client-runtime/src/rpc/session.ts | 3 +- packages/client-runtime/src/state/archivedThreads.test.ts | 4 +- packages/client-runtime/src/state/archivedThreads.ts | 6 +- packages/client-runtime/src/state/assets.test.ts | 33 +- packages/client-runtime/src/state/boundedThreadSnapshotHttp.test.ts | 214 + packages/client-runtime/src/state/boundedThreadSnapshotHttp.ts | 162 + packages/client-runtime/src/state/cachePersistence.ts | 19 + packages/client-runtime/src/state/composerDispatch.test.ts | 72 + packages/client-runtime/src/state/composerDispatch.ts | 32 + packages/client-runtime/src/state/deviceHubAccess.ts | 10 +- packages/client-runtime/src/state/entities.test.ts | 1016 +- packages/client-runtime/src/state/environmentHttpAuth.test.ts | 273 +- packages/client-runtime/src/state/environmentHttpAuth.ts | 15 + packages/client-runtime/src/state/itemSupport.test.ts | 205 + packages/client-runtime/src/state/itemSupport.ts | 138 + packages/client-runtime/src/state/models.ts | 300 +- packages/client-runtime/src/state/orchestration.ts | 39 +- packages/client-runtime/src/state/orchestrationV2Projection.test.ts | 351 + packages/client-runtime/src/state/orchestrationV2Projection.ts | 286 + packages/client-runtime/src/state/orchestrationV2TestFixtures.ts | 110 + packages/client-runtime/src/state/presentation.test.ts | 200 + packages/client-runtime/src/state/presentation.ts | 150 +- packages/client-runtime/src/state/projectEntities.ts | 4 +- packages/client-runtime/src/state/providerInstanceDisplay.test.ts | 28 + packages/client-runtime/src/state/providerInstanceDisplay.ts | 25 +- packages/client-runtime/src/state/pullRequestDiffHttp.ts | 22 +- packages/client-runtime/src/state/pullRequestRouting.ts | 52 +- packages/client-runtime/src/state/pullRequests.test.ts | 120 +- packages/client-runtime/src/state/pullRequests.ts | 33 +- packages/client-runtime/src/state/runtime.ts | 77 +- packages/client-runtime/src/state/server.test.ts | 62 + packages/client-runtime/src/state/server.ts | 216 +- packages/client-runtime/src/state/serverUsage.test.ts | 22 +- packages/client-runtime/src/state/session.ts | 26 +- packages/client-runtime/src/state/sharedSettings.test.ts | 2 + packages/client-runtime/src/state/sharedSettings.ts | 2 + packages/client-runtime/src/state/shell-sync.test.ts | 650 +- packages/client-runtime/src/state/shell.test.ts | 109 +- packages/client-runtime/src/state/shell.ts | 119 +- packages/client-runtime/src/state/shellReducer.test.ts | 530 +- packages/client-runtime/src/state/shellReducer.ts | 153 +- packages/client-runtime/src/state/shellSnapshotHttp.ts | 38 +- packages/client-runtime/src/state/snapshots.ts | 4 +- packages/client-runtime/src/state/sourceControl.ts | 4 +- packages/client-runtime/src/state/subagentDisplay.test.ts | 38 + packages/client-runtime/src/state/subagentDisplay.ts | 46 + packages/client-runtime/src/state/subagentRuntime.test.ts | 893 -- packages/client-runtime/src/state/subagentRuntime.ts | 855 +- packages/client-runtime/src/state/threadCheckpoints.ts | 52 + packages/client-runtime/src/state/threadCommands.test.ts | 92 +- packages/client-runtime/src/state/threadCommands.ts | 156 +- packages/client-runtime/src/state/threadDetail.test.ts | 328 + packages/client-runtime/src/state/threadDetail.ts | 280 +- packages/client-runtime/src/state/threadExecution.test.ts | 524 + packages/client-runtime/src/state/threadExecution.ts | 346 + packages/client-runtime/src/state/threadFeedback.test.ts | 16 + packages/client-runtime/src/state/threadFeedback.ts | 46 +- packages/client-runtime/src/state/threadHistoryController.test.ts | 63 + packages/client-runtime/src/state/threadHistoryController.ts | 93 + packages/client-runtime/src/state/threadHistoryHttp.ts | 40 + packages/client-runtime/src/state/threadHistoryMerge.test.ts | 416 + packages/client-runtime/src/state/threadHistoryMerge.ts | 156 + packages/client-runtime/src/state/threadLifecycle.ts | 18 +- packages/client-runtime/src/state/threadReducer.test.ts | 1711 ---- packages/client-runtime/src/state/threadReducer.ts | 875 -- packages/client-runtime/src/state/threadRelationships.test.ts | 474 + packages/client-runtime/src/state/threadRelationships.ts | 248 + packages/client-runtime/src/state/threadRequests.test.ts | 153 + packages/client-runtime/src/state/threadRequests.ts | 152 + packages/client-runtime/src/state/threadSettled.ts | 99 +- packages/client-runtime/src/state/threadShell.test.ts | 201 + packages/client-runtime/src/state/threadShell.ts | 38 +- packages/client-runtime/src/state/threadSnapshotHttp.ts | 135 +- packages/client-runtime/src/state/threadSnoozed.test.ts | 6 +- packages/client-runtime/src/state/threadSort.test.ts | 30 +- packages/client-runtime/src/state/threadSort.ts | 17 +- packages/client-runtime/src/state/threadState.ts | 37 +- packages/client-runtime/src/state/threadSubagents.test.ts | 151 + packages/client-runtime/src/state/threadSubagents.ts | 90 + packages/client-runtime/src/state/threadWorkflows.test.ts | 424 + packages/client-runtime/src/state/threadWorkflows.ts | 190 + packages/client-runtime/src/state/threads-atoms.test.ts | 864 +- packages/client-runtime/src/state/threads-pagination.test.ts | 664 -- packages/client-runtime/src/state/threads-sync.test.ts | 1478 ++- packages/client-runtime/src/state/threads.ts | 1135 ++- packages/client-runtime/src/state/turnItemPresentation.test.ts | 36 + packages/client-runtime/src/state/turnItemPresentation.ts | 8 + packages/client-runtime/src/state/vcs.ts | 14 +- packages/client-runtime/src/state/vcsAction.test.ts | 66 +- packages/client-runtime/src/state/vcsAction.ts | 24 +- packages/client-runtime/src/state/vcsRefInvalidation.ts | 4 +- packages/client-runtime/src/t3ToolSummary.test.ts | 251 + packages/client-runtime/src/t3ToolSummary.ts | 393 + packages/client-runtime/src/userMessage.test.ts | 70 + packages/client-runtime/src/userMessage.ts | 31 + packages/client-runtime/src/work-log/commandLabel.test.ts | 18 +- packages/client-runtime/src/work-log/commandLabel.ts | 17 + packages/client-runtime/src/work-log/presentation.test.ts | 404 +- packages/client-runtime/src/work-log/presentation.ts | 555 +- packages/client-runtime/src/work-log/toolPresentation.test.ts | 12 + packages/client-runtime/src/work-log/toolPresentation.ts | 8 + packages/client-runtime/src/work-log/userInput.ts | 152 +- packages/contracts/src/acpRegistry.test.ts | 180 + packages/contracts/src/acpRegistry.ts | 347 + packages/contracts/src/agentSessions.ts | 5 - packages/contracts/src/applicationEvent.test.ts | 63 + packages/contracts/src/applicationEvent.ts | 124 + packages/contracts/src/assets.test.ts | 2 +- packages/contracts/src/assets.ts | 4 +- packages/contracts/src/baseSchemas.ts | 28 + packages/contracts/src/chatAttachment.test.ts | 82 + packages/contracts/src/chatAttachment.ts | 260 + packages/contracts/src/checkpointDiff.test.ts | 75 + packages/contracts/src/checkpointDiff.ts | 65 + packages/contracts/src/composerContext.test.ts | 47 +- packages/contracts/src/composerContext.ts | 17 + packages/contracts/src/environment.test.ts | 16 + packages/contracts/src/environment.ts | 22 +- packages/contracts/src/environmentHttp.ts | 109 +- packages/contracts/src/git.ts | 9 +- packages/contracts/src/index.ts | 18 +- packages/contracts/src/ipc.ts | 2 +- packages/contracts/src/keybindings.test.ts | 5 + packages/contracts/src/keybindings.ts | 4 + packages/contracts/src/model.ts | 7 + packages/contracts/src/modelSelection.test.ts | 124 + packages/contracts/src/modelSelection.ts | 63 + packages/contracts/src/orchestration.test.ts | 1690 --- packages/contracts/src/orchestration.ts | 2441 ----- packages/contracts/src/orchestrationDispatch.test.ts | 31 + packages/contracts/src/orchestrationDispatch.ts | 16 + packages/contracts/src/orchestrationProject.ts | 28 + packages/contracts/src/orchestrationV2.test.ts | 1250 +++ packages/contracts/src/orchestrationV2.ts | 3301 ++++++ packages/contracts/src/orchestratorMcp.test.ts | 166 + packages/contracts/src/orchestratorMcp.ts | 589 ++ packages/contracts/src/project.test.ts | 179 + packages/contracts/src/project.ts | 208 + packages/contracts/src/provider.ts | 8 +- packages/contracts/src/providerInstance.ts | 19 + packages/contracts/src/providerPolicy.ts | 84 + packages/contracts/src/providerRuntime.test.ts | 21 +- packages/contracts/src/providerRuntime.ts | 47 +- packages/contracts/src/pullRequest.ts | 6 + packages/contracts/src/rpc.test.ts | 41 +- packages/contracts/src/rpc.ts | 364 +- packages/contracts/src/scheduledTask.test.ts | 52 + packages/contracts/src/scheduledTask.ts | 185 + packages/contracts/src/server.test.ts | 2 + packages/contracts/src/server.ts | 43 + packages/contracts/src/settings.test.ts | 96 + packages/contracts/src/settings.ts | 182 +- packages/contracts/src/t3ProjectFile.test.ts | 6 +- packages/contracts/src/t3ProjectFile.ts | 2 +- packages/contracts/src/threadMetadataMcp.test.ts | 100 + packages/contracts/src/threadMetadataMcp.ts | 122 + packages/contracts/src/threadPullRequest.test.ts | 56 + packages/contracts/src/threadPullRequest.ts | 103 + packages/contracts/src/threadSearch.ts | 42 + packages/contracts/src/threadTitle.ts | 10 + packages/contracts/src/worktreeMcp.ts | 127 + packages/contracts/src/worktreeSetup.ts | 1 - packages/effect-acp/package.json | 12 + packages/effect-acp/scripts/generate.ts | 310 +- packages/effect-acp/src/_generated/meta.gen.ts | 50 +- packages/effect-acp/src/_generated/schema-v1.gen.ts | 9401 +++++++++++++++++ packages/effect-acp/src/_generated/schema.gen.ts | 17543 ++++++++++++++++---------------- packages/effect-acp/src/_internal/shared.ts | 19 +- packages/effect-acp/src/agent.test.ts | 99 +- packages/effect-acp/src/agent.ts | 407 +- packages/effect-acp/src/client.test.ts | 756 +- packages/effect-acp/src/client.ts | 1167 ++- packages/effect-acp/src/compat.ts | 451 + packages/effect-acp/src/protocol.test.ts | 382 +- packages/effect-acp/src/protocol.ts | 393 +- packages/effect-acp/src/rpc.ts | 386 +- packages/effect-acp/src/schema.test.ts | 37 + packages/effect-acp/src/schema.ts | 13 + packages/effect-acp/src/terminal.ts | 25 - packages/effect-acp/test/fixtures/acp-mock-peer.ts | 140 +- packages/effect-acp/test/fixtures/antigravity-initialize.json | 49 + packages/effect-codex-app-server/package.json | 8 + packages/effect-codex-app-server/src/client.ts | 17 +- packages/effect-codex-app-server/src/replay.ts | 563 + packages/shared/package.json | 24 + packages/shared/src/Array.test.ts | 12 + packages/shared/src/Array.ts | 6 + packages/shared/src/agentAwareness.test.ts | 254 +- packages/shared/src/agentAwareness.ts | 137 +- packages/shared/src/composerContextReferences.test.ts | 23 + packages/shared/src/composerContextReferences.ts | 32 + packages/shared/src/composerInlineTokens.ts | 16 +- packages/shared/src/git.test.ts | 50 + packages/shared/src/git.ts | 19 + packages/shared/src/keybindings.ts | 7 + packages/shared/src/model.test.ts | 60 +- packages/shared/src/model.ts | 69 + packages/shared/src/nodeRuntime.test.ts | 35 +- packages/shared/src/nodeRuntime.ts | 39 + packages/shared/src/observability.memory.test.ts | 19 + packages/shared/src/observability.test.ts | 103 + packages/shared/src/observability.ts | 6 +- packages/shared/src/orchestrationTiming.test.ts | 51 +- packages/shared/src/orchestrationTiming.ts | 54 +- packages/shared/src/orchestrationV2PendingBackgroundWork.test.ts | 520 + packages/shared/src/orchestrationV2PendingBackgroundWork.ts | 268 + packages/shared/src/orchestrationV2ThreadError.ts | 107 + packages/shared/src/orchestrationV2Timeline.test.ts | 120 + packages/shared/src/orchestrationV2Timeline.ts | 112 + packages/shared/src/projectSettings.test.ts | 24 + packages/shared/src/relayClient.test.ts | 28 +- packages/shared/src/serverSettings.test.ts | 35 + packages/shared/src/serverSettings.ts | 5 +- packages/shared/src/t3McpToolPresentation.test.ts | 94 + packages/shared/src/t3McpToolPresentation.ts | 336 + packages/shared/src/testing/TraceRetention.fixture.mjs | 71 + packages/shared/src/threadPullRequests.ts | 21 + packages/shared/src/toolActivity.test.ts | 72 +- packages/shared/src/toolActivity.ts | 273 +- packages/shared/src/toolOutput.test.ts | 175 + packages/shared/src/toolOutput.ts | 168 + packages/shared/src/usageLimits.test.ts | 29 - packages/shared/src/usageLimits.ts | 24 - packages/ssh/src/tunnel.test.ts | 96 +- packages/ssh/src/tunnel.ts | 37 +- patches/@react-native-menu__menu@2.0.0.patch | 18 +- pnpm-lock.yaml | 182 +- pnpm-workspace.yaml | 13 + scripts/build-desktop-artifact.test.ts | 74 +- scripts/build-desktop-artifact.ts | 36 + scripts/lib/cli-external-packages.test.ts | 7 +- scripts/lib/cli-external-packages.ts | 21 +- scripts/lib/cursor-sdk-packaging.test.ts | 138 + scripts/lib/resolve-catalog.test.ts | 37 + scripts/lib/resolve-catalog.ts | 5 +- scripts/mobile-showcase-environment.ts | 2 +- third-party-licenses.config.json | 47 +- vite.config.ts | 6 +- 1917 files changed, 382102 insertions(+), 205024 deletions(-)