$ node scripts/check-changed.ts ⊘ cache disabled check:changed: 2 files since d1f701849b32 > vp format pass 1.2s Checking formatting... All matched files use the correct format. Finished in 794ms on 2 files using 4 threads. > vp graphql (apps/server) pass 2.5s ~/apps/server$ graphqlgen --check ⊘ cache disabled > vp lint pass 3.2s > vp knip 1/2 pass 38.6s > vp typecheck (2 packages) pass 41.3s ~/scripts$ tsc --noEmit ○ cache miss: 'tsconfig.base.json' modified, executing ~/apps/server$ tsc --noEmit ○ cache miss: 'apps/server/src/project/ProjectSetupScriptRunner.ts' modified, executing scripts/record-codex-app-server-replay-fixture.ts:1167:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("logger")((event) => { ... })`. effect(effectFnOpportunity) 1167 logger: (event) => { ~~~~~~ src/assets/AttachmentUpload.ts:233:11 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 233 Effect.catch((error) => ~~~~~~~~~~~~ src/auth/EnvironmentAuth.ts:1377:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EnvironmentAuth.getDescriptor")(() => { ... })`. effect(effectFnOpportunity) 1377 getDescriptor: () => ~~~~~~~~~~~~~ src/auth/EnvironmentAuthPolicy.ts:55:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EnvironmentAuthPolicy.getDescriptor")(() => { ... })`. effect(effectFnOpportunity) 55 getDescriptor: () => ~~~~~~~~~~~~~ src/auth/McpOAuth.ts:530:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpHttpServer.McpClientAuthenticator.authenticate")((request) => { ... })`. effect(effectFnOpportunity) 530 authenticate: (request) => ~~~~~~~~~~~~ src/cloud/CliTokenManager.ts:326:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("HttpClientError")(function*(cause) { ... })`. effect(effectFnOpportunity) 326 HttpClientError: (cause) => ~~~~~~~~~~~~~~~ src/cloud/ManagedEndpointRuntime.ts:762:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CloudManagedEndpointRuntime.requestRecovery")((config) => { ... })`. effect(effectFnOpportunity) 762 requestRecovery: (config) => Queue.offer(recoveryRequests, config).pipe(Effect.asVoid), ~~~~~~~~~~~~~~~ src/cloud/selfUpdate.ts:371:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ServerSelfUpdate.commitDesktopUpdate")((requestId, onHandoffAccepted) => { ... })`. effect(effectFnOpportunity) 371 commitDesktopUpdate: (requestId, onHandoffAccepted) => ~~~~~~~~~~~~~~~~~~~ src/device/DeviceService.ts:807:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DeviceService.updateTool")((tool) => { ... })`. effect(effectFnOpportunity) 807 updateTool: (tool) => ~~~~~~~~~~ src/device/DeviceService.ts:822:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DeviceService.easAccount")(() => { ... })`. effect(effectFnOpportunity) 822 easAccount: () => ~~~~~~~~~~ src/device/EasDeviceHost.ts:865:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DeviceHost.DeviceHost.ensureAgentReady")((onPhase) => { ... })`. effect(effectFnOpportunity) 865 ensureAgentReady: (onPhase) => ~~~~~~~~~~~~~~~~ src/environment/DirectEndpoints.ts:158:31 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DirectEndpoints.resolve")(() => { ... })`. effect(effectFnOpportunity) 158 return DirectEndpoints.of({ resolve: () => resolve }); ~~~~~~~ src/environment/RemoteOpenTargets.ts:81:33 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RemoteOpenTargets.resolveTargets")(() => { ... })`. effect(effectFnOpportunity) 81 return RemoteOpenTargets.of({ resolveTargets: () => resolveTargets }); ~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:302:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.isRepository")((cwd) => { ... })`. effect(effectFnOpportunity) 302 isRepository: (cwd) => ~~~~~~~~~~~~ src/git/GitWorkflowService.ts:315:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.hasCommit")((input) => { ... })`. effect(effectFnOpportunity) 315 hasCommit: (input) => ~~~~~~~~~ src/git/GitWorkflowService.ts:327:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.hasRefNamed")((input) => { ... })`. effect(effectFnOpportunity) 327 hasRefNamed: (input) => ~~~~~~~~~~~ src/git/GitWorkflowService.ts:346:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.status")((input) => { ... })`. effect(effectFnOpportunity) 346 status: (input) => ~~~~~~ src/git/GitWorkflowService.ts:352:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.localStatus")((input) => { ... })`. effect(effectFnOpportunity) 352 localStatus: (input) => ~~~~~~~~~~~ src/git/GitWorkflowService.ts:360:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.remoteStatus")((input, options) => { ... })`. effect(effectFnOpportunity) 360 remoteStatus: (input, options) => ~~~~~~~~~~~~ src/git/GitWorkflowService.ts:369:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.pullCurrentBranch")((cwd) => { ... })`. effect(effectFnOpportunity) 369 pullCurrentBranch: (cwd) => ~~~~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:373:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.runStackedAction")((input, options) => { ... })`. effect(effectFnOpportunity) 373 runStackedAction: (input, options) => ~~~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:388:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.preparePullRequestThread")((input) => { ... })`. effect(effectFnOpportunity) 388 preparePullRequestThread: (input) => ~~~~~~~~~~~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:399:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.listRefs")((input) => { ... })`. effect(effectFnOpportunity) 399 listRefs: (input) => ~~~~~~~~ src/git/GitWorkflowService.ts:405:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.createWorktree")((input, options) => { ... })`. effect(effectFnOpportunity) 405 createWorktree: (input, options) => ~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:409:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.listLocalBranchNames")((cwd) => { ... })`. effect(effectFnOpportunity) 409 listLocalBranchNames: (cwd) => ~~~~~~~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:413:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.fetchRemote")((input) => { ... })`. effect(effectFnOpportunity) 413 fetchRemote: (input) => ~~~~~~~~~~~ src/git/GitWorkflowService.ts:417:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.remoteExists")((input) => { ... })`. effect(effectFnOpportunity) 417 remoteExists: (input) => ~~~~~~~~~~~~ src/git/GitWorkflowService.ts:421:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.remoteBranchExists")((input) => { ... })`. effect(effectFnOpportunity) 421 remoteBranchExists: (input) => ~~~~~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:425:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.resolveRemoteTrackingCommit")((input) => { ... })`. effect(effectFnOpportunity) 425 resolveRemoteTrackingCommit: (input) => ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:429:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.resolveWorktreeBaseRemote")((input) => { ... })`. effect(effectFnOpportunity) 429 resolveWorktreeBaseRemote: (input) => ~~~~~~~~~~~~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:433:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.fetchWorktreeBaseCommit")((input) => { ... })`. effect(effectFnOpportunity) 433 fetchWorktreeBaseCommit: (input) => ~~~~~~~~~~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:437:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.removeWorktree")((input) => { ... })`. effect(effectFnOpportunity) 437 removeWorktree: (input) => ~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:441:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.pruneWorktrees")((input) => { ... })`. effect(effectFnOpportunity) 441 pruneWorktrees: (input) => ~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:445:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.deleteLocalBranch")((input) => { ... })`. effect(effectFnOpportunity) 445 deleteLocalBranch: (input) => ~~~~~~~~~~~~~~~~~ src/git/GitWorkflowService.ts:449:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.createRef")((input) => { ... })`. effect(effectFnOpportunity) 449 createRef: (input) => ~~~~~~~~~ src/git/GitWorkflowService.ts:457:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.switchRef")((input) => { ... })`. effect(effectFnOpportunity) 457 switchRef: (input) => ~~~~~~~~~ src/git/GitWorkflowService.ts:463:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitWorkflowService.renameBranch")((input) => { ... })`. effect(effectFnOpportunity) 463 renameBranch: (input) => ~~~~~~~~~~~~ src/htmlRender/headlessChrome.ts:268:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("receive")((raw) => { ... })`. effect(effectFnOpportunity) 268 const receive = (raw: string) => { ~~~~~~~ src/mcp/McpHttpServer.ts:403:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("previewSnapshotFailure")((cause) => { ... })`. effect(effectFnOpportunity) 403 const previewSnapshotFailure = (cause: Cause.Cause) => { ~~~~~~~~~~~~~~~~~~~~~~ src/mcp/McpHttpServer.ts:906:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpServer.McpServer.addTool")((options) => { ... })`. effect(effectFnOpportunity) 906 addTool: (options) => ~~~~~~~ src/mcp/PreviewAutomationBroker.ts:650:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onNone")(function*() { ... })`. effect(effectFnOpportunity) 650 onNone: () => ~~~~~~ src/mcpApps/McpAppModelContext.ts:94:27 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpAppModelContext.set")(() => { ... })`. effect(effectFnOpportunity) 94 McpAppModelContext.of({ set: () => Effect.void, forThread: () => Effect.succeed([]) }), ~~~ src/mcpApps/McpAppModelContext.ts:94:51 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpAppModelContext.forThread")(() => { ... })`. effect(effectFnOpportunity) 94 McpAppModelContext.of({ set: () => Effect.void, forThread: () => Effect.succeed([]) }), ~~~~~~~~~ src/observability/BrowserTraceCollector.ts:16:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("BrowserTraceCollector.record")((records) => { ... })`. effect(effectFnOpportunity) 16 record: (records) => ~~~~~~ src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1011:26 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 1011 const controller = new AbortController(); ~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1367:28 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 1367 const controller = new AbortController(); ~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:1390:37 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 1390 const cancelledController = new AbortController(); ~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:4325:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 4325 getCapabilities: () => Effect.succeed(ClaudeProviderCapabilitiesV2), ~~~~~~~~~~~~~~~ src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:4326:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 4326 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), ~~~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts:199:17 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 199 signal: new AbortController().signal, ~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Adapters/CodexAdapterV2.ts:1637:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) 1637 getCapabilities: () => Effect.succeed(CodexProviderCapabilitiesV2), ~~~~~~~~~~~~~~~ src/orchestration-v2/Adapters/CodexAdapterV2.ts:1638:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) 1638 planSelectionTransition: () => Effect.succeed(turnScopedSelectionTransition()), ~~~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Adapters/CodexAdapterV2.ts:2915:19 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 2915 Effect.flatMap((response) => ~~~~~~~~~~~~~~ src/orchestration-v2/CheckpointCaptureService.ts:235:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CheckpointCaptureServiceV2.execute")((input) => { ... })`. effect(effectFnOpportunity) 235 execute: (input) => ~~~~~~~ src/orchestration-v2/CheckpointRestoreSafety.ts:40:13 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 40 Effect.catch((error) => ~~~~~~~~~~~~ src/orchestration-v2/CheckpointRestoreSafety.ts:80:17 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 80 Effect.catch((error) => ~~~~~~~~~~~~ src/orchestration-v2/ClaudeAutomaticDelivery.integration.test.ts:142:28 - suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) 142 const batchAbort = new AbortController(); ~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/CommandOutputHub.test.ts:166:5 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 166 Effect.flatMap((frame) => ~~~~~~~~~~~~~~ src/orchestration-v2/EffectWorker.ts:98:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestrationEffectExecutorV2.execute")((effect, options) => { ... })`. effect(effectFnOpportunity) 98 execute: (effect, options) => { ~~~~~~~ src/orchestration-v2/EffectWorker.ts:180:17 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 180 Effect.catch((cause) => ~~~~~~~~~~~~ src/orchestration-v2/EventStore.ts:110:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EventStoreV2.append")((input) => { ... })`. effect(effectFnOpportunity) 110 append: (input) => ~~~~~~ src/orchestration-v2/EventStore.ts:120:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EventStoreV2.appendProjectEvent")((event) => { ... })`. effect(effectFnOpportunity) 120 appendProjectEvent: (event) => ~~~~~~~~~~~~~~~~~~ src/orchestration-v2/EventStore.ts:131:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EventStoreV2.latestSequence")((input) => { ... })`. effect(effectFnOpportunity) 131 latestSequence: (input) => ~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:11984:7 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 11984 Effect.flatMap((planned) => ~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12402:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.restartContinuationPending")((run) => { ... })`. effect(effectFnOpportunity) 12402 restartContinuationPending: (run) => ~~~~~~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12404:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.awaitRestartContinuation")((run) => { ... })`. effect(effectFnOpportunity) 12404 awaitRestartContinuation: (run) => ~~~~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12407:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.autoArmLimitRecovery")((input) => { ... })`. effect(effectFnOpportunity) 12407 autoArmLimitRecovery: (input) => ~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12435:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.searchThread")((input) => { ... })`. effect(effectFnOpportunity) 12435 searchThread: (input) => ~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12443:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadHistoryPage")((threadId, cursor, throughEntryId, conversationOnly) => { ... })`. effect(effectFnOpportunity) 12443 getThreadHistoryPage: (threadId, cursor, throughEntryId, conversationOnly) => ~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12447:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) 12447 getTimelinePage: (threadId, options) => ~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12451:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) 12451 getMessageCount: (threadId) => ~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12455:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) 12455 getTurnItem: (input) => ~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12463:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) 12463 getThreadRecords: (threadId, fields, filter) => ~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12467:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadProjection")((threadId) => { ... })`. effect(effectFnOpportunity) 12467 getThreadProjection: (threadId) => ~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12471:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getCheckpointContext")((threadId) => { ... })`. effect(effectFnOpportunity) 12471 getCheckpointContext: (threadId) => ~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12475:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshot")((threadId) => { ... })`. effect(effectFnOpportunity) 12475 getThreadSnapshot: (threadId) => ~~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12479:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshotWindow")((threadId, options) => { ... })`. effect(effectFnOpportunity) 12479 getThreadSnapshotWindow: (threadId, options) => ~~~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12483:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) 12483 getShellSnapshot: (options) => ~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12485:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.listActiveSubagentThreadIds")(() => { ... })`. effect(effectFnOpportunity) 12485 listActiveSubagentThreadIds: () => ~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12487:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.listOlderSettledThreads")((query) => { ... })`. effect(effectFnOpportunity) 12487 listOlderSettledThreads: (query) => ~~~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12489:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.readShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) 12489 readShellSnapshot: (options) => ~~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12496:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadShell")((threadId) => { ... })`. effect(effectFnOpportunity) 12496 getThreadShell: (threadId) => ~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12500:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.findGuestShareThreadId")((shareId) => { ... })`. effect(effectFnOpportunity) 12500 findGuestShareThreadId: (shareId) => ~~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/Orchestrator.ts:12502:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadEventSequence")((threadId) => { ... })`. effect(effectFnOpportunity) 12502 getThreadEventSequence: (threadId) => ~~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/ProjectStore.ts:269:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectStoreV2.getShell")((projectId) => { ... })`. effect(effectFnOpportunity) 269 getShell: (projectId) => get(projectId).pipe(Effect.map(Option.map(toShell))), ~~~~~~~~ src/orchestration-v2/ProjectStore.ts:270:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectStoreV2.listShells")((options) => { ... })`. effect(effectFnOpportunity) 270 listShells: (options) => ~~~~~~~~~~ src/orchestration-v2/ProviderAdapterRegistry.ts:78:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapterRegistryV2.get")((instanceId) => { ... })`. effect(effectFnOpportunity) 78 get: (instanceId) => ~~~ src/orchestration-v2/ProviderAdapterRegistry.ts:135:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapterRegistryV2.list")(() => { ... })`. effect(effectFnOpportunity) 135 list: () => ~~~~ src/orchestration-v2/ProviderEventIngestor.ts:117:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderTurnAnalytics.record")((properties) => { ... })`. effect(effectFnOpportunity) 117 record: (properties: Readonly>) => ~~~~~~ src/orchestration-v2/ProviderEventIngestor.ts:833:15 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 833 Effect.flatMap((storedEvents) => ~~~~~~~~~~~~~~ src/orchestration-v2/ProviderTurnStartService.ts:508:15 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 508 Effect.catchCause((cause) => ~~~~~~~~~~~~~~~~~ src/orchestration-v2/ResourceCleanupService.ts:50:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ResourceCleanupService.cleanupScheduledTasks")((threadId) => { ... })`. effect(effectFnOpportunity) 50 cleanupScheduledTasks: (threadId: ThreadId) => ~~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/ResourceCleanupService.ts:59:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ResourceCleanupService.cleanupTerminals")((threadId) => { ... })`. effect(effectFnOpportunity) 59 cleanupTerminals: (threadId: string) => ~~~~~~~~~~~~~~~~ src/orchestration-v2/ResourceCleanupService.ts:67:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ResourceCleanupService.cleanupPreviews")((threadId) => { ... })`. effect(effectFnOpportunity) 67 cleanupPreviews: (threadId: string) => ~~~~~~~~~~~~~~~ src/orchestration-v2/ResourceCleanupService.ts:75:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ResourceCleanupService.cleanupAttachments")((attachmentIds) => { ... })`. effect(effectFnOpportunity) 75 cleanupAttachments: (attachmentIds: ReadonlyArray) => ~~~~~~~~~~~~~~~~~~ src/orchestration-v2/RunExecutionService.ts:929:15 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 929 Effect.catchCause((cause) => ~~~~~~~~~~~~~~~~~ src/orchestration-v2/RuntimePolicy.ts:54:3 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RuntimePolicyV2.resolve")((input) => { ... })`. effect(effectFnOpportunity) 54 resolve: (input) => ~~~~~~~ src/orchestration-v2/ThreadLifecycleService.ts:91:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.archive")((input) => { ... })`. effect(effectFnOpportunity) 91 archive: (input) => ~~~~~~~ src/orchestration-v2/ThreadLifecycleService.ts:97:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.unarchive")((input) => { ... })`. effect(effectFnOpportunity) 97 unarchive: (input) => ~~~~~~~~~ src/orchestration-v2/ThreadLifecycleService.ts:103:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.delete")((input) => { ... })`. effect(effectFnOpportunity) 103 delete: (input) => ~~~~~~ src/orchestration-v2/ThreadLifecycleService.ts:109:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.updateMetadata")((input) => { ... })`. effect(effectFnOpportunity) 109 updateMetadata: (input) => ~~~~~~~~~~~~~~ src/orchestration-v2/ThreadLifecycleService.ts:118:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.setRuntimeMode")((input) => { ... })`. effect(effectFnOpportunity) 118 setRuntimeMode: (input) => ~~~~~~~~~~~~~~ src/orchestration-v2/ThreadLifecycleService.ts:125:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.setInteractionMode")((input) => { ... })`. effect(effectFnOpportunity) 125 setInteractionMode: (input) => ~~~~~~~~~~~~~~~~~~ src/orchestration-v2/ThreadLifecycleService.ts:132:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadLifecycleService.setModelSelection")((input) => { ... })`. effect(effectFnOpportunity) 132 setModelSelection: (input) => ~~~~~~~~~~~~~~~~~ src/orchestration-v2/ThreadManagementService.ts:710:7 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 710 Effect.flatMap((projection) => ~~~~~~~~~~~~~~ src/orchestration-v2/ThreadManagementService.ts:737:7 - suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 737 Effect.flatMap((projection) => ~~~~~~~~~~~~~~ src/orchestration-v2/ThreadManagementService.ts:1209:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.searchThread")((input) => { ... })`. effect(effectFnOpportunity) 1209 searchThread: (input) => ~~~~~~~~~~~~ src/orchestration-v2/ThreadManagementService.ts:1214:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getThreadHistoryPage")((threadId, cursor, throughEntryId, conversationOnly) => { ... })`. effect(effectFnOpportunity) 1214 getThreadHistoryPage: (threadId, cursor, throughEntryId, conversationOnly) => ~~~~~~~~~~~~~~~~~~~~ src/orchestration-v2/ThreadManagementService.ts:1220:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) 1220 getTimelinePage: (threadId, options) => ~~~~~~~~~~~~~~~ src/orchestration-v2/ThreadManagementService.ts:1224:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) 1224 getMessageCount: (threadId) => ~~~~~~~~~~~~~~~ src/orchestration-v2/ThreadManagementService.ts:1228:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) 1228 getTurnItem: (input) => ~~~~~~~~~~~ src/orchestration-v2/ThreadManagementService.ts:1233:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) 1233 getThreadRecords: (threadId, fields, filter) => ~~~~~~~~~~~~~~~~ src/orchestration-v2/ThreadManagementService.ts:1275:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("LegacyV1ThreadImporter.LegacyV1ThreadImporter.ensureTranscript")(() => { ... })`. effect(effectFnOpportunity) 1275 ensureTranscript: () => Effect.succeed({ importedThreadCount: 0, importedMessageCount: 0 }), ~~~~~~~~~~~~~~~~ src/orchestration-v2/ThreadPullRequestService.ts:321:17 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 321 Effect.catchCause((cause) => ~~~~~~~~~~~~~~~~~ src/orchestration-v2/ThreadSettlementService.ts:353:11 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 353 Effect.catchCause((cause) => ~~~~~~~~~~~~~~~~~ src/orchestration-v2/ThreadSettlementService.ts:510:11 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 510 Effect.catchCause((cause) => ~~~~~~~~~~~~~~~~~ src/orchestration-v2/ThreadSettlementService.ts:528:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 528 Effect.catchCause((cause) => ~~~~~~~~~~~~~~~~~ src/orchestration-v2/ThreadSettlementService.ts:593:9 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 593 Effect.catchCause((cause) => ~~~~~~~~~~~~~~~~~ src/orchestration-v2/TurnItemPositionStore.ts:106:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TurnItemPositionStoreV2.normalize")((item, runOrdinal) => { ... })`. effect(effectFnOpportunity) 106 normalize: (item, runOrdinal) => ~~~~~~~~~ src/orchestration-v2/testkit/CommandOutputRecorder.ts:37:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CommandOutputHub.CommandOutputHub.append")((input) => { ... })`. effect(effectFnOpportunity) 37 append: (input) => ~~~~~~ src/orchestration-v2/testkit/OrchestratorScenario.ts:282:13 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("awaitDispatch")(function*(key) { ... })`. effect(effectFnOpportunity) 282 const awaitDispatch = (key: string) => ~~~~~~~~~~~~~ src/orchestration-v2/testkit/ProviderReplayHarness.ts:447:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadTitleRegenerationService.ThreadTitleRegenerationService.execute")(() => { ... })`. effect(effectFnOpportunity) 447 execute: () => Effect.void, ~~~~~~~ src/persistence/PullRequestFilesViewed.ts:87:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestFilesViewedRepository.list")((input) => { ... })`. effect(effectFnOpportunity) 87 list: (input) => ~~~~ src/persistence/PullRequestFilesViewed.ts:97:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestFilesViewedRepository.set")((input) => { ... })`. effect(effectFnOpportunity) 97 set: (input) => ~~~ src/persistence/PullRequestReviewGuides.ts:54:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestReviewGuideRepository.get")((key) => { ... })`. effect(effectFnOpportunity) 54 get: (key) => ~~~ src/persistence/PullRequestReviewGuides.ts:64:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestReviewGuideRepository.put")((key, guide) => { ... })`. effect(effectFnOpportunity) 64 put: (key, guide) => ~~~ src/persistence/initializeV2Database.ts:45:9 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 45 Effect.catch((error) => ~~~~~~~~~~~~ src/preview/DesktopBrowserChannel.ts:69:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.awaitAttached")(() => { ... })`. effect(effectFnOpportunity) 69 awaitAttached: () => Effect.succeed(false), ~~~~~~~~~~~~~ src/preview/DesktopBrowserChannel.ts:72:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.isAttached")(() => { ... })`. effect(effectFnOpportunity) 72 isAttached: () => Effect.succeed(false), ~~~~~~~~~~ src/preview/DesktopBrowserChannel.ts:73:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.endpoint")(() => { ... })`. effect(effectFnOpportunity) 73 endpoint: () => Effect.die("No desktop app is attached to this server."), ~~~~~~~~ src/preview/DesktopBrowserChannel.ts:74:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.pointer")(() => { ... })`. effect(effectFnOpportunity) 74 pointer: () => Effect.void, ~~~~~~~ src/preview/DesktopBrowserChannel.ts:75:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.turn")(() => { ... })`. effect(effectFnOpportunity) 75 turn: () => Effect.void, ~~~~ src/preview/DesktopBrowserChannel.ts:188:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.awaitAttached")((key, timeout) => { ... })`. effect(effectFnOpportunity) 188 awaitAttached: (key, timeout) => ~~~~~~~~~~~~~ src/preview/DesktopBrowserChannel.ts:210:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.isAttached")((key) => { ... })`. effect(effectFnOpportunity) 210 isAttached: (key) => Effect.sync(() => attachedTabs.has(keyOf(key))), ~~~~~~~~~~ src/preview/DesktopBrowserChannel.ts:212:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.pointer")((key, pointer) => { ... })`. effect(effectFnOpportunity) 212 pointer: (key, pointer) => command({ type: "pointer", ...key, ...pointer }), ~~~~~~~ src/preview/DesktopBrowserChannel.ts:213:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.turn")((threadId, active) => { ... })`. effect(effectFnOpportunity) 213 turn: (threadId, active) => command({ type: "turn", threadId, active }), ~~~~ src/preview/PreviewAgentActivity.ts:53:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PreviewAgentActivity.active")((threadId) => { ... })`. effect(effectFnOpportunity) 53 active: (threadId) => Effect.sync(() => turns.has(threadId)), ~~~~~~ src/preview/ServerBrowser.ts:474:23 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 474 executable: () => Effect.runPromise(previewBrowser.executable), ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:680:9 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 680 ? Effect.runPromise( ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:689:25 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 689 const scope = await Effect.runPromise(Scope.make()); ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:691:30 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 691 const endpoint = await Effect.runPromise( ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:701:17 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 701 await Effect.runPromise(Scope.close(scope, Exit.void)); ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:705:13 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 705 await Effect.runPromise(Scope.close(scope, Exit.void)); ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:1187:11 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 1187 await Effect.runPromise( ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:1680:17 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 1680 : await Effect.runPromise( ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:1744:21 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 1744 ? await Effect.runPromise( ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:1753:38 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 1753 const { sessions } = await Effect.runPromise( ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:1780:19 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 1780 await Effect.runPromise( ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:1811:21 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 1811 await Effect.runPromise( ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:1875:13 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 1875 await Effect.runPromise(manager.close({ threadId: tab.threadId, tabId: tab.tabId })); ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:1942:15 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 1942 await Effect.runPromise( ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:1954:32 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 1954 const snapshot = await Effect.runPromise( ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowser.ts:2200:15 - suggestion TS377074: `Effect.runPromise` is called inside an Effect with a separate services invocation. In this context, child Effects run with the surrounding services, which can be accessed through `Effect.context` and `Effect.runPromiseWith`. effect(runEffectInsideEffect) 2200 await Effect.runPromise( ~~~~~~~~~~~~~~~~~ src/preview/ServerBrowserStream.ts:179:13 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("receive")((chunk) => { ... })`. effect(effectFnOpportunity) 179 const receive = (chunk: Uint8Array | string) => { ~~~~~~~ src/process/externalLauncher.ts:821:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ExternalLauncher.resolveAvailableEditors")(() => { ... })`. effect(effectFnOpportunity) 821 resolveAvailableEditors: () => cachedAvailableEditors, ~~~~~~~~~~~~~~~~~~~~~~~ src/process/externalLauncher.ts:822:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ExternalLauncher.resolveFileManagerRevealKind")(() => { ... })`. effect(effectFnOpportunity) 822 resolveFileManagerRevealKind: () => ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/process/externalLauncher.ts:826:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ExternalLauncher.launchBrowser")((target) => { ... })`. effect(effectFnOpportunity) 826 launchBrowser: (target) => ~~~~~~~~~~~~~ src/process/externalLauncher.ts:830:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ExternalLauncher.launchEditor")((input) => { ... })`. effect(effectFnOpportunity) 830 launchEditor: (input) => ~~~~~~~~~~~~ src/project/ProjectCloneTracker.ts:421:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectCloneTracker.start")((input, hooks) => { ... })`. effect(effectFnOpportunity) 421 start: (input, hooks) => locked(start(input, hooks)), ~~~~~ src/project/ProjectCloneTracker.ts:422:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectCloneTracker.cancel")((projectId) => { ... })`. effect(effectFnOpportunity) 422 cancel: (projectId) => locked(cancel(projectId)), ~~~~~~ src/project/ProjectCloneTracker.ts:423:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectCloneTracker.retry")((projectId) => { ... })`. effect(effectFnOpportunity) 423 retry: (projectId) => locked(retry(projectId)), ~~~~~ src/project/ProjectCloneTracker.ts:424:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectCloneTracker.discard")((projectId) => { ... })`. effect(effectFnOpportunity) 424 discard: (projectId) => locked(discard(projectId)), ~~~~~~~ src/provider/CodexChatGptHandoff.ts:21:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ServerSecretStore.ServerSecretStore.get")((key) => { ... })`. effect(effectFnOpportunity) 21 get: (key) => Effect.sync(() => Option.fromUndefinedOr(bytes.get(key))), ~~~ src/provider/CodexChatGptHandoff.ts:22:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ServerSecretStore.ServerSecretStore.set")((key, value) => { ... })`. effect(effectFnOpportunity) 22 set: (key, value) => ~~~ src/provider/CodexChatGptHandoff.ts:26:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ServerSecretStore.ServerSecretStore.remove")((key) => { ... })`. effect(effectFnOpportunity) 26 remove: (key) => ~~~~~~ src/provider/CodexChatGptHandoff.ts:30:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ServerSecretStore.ServerSecretStore.create")(() => { ... })`. effect(effectFnOpportunity) 30 create: () => Effect.die("Handoff does not create persistent secrets."), ~~~~~~ src/provider/CodexChatGptHandoff.ts:31:9 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ServerSecretStore.ServerSecretStore.getOrCreateRandom")(() => { ... })`. effect(effectFnOpportunity) 31 getOrCreateRandom: () => Effect.die("Handoff uses the destination environment identity."), ~~~~~~~~~~~~~~~~~ src/provider/ModelManifest.ts:270:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ModelCatalog.ModelCatalog.current")((driverKind) => { ... })`. effect(effectFnOpportunity) 270 current: (driverKind) => ~~~~~~~ src/provider/ProviderAuthService.ts:208:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAuthService.importProfile")((input) => { ... })`. effect(effectFnOpportunity) 208 importProfile: (input) => ~~~~~~~~~~~~~ src/provider/ProviderHostLive.ts:42:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderHost.ProviderHost.resolveExtractedTextPath")((path) => { ... })`. effect(effectFnOpportunity) 42 resolveExtractedTextPath: (path) => ~~~~~~~~~~~~~~~~~~~~~~~~ src/provider/ProviderHostLive.ts:46:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderHost.ProviderHost.credentials")((namespace, bindingId) => { ... })`. effect(effectFnOpportunity) 46 credentials: (namespace, bindingId) => ~~~~~~~~~~~ src/pullRequest/PullRequestService.ts:2957:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 2957 Effect.catchCause((cause) => ~~~~~~~~~~~~~~~~~ src/pullRequest/PullRequestService.ts:3388:7 - suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 3388 Effect.catchCause((cause) => ~~~~~~~~~~~~~~~~~ src/pullRequest/PullRequestService.ts:3624:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestService.listStats")((input) => { ... })`. effect(effectFnOpportunity) 3624 listStats: (input) => ~~~~~~~~~ src/relay/AgentAwarenessRelay.ts:846:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AgentAwarenessRelay.requestCatchUp")(() => { ... })`. effect(effectFnOpportunity) 846 requestCatchUp: () => Queue.offer(catchUpRequests, undefined).pipe(Effect.asVoid), ~~~~~~~~~~~~~~ src/resourceTelemetry/DesktopTelemetryReceiver.ts:640:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.requestDesktopUpdate")((requestId) => { ... })`. effect(effectFnOpportunity) 640 requestDesktopUpdate: (requestId) => ~~~~~~~~~~~~~~~~~~~~ src/resourceTelemetry/DesktopTelemetryReceiver.ts:646:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.commitDesktopUpdate")((requestId) => { ... })`. effect(effectFnOpportunity) 646 commitDesktopUpdate: (requestId) => ~~~~~~~~~~~~~~~~~~~ src/resourceTelemetry/DesktopTelemetryReceiver.ts:648:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.cancelDesktopUpdate")((requestId) => { ... })`. effect(effectFnOpportunity) 648 cancelDesktopUpdate: (requestId) => ~~~~~~~~~~~~~~~~~~~ src/resourceTelemetry/DesktopTelemetryReceiver.ts:697:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.setDiagnosticsDemand")(() => { ... })`. effect(effectFnOpportunity) 697 setDiagnosticsDemand: () => Effect.void, ~~~~~~~~~~~~~~~~~~~~ src/resourceTelemetry/DesktopTelemetryReceiver.ts:698:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.requestDesktopUpdate")(() => { ... })`. effect(effectFnOpportunity) 698 requestDesktopUpdate: () => Effect.void, ~~~~~~~~~~~~~~~~~~~~ src/resourceTelemetry/DesktopTelemetryReceiver.ts:699:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.commitDesktopUpdate")(() => { ... })`. effect(effectFnOpportunity) 699 commitDesktopUpdate: () => Effect.void, ~~~~~~~~~~~~~~~~~~~ src/resourceTelemetry/DesktopTelemetryReceiver.ts:700:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.cancelDesktopUpdate")(() => { ... })`. effect(effectFnOpportunity) 700 cancelDesktopUpdate: () => Effect.void, ~~~~~~~~~~~~~~~~~~~ src/resourceTelemetry/NativeTelemetryClient.ts:1091:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("NativeTelemetryClient.readHistory")(() => { ... })`. effect(effectFnOpportunity) 1091 readHistory: () => ~~~~~~~~~~~ src/resourceTelemetry/NativeTelemetryClient.ts:1097:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("NativeTelemetryClient.setExternalProcesses")(() => { ... })`. effect(effectFnOpportunity) 1097 setExternalProcesses: () => Effect.void, ~~~~~~~~~~~~~~~~~~~~ src/resourceTelemetry/NativeTelemetryClient.ts:1098:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("NativeTelemetryClient.setHostPowerState")(() => { ... })`. effect(effectFnOpportunity) 1098 setHostPowerState: () => Effect.void, ~~~~~~~~~~~~~~~~~ src/sourceControl/SourceControlProviderRegistry.ts:198:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) 198 listChangeRequests: (input) => ~~~~~~~~~~~~~~~~~~ src/sourceControl/SourceControlProviderRegistry.ts:203:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 203 getChangeRequest: (input) => ~~~~~~~~~~~~~~~~ src/sourceControl/SourceControlProviderRegistry.ts:208:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 208 createChangeRequest: (input) => ~~~~~~~~~~~~~~~~~~~ src/sourceControl/SourceControlProviderRegistry.ts:213:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) 213 getRepositoryCloneUrls: (input) => ~~~~~~~~~~~~~~~~~~~~~~ src/sourceControl/SourceControlProviderRegistry.ts:218:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createRepository")((input) => { ... })`. effect(effectFnOpportunity) 218 createRepository: (input) => provider.createRepository(input), ~~~~~~~~~~~~~~~~ src/sourceControl/SourceControlProviderRegistry.ts:219:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) 219 getDefaultBranch: (input) => ~~~~~~~~~~~~~~~~ src/sourceControl/SourceControlProviderRegistry.ts:224:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) 224 checkoutChangeRequest: (input) => ~~~~~~~~~~~~~~~~~~~~~ src/sourceControl/SourceControlProviderRegistry.ts:339:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProviderRegistry.resolve")((input) => { ... })`. effect(effectFnOpportunity) 339 resolve: (input) => resolveHandle(input).pipe(Effect.map((handle) => handle.provider)), ~~~~~~~ src/sourceControl/SourceControlRepositoryService.ts:385:7 - suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) 385 Effect.catch((sshError) => ~~~~~~~~~~~~ src/sourceControl/SourceControlRepositoryService.ts:524:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.lookupRepository")((input) => { ... })`. effect(effectFnOpportunity) 524 lookupRepository: (input) => ~~~~~~~~~~~~~~~~ src/sourceControl/SourceControlRepositoryService.ts:526:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.prepareClone")((input) => { ... })`. effect(effectFnOpportunity) 526 prepareClone: (input) => ~~~~~~~~~~~~ src/sourceControl/SourceControlRepositoryService.ts:533:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.cloneRepository")((input, options) => { ... })`. effect(effectFnOpportunity) 533 cloneRepository: (input, options) => ~~~~~~~~~~~~~~~ src/sourceControl/SourceControlRepositoryService.ts:540:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.discardClone")((destinationPath) => { ... })`. effect(effectFnOpportunity) 540 discardClone: (destinationPath) => ~~~~~~~~~~~~ src/sourceControl/SourceControlRepositoryService.ts:544:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.publishRepository")((input) => { ... })`. effect(effectFnOpportunity) 544 publishRepository: (input) => ~~~~~~~~~~~~~~~~~ src/telemetry/AnalyticsService.ts:98:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AnalyticsService.record")(() => { ... })`. effect(effectFnOpportunity) 98 record: () => Effect.void, ~~~~~~ src/telemetry/AnalyticsService.ts:100:7 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AnalyticsService.recordOwners")(() => { ... })`. effect(effectFnOpportunity) 100 recordOwners: () => Effect.void, ~~~~~~~~~~~~ src/textGeneration/TextGeneration.ts:60:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TextGeneration.generateCommitMessage")((input) => { ... })`. effect(effectFnOpportunity) 60 generateCommitMessage: (input) => ~~~~~~~~~~~~~~~~~~~~~ src/textGeneration/TextGeneration.ts:64:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TextGeneration.generatePrContent")((input) => { ... })`. effect(effectFnOpportunity) 64 generatePrContent: (input) => ~~~~~~~~~~~~~~~~~ src/textGeneration/TextGeneration.ts:68:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TextGeneration.generateBranchName")((input) => { ... })`. effect(effectFnOpportunity) 68 generateBranchName: (input) => ~~~~~~~~~~~~~~~~~~ src/textGeneration/TextGeneration.ts:72:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TextGeneration.generateReviewGuide")((input) => { ... })`. effect(effectFnOpportunity) 72 generateReviewGuide: (input) => ~~~~~~~~~~~~~~~~~~~ src/textGeneration/TextGeneration.ts:76:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("TextGeneration.generateThreadTitle")((input) => { ... })`. effect(effectFnOpportunity) 76 generateThreadTitle: (input) => ~~~~~~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:3964:9 - suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) 3964 Effect.flatMap((result) => ~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4448:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.commit")((cwd, subject, body, options) => { ... })`. effect(effectFnOpportunity) 4448 commit: (cwd, subject, body, options) => ~~~~~~ src/vcs/GitVcsDriverCore.ts:4450:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pushCurrentBranch")((cwd, fallbackBranch, options) => { ... })`. effect(effectFnOpportunity) 4450 pushCurrentBranch: (cwd, fallbackBranch, options) => ~~~~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4452:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pullCurrentBranch")((cwd) => { ... })`. effect(effectFnOpportunity) 4452 pullCurrentBranch: (cwd) => withListRefsInvalidation(cwd, pullCurrentBranch(cwd)), ~~~~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4460:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.createWorktree")((input, options) => { ... })`. effect(effectFnOpportunity) 4460 createWorktree: (input, options) => ~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4462:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRefIntoBranch")((input) => { ... })`. effect(effectFnOpportunity) 4462 fetchRefIntoBranch: (input) => withListRefsInvalidation(input.cwd, fetchRefIntoBranch(input)), ~~~~~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4465:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.refreshCheckedOutBranch")((input) => { ... })`. effect(effectFnOpportunity) 4465 refreshCheckedOutBranch: (input) => ~~~~~~~~~~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4467:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.ensureRemote")((input) => { ... })`. effect(effectFnOpportunity) 4467 ensureRemote: (input) => withListRefsInvalidation(input.cwd, ensureRemote(input)), ~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4470:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemote")((input) => { ... })`. effect(effectFnOpportunity) 4470 fetchRemote: (input) => ~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4485:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchWorktreeBaseCommit")((input) => { ... })`. effect(effectFnOpportunity) 4485 fetchWorktreeBaseCommit: (input) => ~~~~~~~~~~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4487:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemoteBranch")((input) => { ... })`. effect(effectFnOpportunity) 4487 fetchRemoteBranch: (input) => withListRefsInvalidation(input.cwd, fetchRemoteBranch(input)), ~~~~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4488:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemoteTrackingBranch")((input) => { ... })`. effect(effectFnOpportunity) 4488 fetchRemoteTrackingBranch: (input) => ~~~~~~~~~~~~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4490:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.setBranchUpstream")((input) => { ... })`. effect(effectFnOpportunity) 4490 setBranchUpstream: (input) => withListRefsInvalidation(input.cwd, setBranchUpstream(input)), ~~~~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4491:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.removeWorktree")((input) => { ... })`. effect(effectFnOpportunity) 4491 removeWorktree: (input) => withListRefsInvalidation(input.cwd, removeWorktree(input)), ~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4492:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pruneWorktrees")((input) => { ... })`. effect(effectFnOpportunity) 4492 pruneWorktrees: (input) => withListRefsInvalidation(input.cwd, pruneWorktrees(input)), ~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4493:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.deleteLocalBranch")((input) => { ... })`. effect(effectFnOpportunity) 4493 deleteLocalBranch: (input) => withListRefsInvalidation(input.cwd, deleteLocalBranch(input)), ~~~~~~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4494:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.renameBranch")((input) => { ... })`. effect(effectFnOpportunity) 4494 renameBranch: (input) => withListRefsInvalidation(input.cwd, renameBranch(input)), ~~~~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4495:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.createRef")((input) => { ... })`. effect(effectFnOpportunity) 4495 createRef: (input) => withListRefsInvalidation(input.cwd, createRef(input)), ~~~~~~~~~ src/vcs/GitVcsDriverCore.ts:4496:5 - suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.switchRef")((input) => { ... })`. effect(effectFnOpportunity) 4496 switchRef: (input) => withListRefsInvalidation(input.cwd, switchRef(input)), ~~~~~~~~~ Waiting for 1 remote cache upload to finish... --- vp run: 0/2 cache hit (0%), 2/2 successful. @t3tools/scripts#typecheck not cached because it modified its inputs. (Run `vp run --last-details` for full details) > vp test (1 files) pass 54.4s RUN v5.0.5 /home/ubuntu/wt/issue-25157 Test Files 1 passed (1) Tests 47 passed (47) Start at 02:44:41 Duration 42.81s (transform 79%, tests 8%, setup 8%, import 5%) > vp knip 2/2 pass 59.8s check:changed summary pass format 1.2s pass lint 3.2s pass knip 1/2 38.6s pass knip 2/2 59.8s pass graphql (apps/server) 2.5s pass typecheck (2 packages) 41.3s pass test (1 files) 54.4s CI also runs: full test suites, build unused patch check skipped: no dependency files changed pass not cached: files changed during the run