Merge pull request #322 from mweinbach/codex/complexity-sweep
4 weeks ago
282 files changed
- .github/workflows/ci.yml+49−0
- AGENTS.md+2−1
- CONTRIBUTING.md+3−0
- apps/desktop/electron/ipc/workspace.ts+1−7
- apps/desktop/electron/preload.ts+1−11
- apps/desktop/electron/services/crashReporting.ts+3−3
- apps/desktop/electron/services/diagnostics.ts+0−8
- apps/desktop/electron/services/localLogs.ts+0
−2
apps/desktop/electron/services/productAnalytics.ts+1−28apps/desktop/electron/services/windowChrome/index.ts+0−7apps/desktop/electron/services/windowEnhancements.ts+0−1apps/desktop/electron/services/windowsSandboxReadiness.ts+1−1apps/desktop/quality-gates/README.md+22−10apps/desktop/quality-gates/assertions.ts+29−10apps/desktop/quality-gates/fixtures.ts+18−15apps/desktop/quality-gates/mentionGeometry.ts+2−2apps/desktop/quality-gates/snapshots/canvas-markdown-dark-linux.png——apps/desktop/quality-gates/snapshots/canvas-markdown-error-dark-linux.png——apps/desktop/quality-gates/snapshots/canvas-markdown-forced-colors-linux.png——apps/desktop/quality-gates/snapshots/canvas-markdown-light-linux.png——apps/desktop/quality-gates/snapshots/canvas-markdown-live-switch-dark-linux.png——apps/desktop/quality-gates/snapshots/canvas-markdown-loading-dark-linux.png——apps/desktop/quality-gates/snapshots/canvas-presentation-forced-colors-linux.png——apps/desktop/quality-gates/snapshots/canvas-spreadsheet-dark-linux.png——apps/desktop/quality-gates/snapshots/canvas-spreadsheet-forced-colors-linux.png——apps/desktop/quality-gates/snapshots/canvas-spreadsheet-light-linux.png——apps/desktop/quality-gates/snapshots/canvas-text-dark-linux.png——apps/desktop/quality-gates/snapshots/canvas-text-forced-colors-linux.png——apps/desktop/quality-gates/snapshots/canvas-text-light-linux.png——apps/desktop/quality-gates/snapshots/first-launch-dark-1024-linux.png——apps/desktop/quality-gates/snapshots/first-paint-dark-1024-linux.png——apps/desktop/quality-gates/snapshots/first-paint-light-1024-linux.png——apps/desktop/quality-gates/snapshots/first-paint-system-1024-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-1024-dark-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-1024-forced-colors-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-1024-light-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-1024-reduced-motion-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-1240-dark-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-1240-forced-colors-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-1240-light-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-1240-reduced-motion-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-640-dark-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-640-forced-colors-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-640-light-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-640-reduced-motion-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-800-dark-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-800-forced-colors-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-800-light-linux.png——apps/desktop/quality-gates/snapshots/shipping-chat-800-reduced-motion-linux.png——apps/desktop/quality-gates/specs/assertions.pw.ts+57−1apps/desktop/quality-gates/specs/failure-proofs.pw.ts+1−1apps/desktop/quality-gates/specs/journeys.pw.ts+23−17apps/desktop/quality-gates/specs/media-modes.pw.ts+51−0apps/desktop/quality-gates/specs/native-first-paint.pw.ts+3−1apps/desktop/quality-gates/specs/performance.pw.ts+4−2apps/desktop/src/app/attachmentInputs.ts+0−10apps/desktop/src/app/composerDrafts.ts+1−1apps/desktop/src/app/interactionQueue.ts+2−2apps/desktop/src/app/store.actions/workspaceMemoryDefaults.ts+1−3apps/desktop/src/app/store.helpers/controlSocket.ts+74−87apps/desktop/src/app/store.helpers/jsonRpcSocket.ts+7−2apps/desktop/src/app/store.helpers/paintScheduling.ts+1−1apps/desktop/src/app/store.helpers/runtimeState.ts+1−1apps/desktop/src/lib/adaptiveLayout.ts+2−2apps/desktop/src/lib/analytics.ts+0−8apps/desktop/src/lib/canvasMarkdown.ts+0−237apps/desktop/src/lib/desktopPlatform.ts+0−15apps/desktop/src/lib/indexedDbReliableBatchStore.ts+1−1apps/desktop/src/lib/modelChoices.ts+2−13apps/desktop/src/lib/spreadsheetSaveNotifications.ts+1−11apps/desktop/src/lib/themeBootstrap.ts+1−1apps/desktop/src/lib/time.ts+0−31apps/desktop/src/lib/webTranscriptDelivery.ts+1−1apps/desktop/src/lib/webWorkspaceState.ts+4−12apps/desktop/src/ui/canvas/CanvasFilePreviewLayout.tsx+2−4apps/desktop/src/ui/chat/ComposerReasoningToggle.tsx+0−19apps/desktop/src/ui/chat/DraftThreadModelSelector.tsx+0−29apps/desktop/src/ui/chat/InteractionCard.tsx+1−1apps/desktop/src/ui/chat/ThreadModelIndicator.tsx+0−33apps/desktop/src/ui/chat/activityGroups.ts+2−12apps/desktop/src/ui/chat/feedMessageParsing.ts+1−1apps/desktop/src/ui/chat/scrollOwnership.ts+1−1apps/desktop/src/ui/chat/toolCards/toolCardFormatting.ts+1−1apps/desktop/src/ui/layout/AppTopBar.tsx+102−152apps/desktop/src/ui/layout/SidebarCollapseControl.tsx+1−0apps/desktop/src/ui/settings/pages/AdvancedMemoryPanel.tsx+1−3apps/desktop/src/ui/settings/pages/SubagentsPage.tsx+0−2apps/desktop/src/ui/sidebar/SidebarWorkspaceItem.tsx+0−3apps/desktop/test/advanced-memory-panel.test.ts+165−3apps/desktop/test/app-topbar.test.tsx+278−2apps/desktop/test/canvas-file-preview-layout.test.tsx+39−0apps/desktop/test/canvasMarkdown.test.ts+0−126apps/desktop/test/control-socket.ensure.test.ts+133−0apps/desktop/test/control-socket.events.test.ts+63−0apps/desktop/test/control-socket.lifecycle.test.ts+384−0apps/desktop/test/control-socket.sessions.test.ts+85−0apps/desktop/test/desktop-platform.test.ts+1−24apps/desktop/test/ipc-workspace.test.ts+6−4apps/desktop/test/jsonrpc-single-connection.test.ts+0−4apps/desktop/test/modelChoices.test.ts+1−24apps/desktop/test/platform-top-bar-chrome.test.tsx+34−19apps/desktop/test/preload-boundary.test.ts+96−0apps/desktop/test/spreadsheet-save-notifications.test.ts+33−0apps/desktop/test/time-format.test.ts+0−34apps/desktop/test/web-workspace-state.test.ts+11−0apps/desktop/test/window-enhancements.test.ts+0−7apps/desktop/tsconfig.json+1−1apps/mobile/assets/toolbar/chat.xml+6−0apps/mobile/assets/toolbar/compose.xml+6−0apps/mobile/assets/toolbar/folder.xml+6−0apps/mobile/assets/toolbar/more.xml+6−0apps/mobile/assets/toolbar/remote-access.xml+6−0apps/mobile/assets/toolbar/stop.xml+6−0apps/mobile/bun.lock+0−5apps/mobile/ios/CoworkMobile.xcodeproj/project.pbxproj+4−0apps/mobile/ios/Podfile.lock+470−405apps/mobile/package.json+0−1apps/mobile/src/app/(app)/(tabs)/(chats)/_layout.tsx+4−1apps/mobile/src/app/(app)/(tabs)/(chats)/thread/[id].tsx+2−1apps/mobile/src/app/(app)/(tabs)/(settings)/_layout.tsx+4−1apps/mobile/src/app/(app)/(tabs)/(skills)/_layout.tsx+4−1apps/mobile/src/app/(app)/(tabs)/(workspace)/_layout.tsx+4−1apps/mobile/src/app/_layout.tsx+33−25apps/mobile/src/components/composerShared.tsx+2−2apps/mobile/src/components/pairing/grouped-list.tsx+1−1apps/mobile/src/components/pairing/pairing-home.fallback.tsx+2−2apps/mobile/src/components/pairing/pairing-ios-ui.tsx+1−1apps/mobile/src/components/thread-home/thread-home-screen.shared.tsx+5−4apps/mobile/src/components/ui/app-button.tsx+1−1apps/mobile/src/components/ui/hub-link-row.tsx+60−55apps/mobile/src/components/ui/toolbar-icon.ts+16−0apps/mobile/src/features/cowork/activityGroups.ts+1−1apps/mobile/src/features/cowork/mcpStore.ts+0−5apps/mobile/src/features/cowork/mobilePerformanceContracts.ts+1−1apps/mobile/src/features/cowork/protocolTypes.ts+2−127apps/mobile/src/features/cowork/remoteThreadBootstrap.ts+0−1apps/mobile/src/features/cowork/sessionBootstrap.ts+1−1apps/mobile/src/features/cowork/threadHomeModel.ts+3−3apps/mobile/src/features/cowork/threadListModel.ts+1−1apps/mobile/src/features/cowork/threadOfflineCache.ts+1−1apps/mobile/src/features/cowork/threadStore.ts+0−2apps/mobile/src/features/cowork/useWorkspaceConfigQuery.ts+0−236apps/mobile/src/features/pairing/pairingTypes.ts+0−9apps/mobile/src/features/relay/connectionState.ts+1−12apps/mobile/src/features/relay/secureTransportClient.ts+3−17apps/mobile/src/providers/MobileAppProvider.tsx+1−10biome.json+1−1crates/cowork-win-sandbox/README.md+25−21docs/assets/desktop-product.png——docs/audit-code-bloat.md+12−374docs/complexity-tracker.md+472−0docs/unused-code-audit.md+240−0knip.json+8−3package.json+3−1scripts/complexity.ts+163−0scripts/complexityCompare.ts+257−0src/agent.ts+46−264src/cli/repl/commandRouter.ts+33−95src/cli/streamState.ts+0−25src/coworkRuntime/download.ts+1−1src/coworkRuntime/ensureReady.ts+2−2src/coworkRuntime/install.ts+1−1src/coworkRuntime/integrity.ts+1−1src/coworkRuntime/manifest.ts+1−1src/coworkRuntime/platform.ts+1−1src/coworkRuntime/runtime.ts+1−1src/import/conversations/normalize.ts+3−3src/import/conversations/service.ts+2−11src/import/conversations/snapshot.ts+1−1src/import/externalHomes.ts+0−12src/import/index.ts+0−2src/models/childModelRouting.ts+1−1src/platform/sandbox/bwrap.ts+1−1src/plugins/catalog.ts+1−22src/plugins/overrides.ts+1−1src/providers/customModels.ts+1−1src/providers/minimaxShared.ts+1−3src/providers/modelDiscoveryAdapters.ts+6−44src/providers/modelDiscoveryCache.ts+5−7src/runtime/codexAppServer/config.ts+1−1src/runtime/codexAppServer/notifications.ts+68−51src/runtime/googleInteractionsModel.ts+0−4src/runtime/googleNative/nativeTools.ts+1−11src/runtime/googleNative/stream/mapToStreamParts.ts+13−28src/runtime/googleNative/stream/processEvent.ts+175−251src/runtime/pi/internal.ts+0−26src/runtime/pi/rateLimitRetry.ts+1−1src/server/agents/AgentControl.ts+7−24src/server/artifacts/diffUtils.ts+4−4src/server/artifacts/ooxml.ts+9−9src/server/artifacts/types.ts+30−321src/server/git/WorktreeService.ts+3−12src/server/jsonrpc/routes/outcomes.ts+0−9src/server/jsonrpc/routes/tasks.ts+1−1src/server/jsonrpc/schema.tasks.ts+0−5src/server/jsonrpc/serverRequestReceipts.ts+2−2src/server/jsonrpc/sessionEventCapture.ts+20−15src/server/jsonrpc/workspaceCatalog.ts+2−10src/server/projection/conversationProjectionReasoning.ts+1−1src/server/projection/conversationProjectionSessionEvents.ts+6−6src/server/projection/conversationProjectionStreamUpdates.ts+2−0src/server/runtime/SkillMutationBus.ts+7−2src/server/session/SessionAdminManager.ts+4−14src/server/session/SessionMetadataManager.ts+2−0src/server/session/taskLocks.ts+4−6src/server/session/turnExecution/referenceInjection.ts+4−13src/server/session/turnExecution/steerCoordinator.ts+1−14src/server/sessionBackup.ts+2−1src/server/sessionDb/repository.ts+8−1src/server/spreadsheetOoxml.ts+7−7src/server/tasks/TaskCoordinator.ts+2−2src/server/tasks/taskReviewPolicy.ts+1−9src/server/threads/localThreadHost.ts+2−10src/server/transport/httpJsonRpcConnection.ts+1−1src/server/webDesktopService.ts+2−11src/shared/agentProfiles.ts+1−1src/shared/attachments.ts+1−1src/shared/fnv1a.ts+9−0src/shared/googleInteractionsStreamParts.ts+2−1src/shared/reliableBatchQueue.ts+1−1src/shared/toolRetry.ts+2−2src/shared/transcriptBatchProtocol.ts+2−2src/skills/defaultGlobalSkills.ts+2−2src/skills/loadSkillBody.ts+1−7src/sync/types.ts+0−8src/telemetry/config.ts+1−1src/telemetry/crashReporting.ts+3−3src/telemetry/productAnalytics.ts+0−8src/tools/taskReview.ts+0−2src/tools/webSearch.ts+2−61src/utils/atomicFile.ts+7−20src/utils/fileLock.ts+0−3src/utils/permissions.ts+1−1src/utils/ripgrep.ts+7−14src/workflows/inputSpill.ts+1−1src/workflows/registry.ts+2−2test/advancedMemory.store.test.ts+29−21test/agent.remote-mcp.grep.test.ts+20−19test/agent.test.ts+157−174test/agent.toolloop.test.ts+288−428test/atomicFile.test.ts+45−0test/ci.workflow.test.ts+44−0test/complexity-comparison.integration.test.ts+161−0test/complexity-comparison.test.ts+156−0test/complexity-report.test.ts+120−0test/fixtures/mcp-local-integration-runner.ts+18−21test/fixtures/mobile-platform-contract.tsx+64−4test/fnv1a.test.ts+17−0test/helpers/mock-react-native.ts+7−0test/jsonrpc/projectors/assistant-segments.test.ts+82−0test/mcp.local.integration.test.ts+3−3test/mobile.app-button.test.tsx+116−0test/mobile.app-provider.test.tsx+159−0test/mobile.control-store.test.ts+19−0test/mobile.grouped-switch-row.test.tsx+117−0test/mobile.hub-link-row.test.tsx+159−0test/mobile.remote-thread-bootstrap.test.ts+36−0test/mobile.root-layout.test.tsx+112−0test/mobile.secure-transport-client.test.ts+128−4test/mobile.toolbar-native.test.tsx+477−0test/permissions.test.ts+54−36test/platform-boundary.baseline.json+11−25test/platform-boundary.test.ts+2−2test/platform/sandbox.test.ts+17−12test/providers/model-discovery-cache.test.ts+0−8test/providers/provider-options.test.ts+21−25test/repl.command-router.test.ts+173−0test/ripgrep.install.test.ts+134−0test/runtime.pi-runtime.test.ts+58−16test/runtime/codex-app-server/notifications.test.ts+427−0test/runtime/codex-app-server/turn.test.ts+275−6test/runtime/google-native/unit.stream-state.test.ts+385−0test/runtime/google-native/unit.streamToolArguments.test.ts+92−0test/runtime/google-native/unit.tool-projection.test.ts+172−0test/server/sessionEventCapture.test.ts+194−0test/session-backup.test.ts+58−0test/session-db.test.ts+29−1test/session/agentSession.settings.test.ts+28−0test/skill-mutation-bus.test.ts+97−1test/snapshots/mobile-accessibility.android.json+1−1test/snapshots/mobile-accessibility.ios.json+1−1test/tools/tools.webSearch.test.ts+105−0