UTC 2026-10-23T06:26:32.683138+00:00 HEAD 66eddc7146296220b71ce85c3ba1644d6285a6ee CWD /home/ubuntu/wt/pr-14419/apps/server COMMAND ['vpr', 'typecheck'] ~/apps/server$ tsc --noEmit ⊘ cache disabled scripts/acp-mock-agent.ts(941,16): suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) scripts/record-codex-app-server-replay-fixture.ts(1175,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("logger")((event) => { ... })`. effect(effectFnOpportunity) scripts/record-grok-acp-replay-fixture.ts(376,38): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) src/auth/EnvironmentAuth.ts(1346,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EnvironmentAuth.getDescriptor")(() => { ... })`. effect(effectFnOpportunity) src/auth/EnvironmentAuthPolicy.ts(55,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("EnvironmentAuthPolicy.getDescriptor")(() => { ... })`. effect(effectFnOpportunity) src/auth/McpOAuth.ts(540,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpHttpServer.McpClientAuthenticator.authenticate")((request) => { ... })`. effect(effectFnOpportunity) src/cli/thread.ts(468,11): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/cloud/CliTokenManager.ts(328,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("HttpClientError")(function*(cause) { ... })`. effect(effectFnOpportunity) src/cloud/CloudLink.lifecycle.test.ts(166,21): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/cloud/CloudLink.test.ts(99,17): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/cloud/ManagedEndpointRuntime.ts(791,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CloudManagedEndpointRuntime.requestRecovery")((config) => { ... })`. effect(effectFnOpportunity) src/cloud/http.test.ts(81,67): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 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) src/device/DeviceService.ts(808,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DeviceService.updateTool")((tool) => { ... })`. effect(effectFnOpportunity) src/device/DeviceService.ts(823,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DeviceService.easAccount")(() => { ... })`. effect(effectFnOpportunity) src/device/EasDeviceHost.ts(868,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DeviceHost.DeviceHost.ensureAgentReady")((onPhase) => { ... })`. effect(effectFnOpportunity) src/device/easProjectId.ts(201,7): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) src/environment/DirectEndpoints.ts(141,31): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DirectEndpoints.resolve")(() => { ... })`. effect(effectFnOpportunity) src/environment/RemoteOpenTargets.ts(83,33): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("RemoteOpenTargets.resolveTargets")(() => { ... })`. effect(effectFnOpportunity) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) 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) src/htmlRender/headlessChrome.ts(281,9): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("receive")((raw) => { ... })`. effect(effectFnOpportunity) src/mcp/AcpMcpStdioBridge.ts(284,7): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) src/mcp/AcpMcpStdioBridge.ts(324,7): suggestion TS377099: `Effect.ignoreCause` expresses ignored failure more directly than `Effect.catchCause` returning `Effect.void`. effect(catchToIgnore) src/mcp/McpDeviceToolkit.test.ts(105,18): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/mcp/McpHttpServer.ts(421,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("previewSnapshotFailure")((cause) => { ... })`. effect(effectFnOpportunity) src/mcp/McpHttpServer.ts(933,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpServer.McpServer.addTool")((options) => { ... })`. effect(effectFnOpportunity) src/mcp/McpSessionRegistry.testkit.ts(22,20): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/mcp/McpToolAccess.ts(112,7): suggestion TS377132: `Effect.andThen` expresses this sequencing more directly than `Effect.flatMap` with a zero-parameter callback. effect(flatMapIgnoredParamToAndThen) src/mcp/OrchestratorMcpService.ts(2459,39): suggestion TS377088: This generator applies the same inline `Effect.mapError(...)` to every yielded effect. Keep that `Effect.mapError(...)` inline and hoist it once to the generator result: `Effect.gen(...).pipe(Effect.mapError(...))`, or `Effect.fn(function*(){ ... }, Effect.mapError(...))`. effect(redundantMapError) src/mcp/PreviewAutomationBroker.ts(651,9): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("onNone")(function*() { ... })`. effect(effectFnOpportunity) src/mcp/WorktreeMcpService.test.ts(355,3): suggestion TS377017: This Effect.gen contains a single return statement. effect(unnecessaryEffectGen) src/mcp/toolkits/pullRequests/handlers.ts(222,27): suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) src/mcpApps/McpAppModelContext.ts(96,27): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpAppModelContext.set")(() => { ... })`. effect(effectFnOpportunity) src/mcpApps/McpAppModelContext.ts(96,51): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("McpAppModelContext.forThread")(() => { ... })`. effect(effectFnOpportunity) 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) src/observability/EventLoopMonitor.ts(41,49): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/orchestration-v2/Adapters/AcpRegistryAdapterV2.testkit.ts(30,32): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts(48,17): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts(169,23): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts(306,23): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/orchestration-v2/Adapters/AntigravityAdapterV2.test.ts(542,23): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts(974,26): suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts(1326,37): suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts(1332,28): suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts(1355,37): suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) src/orchestration-v2/Adapters/ClaudeAdapterV2.ts(4006,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Adapters/ClaudeAdapterV2.ts(4007,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts(184,17): suggestion TS377111: `AbortController` is manually constructed inside Effect code. Use `Effect.abortSignal` for Effect-managed cancellation. effect(abortControllerInEffect) src/orchestration-v2/Adapters/ClaudeTaskOutputTail.ts(74,17): suggestion TS377121: This Effect first-completion race has exactly one sleep- or delay-based timer arm. `Effect.timeoutOrElse` expresses the timeout and fallback directly. effect(raceFirstWithSleepToTimeout) src/orchestration-v2/Adapters/CodexAdapterV2.ts(1741,25): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/orchestration-v2/Adapters/CodexAdapterV2.ts(1748,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.getCapabilities")(() => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Adapters/CodexAdapterV2.ts(1749,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAdapter.ProviderAdapterV2.planSelectionTransition")(() => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Adapters/CodexAdapterV2.ts(3045,19): suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) src/orchestration-v2/Adapters/CodexAdapterV2.ts(3046,19): suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) src/orchestration-v2/Adapters/CodexAdapterV2.ts(3068,19): suggestion TS377099: `Effect.ignore` expresses ignored failure more directly than `Effect.catch` returning `Effect.void`. effect(catchToIgnore) src/orchestration-v2/Adapters/CodexAdapterV2.ts(7268,26): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) src/orchestration-v2/Adapters/GrokAdapterV2.testkit.ts(33,38): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) src/orchestration-v2/Adapters/MuseAdapterV2.testkit.ts(414,38): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) src/orchestration-v2/CheckpointCaptureService.ts(242,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CheckpointCaptureServiceV2.execute")((input) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/CheckpointRestoreSafety.test.ts(104,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/CheckpointRestoreSafety.ts(41,13): suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) src/orchestration-v2/CheckpointRestoreSafety.ts(83,17): suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) src/orchestration-v2/CheckpointRollbackService.test.ts(233,22): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 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) src/orchestration-v2/CommandOutputHub.test.ts(168,5): suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) src/orchestration-v2/CommandReceiptStore.ts(164,29): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/CommandReceiptStore.ts(167,21): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/CommandReceiptStore.ts(168,58): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) src/orchestration-v2/CommandReceiptStore.ts(183,17): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/CommandReceiptStore.ts(192,25): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) src/orchestration-v2/EffectOutbox.ts(429,17): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/EffectOutbox.ts(430,39): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) src/orchestration-v2/EffectWorker.test.ts(107,20): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/EffectWorker.test.ts(302,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/EffectWorker.test.ts(369,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/EffectWorker.test.ts(436,24): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/EffectWorker.test.ts(437,18): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 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) 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) 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) 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) 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) src/orchestration-v2/FoundationPersistence.test.ts(1791,26): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/FoundationPersistence.test.ts(1793,11): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/FoundationPersistence.test.ts(2663,30): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/FoundationPersistence.test.ts(2880,30): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/Orchestrator.ts(11734,7): suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) src/orchestration-v2/Orchestrator.ts(12157,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.restartContinuationPending")((run) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12159,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.awaitRestartContinuation")((run) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12162,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.autoArmLimitRecovery")((input) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12190,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.searchThread")((input) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12198,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadHistoryPage")((threadId, cursor, throughEntryId, conversationOnly) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12202,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12206,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12210,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12218,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12222,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadProjection")((threadId) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12226,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getCheckpointContext")((threadId) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12230,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshot")((threadId) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12234,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadSnapshotWindow")((threadId, options) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12238,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12240,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.readShellSnapshot")((options) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12247,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadShell")((threadId) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/Orchestrator.ts(12251,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("OrchestratorV2.getThreadEventSequence")((threadId) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/ProjectSettingsUpgrade.integration.test.ts(160,28): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) 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) 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) src/orchestration-v2/ProjectionControlReads.test.ts(279,11): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 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) 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) src/orchestration-v2/ProviderEventIngestor.ts(93,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderTurnAnalytics.record")((properties) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/ProviderEventIngestor.ts(818,15): suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) src/orchestration-v2/ProviderSessionManager.test.ts(1155,19): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/ProviderTurnStartService.test.ts(150,13): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/ProviderTurnStartService.test.ts(703,13): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/ProviderTurnStartService.testkit.ts(14,20): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/ProviderTurnStartService.ts(499,15): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) src/orchestration-v2/ProviderTurnStartService.ts(1289,7): suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) src/orchestration-v2/PullRequestWatchReactor.ts(478,53): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) src/orchestration-v2/ResourceCleanupService.ts(49,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ResourceCleanupService.cleanupScheduledTasks")((threadId) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/ResourceCleanupService.ts(58,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ResourceCleanupService.cleanupTerminals")((threadId) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/ResourceCleanupService.ts(66,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ResourceCleanupService.cleanupPreviews")((threadId) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/ResourceCleanupService.ts(74,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ResourceCleanupService.cleanupAttachments")((attachmentIds) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/RunExecutionService.test.ts(1812,16): suggestion TS377114: `Effect.asSome` expresses wrapping the success value in `Option.some` directly. effect(mapSomeToAsSome) src/orchestration-v2/RunExecutionService.ts(919,15): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) src/orchestration-v2/RuntimePolicy.test.ts(90,9): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 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) src/orchestration-v2/RuntimeRequestService.test.ts(29,7): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/ThreadLaunchService.test.ts(189,33): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/ThreadLaunchService.test.ts(220,32): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) 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) 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) 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) 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) 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) 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) 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) src/orchestration-v2/ThreadManagementService.ts(688,7): suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) src/orchestration-v2/ThreadManagementService.ts(705,5): suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) src/orchestration-v2/ThreadManagementService.ts(716,9): suggestion TS377120: `Effect.filterOrFail` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) src/orchestration-v2/ThreadManagementService.ts(1129,43): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) src/orchestration-v2/ThreadManagementService.ts(1140,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.searchThread")((input) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/ThreadManagementService.ts(1145,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getThreadHistoryPage")((threadId, cursor, throughEntryId, conversationOnly) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/ThreadManagementService.ts(1151,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getTimelinePage")((threadId, options) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/ThreadManagementService.ts(1155,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getMessageCount")((threadId) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/ThreadManagementService.ts(1159,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getTurnItem")((input) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/ThreadManagementService.ts(1164,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ThreadManagementService.getThreadRecords")((threadId, fields, filter) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/ThreadManagementService.ts(1203,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("LegacyV1ThreadImporter.LegacyV1ThreadImporter.ensureTranscript")(() => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/ThreadPullRequestService.test.ts(135,31): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/ThreadPullRequestService.ts(327,17): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 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) src/orchestration-v2/ThreadSettlementService.ts(516,11): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) src/orchestration-v2/ThreadSettlementService.ts(534,7): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) src/orchestration-v2/ThreadSettlementService.ts(576,9): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) 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) src/orchestration-v2/http.test.ts(54,23): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeSync` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownSync`. effect(preferTypedSchemaDecoder) src/orchestration-v2/http.ts(231,11): suggestion TS377012: This Effect generator contains `try/catch`; in this context, error handling is expressed with Effect APIs such as Effect.try, Effect.tryPromise, Effect.catch, Effect.catchTag). effect(tryCatchInEffectGen) src/orchestration-v2/runtimeLayer.test.ts(120,18): suggestion TS377117: `Effect.succeedNone` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/runtimeLayer.test.ts(996,11): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/orchestration-v2/testkit/CommandOutputRecorder.ts(40,9): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("CommandOutputHub.CommandOutputHub.append")((input) => { ... })`. effect(effectFnOpportunity) src/orchestration-v2/testkit/OrchestratorScenario.ts(283,13): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("awaitDispatch")(function*(key) { ... })`. effect(effectFnOpportunity) 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) src/persistence/PullRequestFilesViewed.ts(92,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestFilesViewedRepository.list")((input) => { ... })`. effect(effectFnOpportunity) src/persistence/PullRequestFilesViewed.ts(102,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestFilesViewedRepository.set")((input) => { ... })`. effect(effectFnOpportunity) 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) 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) 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) src/preview/DesktopBrowserChannel.ts(75,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.awaitAttached")(() => { ... })`. effect(effectFnOpportunity) src/preview/DesktopBrowserChannel.ts(78,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.isAttached")(() => { ... })`. effect(effectFnOpportunity) src/preview/DesktopBrowserChannel.ts(79,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.endpoint")(() => { ... })`. effect(effectFnOpportunity) src/preview/DesktopBrowserChannel.ts(80,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.pointer")(() => { ... })`. effect(effectFnOpportunity) src/preview/DesktopBrowserChannel.ts(194,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.awaitAttached")((key, timeout) => { ... })`. effect(effectFnOpportunity) src/preview/DesktopBrowserChannel.ts(216,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.isAttached")((key) => { ... })`. effect(effectFnOpportunity) src/preview/DesktopBrowserChannel.ts(218,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopBrowserChannel.pointer")((key, pointer) => { ... })`. effect(effectFnOpportunity) src/preview/ServerBrowser.ts(480,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) src/preview/ServerBrowser.ts(687,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) src/preview/ServerBrowser.ts(696,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) src/preview/ServerBrowser.ts(698,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) src/preview/ServerBrowser.ts(708,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) src/preview/ServerBrowser.ts(712,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) src/preview/ServerBrowser.ts(1199,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) src/preview/ServerBrowser.ts(1688,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) src/preview/ServerBrowser.ts(1752,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) src/preview/ServerBrowser.ts(1755,58): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/preview/ServerBrowser.ts(1761,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) src/preview/ServerBrowser.ts(1789,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) src/preview/ServerBrowser.ts(1820,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) src/preview/ServerBrowser.ts(1884,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) src/preview/ServerBrowser.ts(1952,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) src/preview/ServerBrowser.ts(1964,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) src/preview/ServerBrowser.ts(2210,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) src/preview/ServerBrowserStream.ts(179,13): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("receive")((chunk) => { ... })`. effect(effectFnOpportunity) src/preview/ServerBrowserStream.ts(209,5): suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) src/process/externalLauncher.ts(860,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ExternalLauncher.resolveAvailableEditors")(() => { ... })`. effect(effectFnOpportunity) src/process/externalLauncher.ts(861,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ExternalLauncher.resolveFileManagerRevealKind")(() => { ... })`. effect(effectFnOpportunity) src/process/externalLauncher.ts(865,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ExternalLauncher.launchBrowser")((target) => { ... })`. effect(effectFnOpportunity) src/process/externalLauncher.ts(869,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ExternalLauncher.launchEditor")((input) => { ... })`. effect(effectFnOpportunity) src/project/AgentSessionImporter.test.ts(212,15): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/project/ManagedProjectFolders.ts(346,13): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/project/ManagedProjectFolders.ts(348,15): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/project/ProjectCloneTracker.ts(432,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectCloneTracker.start")((input, hooks) => { ... })`. effect(effectFnOpportunity) src/project/ProjectCloneTracker.ts(433,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectCloneTracker.cancel")((projectId) => { ... })`. effect(effectFnOpportunity) src/project/ProjectCloneTracker.ts(434,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectCloneTracker.retry")((projectId) => { ... })`. effect(effectFnOpportunity) src/project/ProjectCloneTracker.ts(435,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProjectCloneTracker.discard")((projectId) => { ... })`. effect(effectFnOpportunity) 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) 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) 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) 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) 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) src/provider/CodexInstallation.ts(205,26): suggestion TS377112: This input is already assignable to the schema's Encoded type. Use `decodeEffect` to preserve compile-time type checking instead of discarding the input type through `decodeUnknownEffect`. effect(preferTypedSchemaDecoder) src/provider/CodexProvider.ts(569,11): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/provider/ModelManifest.ts(284,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ModelCatalog.ModelCatalog.current")((driverKind) => { ... })`. effect(effectFnOpportunity) src/provider/ProviderAuthService.test.ts(284,24): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) src/provider/ProviderAuthService.ts(211,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderAuthService.importProfile")((input) => { ... })`. effect(effectFnOpportunity) src/provider/ProviderHostLive.ts(39,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("ProviderHost.ProviderHost.credentials")((namespace, bindingId) => { ... })`. effect(effectFnOpportunity) src/pullRequest/PullRequestService.ts(2773,7): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) src/pullRequest/PullRequestService.ts(3176,7): suggestion TS377116: `Effect.catchCauseIf` expresses selective recovery more directly than `Effect.catchCause` with a conditional `Effect.failCause` passthrough. effect(catchConditionalRefailToCatchIf) src/pullRequest/PullRequestService.ts(3395,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("PullRequestService.listStats")((input) => { ... })`. effect(effectFnOpportunity) src/relay/AgentAwarenessRelay.test.ts(270,9): suggestion TS377117: `Effect.succeedSome` expresses this Option success value directly. effect(preferSucceedSomeOrNone) src/relay/AgentAwarenessRelay.ts(822,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AgentAwarenessRelay.requestCatchUp")(() => { ... })`. effect(effectFnOpportunity) src/resourceTelemetry/DesktopTelemetryReceiver.ts(641,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.requestDesktopUpdate")((requestId) => { ... })`. effect(effectFnOpportunity) src/resourceTelemetry/DesktopTelemetryReceiver.ts(647,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.commitDesktopUpdate")((requestId) => { ... })`. effect(effectFnOpportunity) src/resourceTelemetry/DesktopTelemetryReceiver.ts(649,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.cancelDesktopUpdate")((requestId) => { ... })`. effect(effectFnOpportunity) src/resourceTelemetry/DesktopTelemetryReceiver.ts(698,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.setDiagnosticsDemand")(() => { ... })`. effect(effectFnOpportunity) src/resourceTelemetry/DesktopTelemetryReceiver.ts(699,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.requestDesktopUpdate")(() => { ... })`. effect(effectFnOpportunity) src/resourceTelemetry/DesktopTelemetryReceiver.ts(700,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.commitDesktopUpdate")(() => { ... })`. effect(effectFnOpportunity) src/resourceTelemetry/DesktopTelemetryReceiver.ts(701,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("DesktopTelemetryReceiver.cancelDesktopUpdate")(() => { ... })`. effect(effectFnOpportunity) src/resourceTelemetry/NativeTelemetryClient.ts(1091,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("NativeTelemetryClient.readHistory")(() => { ... })`. effect(effectFnOpportunity) src/resourceTelemetry/NativeTelemetryClient.ts(1097,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("NativeTelemetryClient.setExternalProcesses")(() => { ... })`. effect(effectFnOpportunity) src/resourceTelemetry/NativeTelemetryClient.ts(1098,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("NativeTelemetryClient.setHostPowerState")(() => { ... })`. effect(effectFnOpportunity) src/scheduledTasks/ScheduledTaskService.ts(1136,31): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/secrets/SecretRequests.test.ts(166,30): suggestion TS377113: `Effect.forEach` expresses this effectful array mapping more directly than `Effect.all` over `Array#map`. effect(allOfMapToForEach) src/server.ts(480,5): suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) src/serverRuntimeStartup.test.ts(209,25): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/serverSettings.test.ts(413,30): suggestion TS377113: `Effect.forEach` expresses this effectful array mapping more directly than `Effect.all` over `Array#map`. effect(allOfMapToForEach) src/sourceControl/SourceControlProviderRegistry.ts(204,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.listChangeRequests")((input) => { ... })`. effect(effectFnOpportunity) src/sourceControl/SourceControlProviderRegistry.ts(209,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) src/sourceControl/SourceControlProviderRegistry.ts(214,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) src/sourceControl/SourceControlProviderRegistry.ts(219,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getRepositoryCloneUrls")((input) => { ... })`. effect(effectFnOpportunity) src/sourceControl/SourceControlProviderRegistry.ts(224,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.createRepository")((input) => { ... })`. effect(effectFnOpportunity) src/sourceControl/SourceControlProviderRegistry.ts(225,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.getDefaultBranch")((input) => { ... })`. effect(effectFnOpportunity) src/sourceControl/SourceControlProviderRegistry.ts(230,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProvider.SourceControlProvider.checkoutChangeRequest")((input) => { ... })`. effect(effectFnOpportunity) src/sourceControl/SourceControlProviderRegistry.ts(345,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlProviderRegistry.resolve")((input) => { ... })`. effect(effectFnOpportunity) src/sourceControl/SourceControlRepositoryService.ts(405,7): suggestion TS377116: `Effect.catchIf` expresses selective recovery more directly than `Effect.catch` with a conditional `Effect.fail` passthrough. effect(catchConditionalRefailToCatchIf) src/sourceControl/SourceControlRepositoryService.ts(552,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.lookupRepository")((input) => { ... })`. effect(effectFnOpportunity) src/sourceControl/SourceControlRepositoryService.ts(554,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.prepareClone")((input) => { ... })`. effect(effectFnOpportunity) src/sourceControl/SourceControlRepositoryService.ts(561,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.cloneRepository")((input, options) => { ... })`. effect(effectFnOpportunity) src/sourceControl/SourceControlRepositoryService.ts(568,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.discardClone")((destinationPath) => { ... })`. effect(effectFnOpportunity) src/sourceControl/SourceControlRepositoryService.ts(572,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("SourceControlRepositoryService.publishRepository")((input) => { ... })`. effect(effectFnOpportunity) src/storageCleanup.ts(706,14): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) src/telemetry/AnalyticsService.ts(113,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AnalyticsService.record")(() => { ... })`. effect(effectFnOpportunity) src/telemetry/AnalyticsService.ts(115,7): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("AnalyticsService.recordOwners")(() => { ... })`. effect(effectFnOpportunity) src/telemetry/AnalyticsService.ts(329,62): suggestion TS377132: `Effect.andThen` expresses this sequencing more directly than `Effect.flatMap` with a zero-parameter callback. effect(flatMapIgnoredParamToAndThen) src/textGeneration/CodexTextGeneration.ts(90,13): suggestion TS377099: `Effect.ignore` expresses ignored failure more directly than `Effect.catch` returning `Effect.void`. effect(catchToIgnore) 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) 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) 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) 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) 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) src/usage/UsageService.ts(172,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("UsageService.readSummary")((input) => { ... })`. effect(effectFnOpportunity) src/usage/UsageService.ts(642,9): suggestion TS377015: This expression contains chained `pipe` calls that can be simplified to a single `pipe` call. effect(unnecessaryPipeChain) src/vcs/GitVcsDriverCore.ts(4005,9): suggestion TS377120: `Effect.filterOrElse` expresses this conditional validation more directly than `Effect.flatMap` with an identity `Effect.succeed` branch. effect(flatMapConditionalToFilterOrFail) src/vcs/GitVcsDriverCore.ts(4496,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.commit")((cwd, subject, body, options) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4498,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pushCurrentBranch")((cwd, fallbackBranch, options) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4500,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pullCurrentBranch")((cwd) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4507,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.createWorktree")((input, options) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4509,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchPullRequestBranch")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4513,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.refreshCheckedOutBranch")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4515,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.ensureRemote")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4518,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemote")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4533,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchWorktreeBaseCommit")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4535,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemoteBranch")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4536,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.fetchRemoteTrackingBranch")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4538,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.setBranchUpstream")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4539,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.removeWorktree")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4540,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.pruneWorktrees")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4541,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.deleteLocalBranch")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4542,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.renameBranch")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4543,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.createRef")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/GitVcsDriverCore.ts(4544,5): suggestion TS377047: This expression can be rewritten in the reusable function form `Effect.fn("GitVcsDriver.GitVcsDriver.switchRef")((input) => { ... })`. effect(effectFnOpportunity) src/vcs/VcsStatusBroadcaster.ts(153,5): suggestion TS377014: This generator returns an Effect-able value directly, which produces a nested `Effect>`. If the intended result is the inner Effect value, `return yield*` represents that form. effect(returnEffectInGen) src/workspace/WorkspaceFileSystem.ts(171,15): suggestion TS377095: `Effect.orElseSucceed` expresses the same recovery more directly than `Effect.catch` followed by `Effect.succeed`. effect(catchToOrElseSucceed) src/workspace/WorkspaceFileSystem.ts(171,34): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/ws.test.ts(400,47): suggestion TS377016: `Effect.void` represents the same outcome as `Effect.succeed(undefined)` or `Effect.succeed(void 0)`. effect(effectSucceedWithVoid) src/ws.ts(1389,23): suggestion TS377118: `Effect.fromOption` expresses this Option-to-Effect conversion more directly than `Option.match` or an Option tag conditional. effect(optionMatchToFromOption) src/ws.ts(2324,24): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) src/ws.ts(2333,24): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) src/ws.ts(2341,24): suggestion TS377019: This `yield* Effect.fail(...)` passes a yieldable error value. `yield*` represents that value directly without wrapping it in `Effect.fail`. effect(unnecessaryFailYieldableError) EXIT 0