From 1bec53ceb23b5f296a38ffa0e085778d32fc7849 Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Sun, 4 Oct 2026 19:58:35 -0700 Subject: [PATCH] Reduce repeated CI setup and overlap mobile typechecks (#25359) * Measure remaining CI import, diagnostic and checkout savings * Qualify remaining CI candidates on hosted runners * Qualify independent mobile typecheck overlap on Actions * Keep explicit RPC test registries from loading unused methods * Qualify complete RPC registry cohort and mobile cancellation * Promote measured CI setup and typecheck savings * Recognize the shared RPC test guard in lint policy * Align the mobile barrier contract with independent typechecks --- .github/workflows/mobile.yml | 4 +- .github/workflows/ssh-windows-hosts.yml | 11 ++ config/oxlint-anti-slop.json | 7 + ....ts => agent-status-hot-path-benchmark.ts} | 56 ++++---- .../ci-background-step-barriers.test.mjs | 4 +- .../mobile-typecheck-workflow.test.mjs | 9 +- .../vitest.agent-status-benchmark.config.ts | 12 ++ docs/reference/ci-runner-efficiency.md | 136 ++++++++++++++++++ .../session-search-scope-entry-points.test.ts | 1 + ...ssion-subscriber-journal-retention.test.ts | 1 + ...wser-screencast-driver-attribution.test.ts | 1 + ...ude-structured-session-integration.test.ts | 1 + ...n-mailbox-notification-consistency.test.ts | 1 + ...stration-message-delivery-identity.test.ts | 1 + ...spatcher-browser-client-automation.test.ts | 1 + .../rpc/dispatcher-computer-errors.test.ts | 1 + .../dispatcher-feature-interactions.test.ts | 1 + .../agent-launch-pane-reservation.test.ts | 1 + .../agent-launch-prestart-failure.test.ts | 1 + .../rpc/methods/agent-launch-replay.test.ts | 1 + .../agent-launch-session-reservation.test.ts | 1 + .../runtime/rpc/methods/agent-session.test.ts | 1 + .../rpc/methods/ai-vault-search.test.ts | 1 + src/main/runtime/rpc/methods/ai-vault.test.ts | 1 + .../automation-scoped-list-methods.test.ts | 1 + .../runtime/rpc/methods/automations.test.ts | 1 + ...rowser-client-host-attach-adoption.test.ts | 1 + ...browser-client-host-reconciliation.test.ts | 1 + .../rpc/methods/browser-client-host.test.ts | 1 + .../browser-client-page-metadata.test.ts | 1 + .../rpc/methods/browser-identity-rpc.test.ts | 1 + .../methods/browser-network-tunnel.test.ts | 1 + src/main/runtime/rpc/methods/browser.test.ts | 1 + .../client-native-chat-settings.test.ts | 1 + .../client-ui-pairing-local-fields.test.ts | 1 + .../client-ui-task-resume-state.test.ts | 1 + .../runtime/rpc/methods/client-ui.test.ts | 1 + .../runtime/rpc/methods/clipboard.test.ts | 1 + .../runtime/rpc/methods/diagnostics.test.ts | 1 + .../rpc/methods/files-base64-padding.test.ts | 1 + .../rpc/methods/files-doc-preview.test.ts | 1 + .../methods/files-list-all-page-size.test.ts | 1 + .../rpc/methods/files-open-navigation.test.ts | 1 + .../rpc/methods/files-path-search.test.ts | 1 + .../files-preview-transport-budget.test.ts | 1 + .../files-terminal-path-resolution.test.ts | 1 + .../methods/files-watch-cancellation.test.ts | 1 + .../rpc/methods/files-watch-cleanup.test.ts | 1 + src/main/runtime/rpc/methods/files.test.ts | 1 + .../methods/git-diff-transport-budget.test.ts | 1 + src/main/runtime/rpc/methods/git.test.ts | 1 + .../methods/github-pr-refresh-reason.test.ts | 1 + src/main/runtime/rpc/methods/github.test.ts | 1 + src/main/runtime/rpc/methods/gitlab.test.ts | 1 + .../rpc/methods/host-capabilities.test.ts | 1 + .../runtime/rpc/methods/hosted-review.test.ts | 1 + src/main/runtime/rpc/methods/jira.test.ts | 1 + .../rpc/methods/linear-agent-access.test.ts | 1 + src/main/runtime/rpc/methods/linear.test.ts | 1 + ...orchestration-dispatch-error-codes.test.ts | 1 + .../federated-message-targeting.test.ts | 1 + .../federation-control-mail.test.ts | 1 + .../federation-lifecycle-settlement.test.ts | 1 + .../federation/federation-output.test.ts | 1 + .../federation/federation.test.ts | 1 + .../messaging/recipient-routing.test.ts | 1 + .../messaging/send-invalid-type.test.ts | 1 + .../orchestration/messaging/send.test.ts | 1 + .../runs/migration-behavior.test.ts | 1 + .../worker-start-prompt-contract.test.ts | 1 + .../worker/workers-new-worktree.test.ts | 1 + src/main/runtime/rpc/methods/pairing.test.ts | 1 + .../runtime/rpc/methods/preflight.test.ts | 1 + .../rpc/methods/repo-badge-color.test.ts | 1 + src/main/runtime/rpc/methods/repo.test.ts | 1 + .../runtime-client-capabilities.test.ts | 1 + ...ion-tab-agent-capability-mutations.test.ts | 1 + ...on-tab-browser-placement-mutations.test.ts | 1 + .../session-tabs-inventory-rpc.test.ts | 1 + ...ession-tabs-retirement-proof-delta.test.ts | 1 + .../session-tabs-structured-restore.test.ts | 1 + .../session-tabs-subscribe-admission.test.ts | 1 + .../methods/session-tabs-unsubscribe.test.ts | 1 + .../runtime/rpc/methods/session-tabs.test.ts | 1 + src/main/runtime/rpc/methods/speech.test.ts | 1 + src/main/runtime/rpc/methods/ssh.test.ts | 1 + ...ured-agent-session-adoption-replay.test.ts | 1 + .../structured-agent-session-at-rest.test.ts | 1 + .../structured-agent-session-hold.test.ts | 1 + ...ed-agent-session-precommit-refusal.test.ts | 1 + ...ructured-agent-session-unsubscribe.test.ts | 1 + .../methods/structured-chat-tab-table.test.ts | 1 + ...-legacy-stream-id-characterization.test.ts | 1 + .../rpc/methods/terminal-navigation.test.ts | 1 + .../terminal-viewer-colors-method.test.ts | 1 + .../rpc/methods/workspace-ports.test.ts | 1 + .../worktree-catalog-snapshot-method.test.ts | 1 + .../worktree-catalog-version-stamp.test.ts | 1 + .../worktree-create-launch-source.test.ts | 1 + .../worktree-create-navigation.test.ts | 1 + .../worktree-github-pr-suppression.test.ts | 1 + ...worktree-missing-terminal-teardown.test.ts | 1 + .../methods/worktree-retired-names.test.ts | 1 + .../worktree-rm-background-reply.test.ts | 1 + .../worktree-rm-host-qualification.test.ts | 1 + .../methods/worktree-rm-pty-waiver.test.ts | 1 + src/main/runtime/rpc/methods/worktree.test.ts | 1 + ...ion-commit-notify-characterization.test.ts | 1 + .../rpc/orchestration-contract-fence.test.ts | 1 + ...hestration-legacy-coordinator-race.test.ts | 1 + ...estration-legacy-question-takeover.test.ts | 1 + ...-legacy-takeover-current-authority.test.ts | 1 + ...estration-legacy-takeover-delivery.test.ts | 1 + ...tration-legacy-takeover-dispatcher.test.ts | 1 + .../rpc/orchestration-mutation-ledger.test.ts | 1 + ...rchestration-mutation-request-show.test.ts | 1 + ...stration-runtime-update-settlement.test.ts | 1 + ...hestration-task-dispatch-invariant.test.ts | 1 + ...runtime-close-attribution-topology.test.ts | 1 + .../rpc/runtime-close-attribution.test.ts | 1 + src/main/runtime/rpc/streaming.test.ts | 1 + .../rpc/terminal-agent-prompt-send.test.ts | 1 + .../rpc/terminal-agent-send-guard.test.ts | 1 + .../terminal-geometry-stale-handle.test.ts | 1 + ...rminal-lease-stale-handle-survival.test.ts | 1 + ...terminal-list-host-scope-transport.test.ts | 1 + ...rminal-multiplex-ack-output-budget.test.ts | 1 + ...al-multiplex-ack-overflow-recovery.test.ts | 1 + ...l-multiplex-desktop-resize-routing.test.ts | 1 + .../terminal-multiplex-escape-tail.test.ts | 1 + ...ltiplex-initial-snapshot-buffering.test.ts | 1 + ...al-multiplex-input-write-rejection.test.ts | 1 + ...ultiplex-output-pause-and-viewport.test.ts | 1 + ...rminal-multiplex-pty-wait-capacity.test.ts | 1 + ...minal-multiplex-resync-replay-trim.test.ts | 1 + ...l-multiplex-snapshot-serialization.test.ts | 1 + ...-multiplex-subscribe-slot-recovery.test.ts | 1 + ...al-opencode-send-guard.integration.test.ts | 1 + .../rpc/terminal-output-batching.test.ts | 1 + .../terminal-prompt-delivery-receipt.test.ts | 1 + ...erminal-provider-snapshot-sequence.test.ts | 1 + ...-requested-snapshot-unavailability.test.ts | 1 + ...minal-send-launch-draft-resolution.test.ts | 1 + src/main/runtime/rpc/terminal-send.test.ts | 1 + .../rpc/terminal-subscribe-admission.test.ts | 1 + .../terminal-subscribe-blank-mount.test.ts | 1 + .../rpc/terminal-subscribe-buffer.test.ts | 1 + .../rpc/terminal-subscribe-lease-only.test.ts | 1 + .../terminal-subscribe-mount-replay.test.ts | 1 + .../terminal-subscribe-mounted-pane.test.ts | 1 + .../rpc/terminal-subscribe-ownership.test.ts | 1 + ...erminal-subscribe-reconnect-rebind.test.ts | 1 + ...ubscribe-relay-drop-lease-survival.test.ts | 1 + ...subscribe-renderer-recovery-output.test.ts | 1 + ...unused-default-rpc-methods.test-fixture.ts | 22 +++ .../runtime-file-path-existence.test.ts | 1 + .../runtime-git-status-admission.test.ts | 1 + ...ructured-agent-session-held-signal.test.ts | 1 + ...ructured-agent-session-integration.test.ts | 1 + .../structured-chat-coordinator-mail.test.ts | 4 +- ...al-subscriber-driven-daemon-attach.test.ts | 1 + .../ssh/ssh-relay-incumbent-process.test.ts | 3 +- .../ssh-remote-linear-relation-write.test.ts | 1 + ...ommentDecorator.commentable-lines.test.tsx | 16 ++- 164 files changed, 398 insertions(+), 38 deletions(-) rename config/scripts/{agent-status-hot-path-benchmark.test.ts => agent-status-hot-path-benchmark.ts} (88%) create mode 100644 config/vitest.agent-status-benchmark.config.ts create mode 100644 src/main/runtime/rpc/unused-default-rpc-methods.test-fixture.ts diff --git a/.github/workflows/mobile.yml b/.github/workflows/mobile.yml index ae695b8e3eb..78047f09d2e 100644 --- a/.github/workflows/mobile.yml +++ b/.github/workflows/mobile.yml @@ -120,8 +120,6 @@ jobs: background: true run: node node_modules/typescript/bin/tsc --noEmit - - wait: production-types - # Why a ratchet and not the raw typecheck: mobile/tsconfig.json excludes test files, so until # tsconfig.test.json existed nothing checked them, and at introduction 127 of the 632 had # drifted. This fails when a test file that checks today stops checking, when a test leaves @@ -129,6 +127,8 @@ jobs: - name: Typecheck tests (ratchet) run: node scripts/check-tests-typecheck-ratchet.mjs + - wait: production-types + # This includes the bridged replay of the whole recording corpus, which used to be a second # step of its own behind RPC_FOUNDATION_BRIDGE=1. A gate nobody can forget to set is the point: # it fails when a divergence class grows, when a divergence lands in no class at all, or when diff --git a/.github/workflows/ssh-windows-hosts.yml b/.github/workflows/ssh-windows-hosts.yml index 8afae35ca12..f822dd9a53d 100644 --- a/.github/workflows/ssh-windows-hosts.yml +++ b/.github/workflows/ssh-windows-hosts.yml @@ -84,6 +84,17 @@ jobs: - uses: actions/checkout@v6 with: persist-credentials: false + # Keep complete server/test trees; missing future imports fail the unchanged builds. + sparse-checkout: | + .github + config + native + resources + tests + src/main + src/shared + src/relay + src/types - name: Self-test the provisioning scripts before touching the machine shell: pwsh run: | diff --git a/config/oxlint-anti-slop.json b/config/oxlint-anti-slop.json index d951695a339..3a38be8e4a0 100644 --- a/config/oxlint-anti-slop.json +++ b/config/oxlint-anti-slop.json @@ -65,6 +65,13 @@ "anti-slop/no-module-mocking": "off" } }, + // Test-only side effect for explicit RPC registries; real catalog tests never import it. + { + "files": ["**/src/main/runtime/rpc/unused-default-rpc-methods.test-fixture.ts"], + "rules": { + "anti-slop/no-module-mocking": "off" + } + }, // The exemptions below are file-scoped rather than inline `oxlint-disable` comments // because the root lint scan does not load this plugin, so an inline directive naming // an anti-slop rule always reads back as an unused directive there. diff --git a/config/scripts/agent-status-hot-path-benchmark.test.ts b/config/scripts/agent-status-hot-path-benchmark.ts similarity index 88% rename from config/scripts/agent-status-hot-path-benchmark.test.ts rename to config/scripts/agent-status-hot-path-benchmark.ts index ece89b89d50..310de6723fb 100644 --- a/config/scripts/agent-status-hot-path-benchmark.test.ts +++ b/config/scripts/agent-status-hot-path-benchmark.ts @@ -8,10 +8,14 @@ * Counting passes patch `Map`/`Set`/`Object.assign`/`Object.values`, which deoptimizes them, so * counts and timings are taken in separate passes and never from the same run. * + * Run: ORCA_BACKGROUND_LAUNCH=1 pnpm exec vitest run --config config/vitest.agent-status-benchmark.config.ts + * * Scale mirrors the reporting user rather than the 100-worktree fixture in * docs/reference/renderer-agent-status-performance.md: 423 worktrees, 634 terminal tabs. */ import { writeFileSync } from 'node:fs' +import { tmpdir } from 'node:os' +import { join } from 'node:path' import { describe, expect, it } from 'vitest' import type { AppState } from '@/store/types' import type { AgentStatusBatchUpdate } from '@/store/slices/agent-status' @@ -23,6 +27,7 @@ import { TEST_REPO } from '@/store/slices/store-test-helpers' import { makePaneKey } from '../../src/shared/stable-pane-id' +import { getDefaultSettings } from '../../src/shared/constants' import { createAgentStatusPaneRoutingIndex, resolvePaneKeyFromRoutingIndex @@ -39,25 +44,24 @@ const counters = { maps: 0, sets: 0, tabComparisons: 0 } const NativeMap = globalThis.Map const NativeSet = globalThis.Set -const nativeArrayIterator = Array.prototype[Symbol.iterator] function withAllocationCounting(run: () => T): T { class CountingMap extends NativeMap { - constructor(entries?: readonly (readonly [K, V])[] | null) { + constructor(entries?: Iterable | null) { super(entries) counters.maps += 1 } } class CountingSet extends NativeSet { - constructor(values?: readonly V[] | null) { + constructor(values?: Iterable | null) { super(values) counters.sets += 1 } } counters.maps = 0 counters.sets = 0 - globalThis.Map = CountingMap as unknown as MapConstructor - globalThis.Set = CountingSet as unknown as SetConstructor + globalThis.Map = CountingMap + globalThis.Set = CountingSet try { return run() } finally { @@ -68,34 +72,33 @@ function withAllocationCounting(run: () => T): T { /** Tab list whose iteration is observable, so the nested-loop resolver's comparisons are countable. */ class CountingTabList extends Array { - [Symbol.iterator](): IterableIterator { - const inner = nativeArrayIterator.call(this) as IterableIterator - const wrapped: IterableIterator = { - next: () => { - const result = inner.next() - if (!result.done) { - counters.tabComparisons += 1 - } - return result - }, - [Symbol.iterator]: () => wrapped + [Symbol.iterator](): ArrayIterator { + const iterator = super[Symbol.iterator]() + const next = iterator.next.bind(iterator) + iterator.next = (...args) => { + const result = next(...args) + if (!result.done) { + counters.tabComparisons += 1 + } + return result } - return wrapped + return iterator } } function buildFixture(countTabIteration: boolean) { const store = createTestStore() + const settings = store.getState().settings ?? getDefaultSettings(tmpdir()) const tabsByWorktree: AppState['tabsByWorktree'] = {} const unifiedTabsByWorktree: AppState['unifiedTabsByWorktree'] = {} - const worktrees = [] + const worktrees: ReturnType[] = [] const paneKeys: string[] = [] const owners: { tabId: string; worktreeId: string }[] = [] for (let index = 0; index < WORKTREES; index += 1) { const worktreeId = `wt-${index}` worktrees.push(makeWorktree({ id: worktreeId, repoId: TEST_REPO.id })) - const tabs = [] - const unified = [] + const tabs: ReturnType[] = [] + const unified: ReturnType[] = [] for (let tab = 0; tab < (index % 2 === 0 ? 1 : 2); tab += 1) { const tabId = `tab-${index}-${tab}` tabs.push(makeTab({ id: tabId, worktreeId, title: `Terminal ${index}-${tab}` })) @@ -110,9 +113,7 @@ function buildFixture(countTabIteration: boolean) { paneKeys.push(makePaneKey(tabId, LEAF_ID)) owners.push({ tabId, worktreeId }) } - tabsByWorktree[worktreeId] = countTabIteration - ? (CountingTabList.from(tabs) as unknown as typeof tabs) - : tabs + tabsByWorktree[worktreeId] = countTabIteration ? CountingTabList.from(tabs) : tabs unifiedTabsByWorktree[worktreeId] = unified } store.setState({ @@ -122,8 +123,8 @@ function buildFixture(countTabIteration: boolean) { unifiedTabsByWorktree, terminalLayoutsByTabId: {}, setGeneratedTabTitlesFromAgentPrompts: () => {}, - settings: { ...store.getState().settings, tabAutoGenerateTitle: false } - } as Partial) + settings: { ...settings, tabAutoGenerateTitle: false } + }) return { store, paneKeys, owners } } @@ -141,7 +142,7 @@ function per1k(value: number): number { function runIndexedRouting(store: ReturnType, paneKeys: string[]): void { for (let event = 0; event < EVENTS; event += 1) { if (event % BATCH_SIZE === 0) { - store.setState({ agentStatusEpoch: event } as Partial) + store.setState({ agentStatusEpoch: event }) } const index = createAgentStatusPaneRoutingIndex(store.getState()) resolvePaneKeyFromRoutingIndex(index, paneKeys[event % paneKeys.length]) @@ -287,7 +288,8 @@ describe('agent-status hot path benchmark', () => { } const outputPath = - process.env.ORCA_AGENT_STATUS_BENCH_OUTPUT ?? '/tmp/agent-status-hot-path-benchmark.json' + process.env.ORCA_AGENT_STATUS_BENCH_OUTPUT ?? + join(tmpdir(), 'agent-status-hot-path-benchmark.json') writeFileSync( outputPath, `${JSON.stringify({ worktrees: WORKTREES, events: EVENTS, report }, null, 2)}\n` diff --git a/config/scripts/ci-background-step-barriers.test.mjs b/config/scripts/ci-background-step-barriers.test.mjs index e005c60b989..d8ac8fd1c1f 100644 --- a/config/scripts/ci-background-step-barriers.test.mjs +++ b/config/scripts/ci-background-step-barriers.test.mjs @@ -96,13 +96,13 @@ describe('CI background step barriers', () => { expect(steps.findIndex((step) => step.id === 'changed-code-quality')).toBeGreaterThan(install) }) - it('serializes mobile pnpm entrypoints before allocating test workers', () => { + it('joins independent mobile typechecks before allocating test workers', () => { const steps = mobile.jobs.verify.steps assertJoinedBefore(steps, 'production-types', (step) => step.name === 'Test') const ratchet = steps.findIndex((step) => step.name === 'Typecheck tests (ratchet)') const join = steps.findIndex((step) => step.wait === 'production-types') expect(steps[ratchet].background).toBeUndefined() - expect(ratchet).toBeGreaterThan(join) + expect(ratchet).toBeLessThan(join) }) it('waits for WebKit and the bundle before any browser tests', () => { diff --git a/config/scripts/mobile-typecheck-workflow.test.mjs b/config/scripts/mobile-typecheck-workflow.test.mjs index 0ab57ad858f..f234b538df5 100644 --- a/config/scripts/mobile-typecheck-workflow.test.mjs +++ b/config/scripts/mobile-typecheck-workflow.test.mjs @@ -23,7 +23,7 @@ describe('mobile verification command ownership', () => { } }) - it('finishes installation and joins production types before checking test types', () => { + it('finishes installation and joins both independent typechecks before tests', () => { const installIndex = steps.findIndex((step) => step.name === 'Install dependencies') const productionIndex = steps.findIndex((step) => step.name === 'Typecheck') const ratchetIndex = steps.findIndex((step) => step.name === 'Typecheck tests (ratchet)') @@ -36,7 +36,10 @@ describe('mobile verification command ownership', () => { expect(steps[productionIndex].background).toBe(true) expect(productionIndex).toBeLessThan(ratchetIndex) expect(waitIndex).toBeGreaterThan(productionIndex) - expect(waitIndex).toBeLessThan(ratchetIndex) - expect(ratchetIndex).toBeLessThan(testIndex) + expect(ratchetIndex).toBeLessThan(waitIndex) + expect(waitIndex).toBeLessThan(testIndex) + expect(steps[waitIndex].if).toBeUndefined() + expect(steps[productionIndex]['continue-on-error'] ?? false).toBe(false) + expect(steps[ratchetIndex]['continue-on-error'] ?? false).toBe(false) }) }) diff --git a/config/vitest.agent-status-benchmark.config.ts b/config/vitest.agent-status-benchmark.config.ts new file mode 100644 index 00000000000..4bd0561d0ed --- /dev/null +++ b/config/vitest.agent-status-benchmark.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from 'vitest/config' +import baseConfig from './vitest.config' + +export default defineConfig({ + ...baseConfig, + test: { + ...baseConfig.test, + include: ['config/scripts/agent-status-hot-path-benchmark.ts'], + fileParallelism: false, + retry: 0 + } +}) diff --git a/docs/reference/ci-runner-efficiency.md b/docs/reference/ci-runner-efficiency.md index 58cef59dde5..0af400ef203 100644 --- a/docs/reference/ci-runner-efficiency.md +++ b/docs/reference/ci-runner-efficiency.md @@ -2383,3 +2383,139 @@ These screens reject the examined changes; they do not establish that every future optimization is exhausted. Shorter admitted jobs and one shared preflight reduce demand on the existing runner allowance. They do not increase that allowance or prove lower queue delay under different account traffic. + +## October 5 remaining import, diagnostic and checkout work + +The [hosted comparison](https://github.com/stablyai/orca/actions/runs/37247027814) +used three alternating pairs per treatment at source +`b18b174cd463f852051dc22adc8478b82dee4d1f`. Focused tests ran as fresh one-worker +processes on the four-core, 16 GB Linux ARM runner with Node 24.21.0, pnpm 12.8.1 +and Vitest 4.1.11; persisted transforms and Node compile caches were disabled. + +| Work | Original median | Candidate median | Median paired saving | +| ------------------------------------------------- | --------------- | ---------------- | -------------------- | +| Real incumbent-process test file | 16.478s | 5.976s | 10.520s | +| Commentable-line lifecycle test file | 9.595s | 6.880s | 2.714s | +| Agent-status diagnostic plus semantic test cohort | 11.547s | 8.235s | 3.361s | +| Windows x64 SSH checkout | 22.052s | 16.884s | 5.020s | +| Windows ARM SSH checkout | 46.758s | 33.910s | 13.456s | + +The incumbent cases own distinct sockets, shim directories and process groups. +Running them concurrently preserves all nine outcomes and every real five-second +lsof deadline. Both original and candidate still reject an unreaped helper and +false claims of clean enumeration. Fault receipts prove the actual modified probe +was imported and all owned helpers, groups, sockets and directories were cleaned. +The Windows platform gate retains all nine skips. + +The renderer lifecycle tests keep their six original bodies and real decorator, +zone and model behavior. Only the unrelated saved-note delivery menu is replaced +by a typed throwing facade. Its cleanup assertion rejects unexpected use. Actual +faults in memoization, value-equal refreshes and model replacement still fail their +original assertions; a real menu call fails the facade and the cleanup guard. + +The agent-status benchmark reports counters and timings but asserts only a +nonempty status map and positive elapsed time. It remains available through +`ORCA_BACKGROUND_LAUNCH=1 pnpm exec vitest run --config config/vitest.agent-status-benchmark.config.ts`. +Ordinary discovery removes exactly that reporting test. Its 15 meaningful routing, +index-retention and batch cases remain unchanged. Three real production faults +pass the old reporting test and fail those retained contracts. Manual execution +preserves its JSON schema and all nine deterministic counters at 423 worktrees, +634 tabs and 1,000 events. + +Windows SSH hosts retain complete main, shared, relay, type, configuration, +native, resource and test trees, plus root files. Six actual checkouts per +architecture pinned candidate source `ce69b84d675b0a8b4763b03329c9d6549ac723f1`; +all 16,568 retained files match the full checkout's contents, modes and index. +The original 5,209 required inputs and six further inputs added by the source +rebase are present. Local full/sparse builds match 54 generated artifacts; +explicit test discovery is identical. Missing imported source, a named test or a +required descriptor still fails. Full Windows native/provisioning lanes remain +a separate qualification gate. + +Test timings exclude dependency setup, checkout and queues. Checkout timings +include the action and shell/runner observation boundaries but exclude later +builds and provisioning. These scoped savings must not be summed or treated as +measured changes to full-shard occupancy or PR latency. + +## October 5 mobile typecheck overlap + +The [hosted comparison](https://github.com/stablyai/orca/actions/runs/37249591578) +ran three alternating pairs on the four-core, 16 GB Linux ARM runner, with Node +24.21.0 and TypeScript 6.0.3. The production compiler and test-typecheck ratchet +use installed tools after dependency installation. Both resolved compiler +programs have `noEmit: true`, with no incremental, composite or build-info writes. +The change moves the existing unconditional production join after the foreground +ratchet and before tests; it changes no compiler command or failure policy. + +| Complete typecheck stage | Original serial | Overlapped | +| ------------------------ | --------------- | ---------- | +| Pair 1 | 68.284s | 41.582s | +| Pair 2, reversed order | 65.385s | 41.042s | +| Pair 3 | 64.240s | 40.418s | +| Median | 65.385s | 41.042s | + +The median paired saving is 24.343 seconds, or 37.2% of this stage. The stage +bracket includes native background/wait boundaries and observation overhead, +but excludes dependency installation and the later test suite. All six stages +preserve the three workers' compiler/ratchet verdicts and stdout/stderr hashes. +The test compiler's existing diagnostics remain subject to the unchanged +ratchet. Neither compiler attempted native loading or recorded filesystem +mutations. Maximum aggregate owned-process RSS sampled every 200 milliseconds +was 5.137 GiB; this is a sampled value rather than a kernel peak. The ratchet now +runs even when the concurrently running production compiler later fails. + +Two real, independent type faults still prevent tests from starting. The +production fault preserves the unaffected ratchet and child output; the test +fault preserves the production output and fails the ratchet. Their explicit +control receipts pass even though their intentionally failing jobs are allowed +to finish collecting evidence. + +The separate [external cancellation control](https://github.com/stablyai/orca/actions/runs/37251289372) +held the two real installed compiler entrypoints before checking, while retaining +the production-background/ratchet-foreground topology. All three owned workers +were observed alive 14.275 seconds before the cancellation request. Both native +step outcomes became cancelled, tests did not start, and the runner's final +cleanup log names all three exact worker PIDs. The attempted earlier assertion +of PID absence failed: GitHub performs orphan cleanup after the always-tail +observer and artifact upload. Post-cleanup absence was not observed and is not +claimed. This control supplies no compiler-completion or timing measurement. + +## October 5 explicit RPC registry test setup + +The [hosted comparison](https://github.com/stablyai/orca/actions/runs/37251277897) +ran three alternating pairs of the complete 156-file mixed cohort on source +`d1e08ddd666e3099fc51c79f01f0305f5162186d`, using four workers on the four-core +Linux ARM runner, Node 24.21.0, pnpm 12.8.1 and Vitest 4.1.11. Persisted module +transforms and Node compile caches were disabled. All 153 candidate test files +pass explicit method lists to their dispatchers. A shared throwing fixture +prevents those tests from loading the unused default method catalog and rejects +any accidental iteration of it. The three real catalog subjects remain +unchanged and run beside the candidate subjects in every arm. + +| Complete cohort process | Original | Candidate | Paired saving | +| ----------------------- | -------- | --------- | ------------- | +| Pair 1 | 142.184s | 89.238s | 52.946s | +| Pair 2, reversed order | 142.833s | 88.933s | 53.900s | +| Pair 3 | 141.274s | 90.186s | 51.088s | +| Median | 142.184s | 89.238s | 52.946s | + +The median paired saving is 37.2% of this fixed cohort. All six arms preserve +the complete ordered ledger, including duplicate parameterized case names: +1,469 passes and one existing setup-dependent skip, totaling 1,470 outcomes. +The real catalog subjects contribute 63 of those cases. Candidate bodies and +assertions are unchanged. One file at its line limit uses the dispatch method's +parameter type in place of its equivalent type-only import; its emitted code +matches the measured candidate. + +Seventeen control invocations preserve actual terminal-handler fault detection, +reject unexpected default-catalog consumption, and still detect a missing real +catalog registration. A plain consumption counter prevents global mock-history +resets from erasing the guard; actual `clearAllMocks` and `resetAllMocks` controls +demonstrate that distinction and preserve unrelated call history. The isolated +driver restores all source files after success, faults and a real cancellation. +Independent review also confirms all 153 candidate sources, the fixture, three +catalog subjects and declared qualification inputs survive the rebase unchanged. + +These are fresh-process wall times for this cohort, excluding dependency setup, +queues and other test shards. They do not measure full-shard balance, total PR +runner demand, or a change to the dashboard's PR runtime percentiles. diff --git a/src/main/ai-vault-search/session-search-scope-entry-points.test.ts b/src/main/ai-vault-search/session-search-scope-entry-points.test.ts index 0eefb2fd498..3b470e75138 100644 --- a/src/main/ai-vault-search/session-search-scope-entry-points.test.ts +++ b/src/main/ai-vault-search/session-search-scope-entry-points.test.ts @@ -1,3 +1,4 @@ +import '../runtime/rpc/unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it } from 'vitest' import { AiVaultHandler } from '../../relay/ai-vault-handler' import type { RelayDispatcher } from '../../relay/dispatcher' diff --git a/src/main/native-chat/agent-session-wire/structured-agent-session-subscriber-journal-retention.test.ts b/src/main/native-chat/agent-session-wire/structured-agent-session-subscriber-journal-retention.test.ts index 37ee57e79ed..8760e378525 100644 --- a/src/main/native-chat/agent-session-wire/structured-agent-session-subscriber-journal-retention.test.ts +++ b/src/main/native-chat/agent-session-wire/structured-agent-session-subscriber-journal-retention.test.ts @@ -1,3 +1,4 @@ +import '../../runtime/rpc/unused-default-rpc-methods.test-fixture' import { createHash } from 'node:crypto' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { AGENT_JOURNAL_THREAD_SCOPE } from '../../../shared/agent-session-journal-types' diff --git a/src/main/runtime/browser-screencast-driver-attribution.test.ts b/src/main/runtime/browser-screencast-driver-attribution.test.ts index 59a8b6b98ca..678cb2caa0c 100644 --- a/src/main/runtime/browser-screencast-driver-attribution.test.ts +++ b/src/main/runtime/browser-screencast-driver-attribution.test.ts @@ -1,3 +1,4 @@ +import './rpc/unused-default-rpc-methods.test-fixture' /** * `browser.screencast` is the one stream a phone, a paired desktop client, the web client and the * CLI all open against the same host page. Stamping every subscriber as the mobile driver put the diff --git a/src/main/runtime/claude-structured-session-integration.test.ts b/src/main/runtime/claude-structured-session-integration.test.ts index a12fc06c479..b75b4a06024 100644 --- a/src/main/runtime/claude-structured-session-integration.test.ts +++ b/src/main/runtime/claude-structured-session-integration.test.ts @@ -1,3 +1,4 @@ +import './rpc/unused-default-rpc-methods.test-fixture' import { mkdir, mkdtemp, rm } from 'node:fs/promises' import { homedir, tmpdir } from 'node:os' import { join } from 'node:path' diff --git a/src/main/runtime/orchestration-mailbox-notification-consistency.test.ts b/src/main/runtime/orchestration-mailbox-notification-consistency.test.ts index 161ccbeb9b1..3475ae70eb0 100644 --- a/src/main/runtime/orchestration-mailbox-notification-consistency.test.ts +++ b/src/main/runtime/orchestration-mailbox-notification-consistency.test.ts @@ -1,3 +1,4 @@ +import './rpc/unused-default-rpc-methods.test-fixture' import { settledWriteStub } from '../providers/settled-pty-write-stub' import { mkdtempSync, rmSync } from 'node:fs' import { tmpdir } from 'node:os' diff --git a/src/main/runtime/orchestration-message-delivery-identity.test.ts b/src/main/runtime/orchestration-message-delivery-identity.test.ts index 21c8a64f56a..d5dd60788af 100644 --- a/src/main/runtime/orchestration-message-delivery-identity.test.ts +++ b/src/main/runtime/orchestration-message-delivery-identity.test.ts @@ -1,3 +1,4 @@ +import './rpc/unused-default-rpc-methods.test-fixture' import { settledWriteStub } from '../providers/settled-pty-write-stub' import { spawn } from 'node:child_process' import { existsSync, mkdtempSync, rmSync } from 'node:fs' diff --git a/src/main/runtime/rpc/dispatcher-browser-client-automation.test.ts b/src/main/runtime/rpc/dispatcher-browser-client-automation.test.ts index 959c383ccc3..35d8f5bb097 100644 --- a/src/main/runtime/rpc/dispatcher-browser-client-automation.test.ts +++ b/src/main/runtime/rpc/dispatcher-browser-client-automation.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { beforeEach, describe, expect, it, vi } from 'vitest' import { z } from 'zod' import type { OrcaRuntimeService } from '../orca-runtime' diff --git a/src/main/runtime/rpc/dispatcher-computer-errors.test.ts b/src/main/runtime/rpc/dispatcher-computer-errors.test.ts index bbc37e57ab1..9640352faf7 100644 --- a/src/main/runtime/rpc/dispatcher-computer-errors.test.ts +++ b/src/main/runtime/rpc/dispatcher-computer-errors.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { z } from 'zod' import { RpcDispatcher } from './dispatcher' diff --git a/src/main/runtime/rpc/dispatcher-feature-interactions.test.ts b/src/main/runtime/rpc/dispatcher-feature-interactions.test.ts index d0f1e6fbc39..c4c9433b939 100644 --- a/src/main/runtime/rpc/dispatcher-feature-interactions.test.ts +++ b/src/main/runtime/rpc/dispatcher-feature-interactions.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { z } from 'zod' import type { PersistedUIState } from '../../../shared/persisted-ui-state-types' diff --git a/src/main/runtime/rpc/methods/agent-launch-pane-reservation.test.ts b/src/main/runtime/rpc/methods/agent-launch-pane-reservation.test.ts index d1d419a4c56..3cc0806f680 100644 --- a/src/main/runtime/rpc/methods/agent-launch-pane-reservation.test.ts +++ b/src/main/runtime/rpc/methods/agent-launch-pane-reservation.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' /** * The pane a caller reserves for the terminal `agent.launch` creates. * diff --git a/src/main/runtime/rpc/methods/agent-launch-prestart-failure.test.ts b/src/main/runtime/rpc/methods/agent-launch-prestart-failure.test.ts index 43eac86e13e..15a8b3a8499 100644 --- a/src/main/runtime/rpc/methods/agent-launch-prestart-failure.test.ts +++ b/src/main/runtime/rpc/methods/agent-launch-prestart-failure.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' /** * A terminal launch that fails before its spawn is requested — no launch command, runtime * unavailable — created nothing, so a named operation settles as failed with its real cause. diff --git a/src/main/runtime/rpc/methods/agent-launch-replay.test.ts b/src/main/runtime/rpc/methods/agent-launch-replay.test.ts index 24d0a80b3d1..9e725c7b517 100644 --- a/src/main/runtime/rpc/methods/agent-launch-replay.test.ts +++ b/src/main/runtime/rpc/methods/agent-launch-replay.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' /** * Replay safety for `agent.launch`, against the real durable ledger. * diff --git a/src/main/runtime/rpc/methods/agent-launch-session-reservation.test.ts b/src/main/runtime/rpc/methods/agent-launch-session-reservation.test.ts index 528490d1d0a..720f0819383 100644 --- a/src/main/runtime/rpc/methods/agent-launch-session-reservation.test.ts +++ b/src/main/runtime/rpc/methods/agent-launch-session-reservation.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' /** * The chat session a caller reserves for the structured launch `agent.launch` creates. * diff --git a/src/main/runtime/rpc/methods/agent-session.test.ts b/src/main/runtime/rpc/methods/agent-session.test.ts index f234dce1536..ed67179be57 100644 --- a/src/main/runtime/rpc/methods/agent-session.test.ts +++ b/src/main/runtime/rpc/methods/agent-session.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { AGENT_SESSION_HOST_AUTHORITY_RUNTIME_CAPABILITY, diff --git a/src/main/runtime/rpc/methods/ai-vault-search.test.ts b/src/main/runtime/rpc/methods/ai-vault-search.test.ts index c247b0f31b1..7ed8ed4ffa4 100644 --- a/src/main/runtime/rpc/methods/ai-vault-search.test.ts +++ b/src/main/runtime/rpc/methods/ai-vault-search.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it, vi } from 'vitest' import { AI_VAULT_AGENTS } from '../../../../shared/ai-vault-types' import { RpcDispatcher } from '../dispatcher' diff --git a/src/main/runtime/rpc/methods/ai-vault.test.ts b/src/main/runtime/rpc/methods/ai-vault.test.ts index 7848ddcd033..2a179b847e2 100644 --- a/src/main/runtime/rpc/methods/ai-vault.test.ts +++ b/src/main/runtime/rpc/methods/ai-vault.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/automation-scoped-list-methods.test.ts b/src/main/runtime/rpc/methods/automation-scoped-list-methods.test.ts index 6af7ba467e9..7a3eacc7857 100644 --- a/src/main/runtime/rpc/methods/automation-scoped-list-methods.test.ts +++ b/src/main/runtime/rpc/methods/automation-scoped-list-methods.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' /** * The runtime end of the list contract: an old client that sends no params must * keep receiving the authority's complete list through the legacy field while diff --git a/src/main/runtime/rpc/methods/automations.test.ts b/src/main/runtime/rpc/methods/automations.test.ts index ab768559749..be4d4ac58ca 100644 --- a/src/main/runtime/rpc/methods/automations.test.ts +++ b/src/main/runtime/rpc/methods/automations.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/browser-client-host-attach-adoption.test.ts b/src/main/runtime/rpc/methods/browser-client-host-attach-adoption.test.ts index 0d6bf3b80ef..21a5aa508a8 100644 --- a/src/main/runtime/rpc/methods/browser-client-host-attach-adoption.test.ts +++ b/src/main/runtime/rpc/methods/browser-client-host-attach-adoption.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { BROWSER_CLIENT_HOST_RUNTIME_CAPABILITY } from '../../../../shared/protocol-version' import type { BrowserClientHostedPageInventory } from '../../../../shared/browser-client-host-protocol' diff --git a/src/main/runtime/rpc/methods/browser-client-host-reconciliation.test.ts b/src/main/runtime/rpc/methods/browser-client-host-reconciliation.test.ts index 5798ff1db42..8dbeedffb45 100644 --- a/src/main/runtime/rpc/methods/browser-client-host-reconciliation.test.ts +++ b/src/main/runtime/rpc/methods/browser-client-host-reconciliation.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { BROWSER_CLIENT_HOST_RUNTIME_CAPABILITY } from '../../../../shared/protocol-version' import { getBrowserHostLeaseRegistry } from '../../browser-host-lease-registry-instance' diff --git a/src/main/runtime/rpc/methods/browser-client-host.test.ts b/src/main/runtime/rpc/methods/browser-client-host.test.ts index cfd61e448a4..6226f9c6dd3 100644 --- a/src/main/runtime/rpc/methods/browser-client-host.test.ts +++ b/src/main/runtime/rpc/methods/browser-client-host.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { BROWSER_CLIENT_HOST_RUNTIME_CAPABILITY } from '../../../../shared/protocol-version' import { getBrowserHostLeaseRegistry } from '../../browser-host-lease-registry-instance' diff --git a/src/main/runtime/rpc/methods/browser-client-page-metadata.test.ts b/src/main/runtime/rpc/methods/browser-client-page-metadata.test.ts index 589a114aa94..254584ef9c6 100644 --- a/src/main/runtime/rpc/methods/browser-client-page-metadata.test.ts +++ b/src/main/runtime/rpc/methods/browser-client-page-metadata.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { BROWSER_CLIENT_HOST_RUNTIME_CAPABILITY, diff --git a/src/main/runtime/rpc/methods/browser-identity-rpc.test.ts b/src/main/runtime/rpc/methods/browser-identity-rpc.test.ts index c10abb06bb4..f639522339c 100644 --- a/src/main/runtime/rpc/methods/browser-identity-rpc.test.ts +++ b/src/main/runtime/rpc/methods/browser-identity-rpc.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' const mocks = vi.hoisted(() => ({ diff --git a/src/main/runtime/rpc/methods/browser-network-tunnel.test.ts b/src/main/runtime/rpc/methods/browser-network-tunnel.test.ts index a34ea13602a..47779581881 100644 --- a/src/main/runtime/rpc/methods/browser-network-tunnel.test.ts +++ b/src/main/runtime/rpc/methods/browser-network-tunnel.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { BROWSER_CLIENT_HOST_RUNTIME_CAPABILITY, diff --git a/src/main/runtime/rpc/methods/browser.test.ts b/src/main/runtime/rpc/methods/browser.test.ts index b5df3a6616b..962d2ea1a11 100644 --- a/src/main/runtime/rpc/methods/browser.test.ts +++ b/src/main/runtime/rpc/methods/browser.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/client-native-chat-settings.test.ts b/src/main/runtime/rpc/methods/client-native-chat-settings.test.ts index e26ed4acae3..dcd92f86cf6 100644 --- a/src/main/runtime/rpc/methods/client-native-chat-settings.test.ts +++ b/src/main/runtime/rpc/methods/client-native-chat-settings.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../../orca-runtime' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/client-ui-pairing-local-fields.test.ts b/src/main/runtime/rpc/methods/client-ui-pairing-local-fields.test.ts index c6f4865dce7..5bcaca1fd0e 100644 --- a/src/main/runtime/rpc/methods/client-ui-pairing-local-fields.test.ts +++ b/src/main/runtime/rpc/methods/client-ui-pairing-local-fields.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { getDefaultUIState } from '../../../../shared/constants' import { PAIRING_LOCAL_UI_FIELDS } from '../../../../shared/pairing-local-ui-fields' diff --git a/src/main/runtime/rpc/methods/client-ui-task-resume-state.test.ts b/src/main/runtime/rpc/methods/client-ui-task-resume-state.test.ts index 909975923ae..22f3e3a5a7c 100644 --- a/src/main/runtime/rpc/methods/client-ui-task-resume-state.test.ts +++ b/src/main/runtime/rpc/methods/client-ui-task-resume-state.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { getDefaultUIState } from '../../../../shared/constants' import type { OrcaRuntimeService } from '../../orca-runtime' diff --git a/src/main/runtime/rpc/methods/client-ui.test.ts b/src/main/runtime/rpc/methods/client-ui.test.ts index e2cf1289636..cf47bc56454 100644 --- a/src/main/runtime/rpc/methods/client-ui.test.ts +++ b/src/main/runtime/rpc/methods/client-ui.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { getDefaultUIState } from '../../../../shared/constants' import { omitPairingLocalUiFields } from '../../../../shared/pairing-local-ui-fields' diff --git a/src/main/runtime/rpc/methods/clipboard.test.ts b/src/main/runtime/rpc/methods/clipboard.test.ts index c0d224b85c6..d68f06dbee0 100644 --- a/src/main/runtime/rpc/methods/clipboard.test.ts +++ b/src/main/runtime/rpc/methods/clipboard.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest, RpcResponse } from '../core' diff --git a/src/main/runtime/rpc/methods/diagnostics.test.ts b/src/main/runtime/rpc/methods/diagnostics.test.ts index 82fc1fa9b75..dab6b8fe85d 100644 --- a/src/main/runtime/rpc/methods/diagnostics.test.ts +++ b/src/main/runtime/rpc/methods/diagnostics.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/files-base64-padding.test.ts b/src/main/runtime/rpc/methods/files-base64-padding.test.ts index 03f3b73e786..5729c2df071 100644 --- a/src/main/runtime/rpc/methods/files-base64-padding.test.ts +++ b/src/main/runtime/rpc/methods/files-base64-padding.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../../orca-runtime' import { RpcDispatcher } from '../dispatcher' diff --git a/src/main/runtime/rpc/methods/files-doc-preview.test.ts b/src/main/runtime/rpc/methods/files-doc-preview.test.ts index e512856c04a..cd8616ba1a9 100644 --- a/src/main/runtime/rpc/methods/files-doc-preview.test.ts +++ b/src/main/runtime/rpc/methods/files-doc-preview.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../../orca-runtime' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/files-list-all-page-size.test.ts b/src/main/runtime/rpc/methods/files-list-all-page-size.test.ts index 826d0c0f3f0..bb6f362b2ce 100644 --- a/src/main/runtime/rpc/methods/files-list-all-page-size.test.ts +++ b/src/main/runtime/rpc/methods/files-list-all-page-size.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' /** * #12547: `files.listAll` did not declare `maxResults`, so "the client names its cap and a full page * means there is more" was wired only on the Electron IPC hop. Web and mobile were saved incidentally, diff --git a/src/main/runtime/rpc/methods/files-open-navigation.test.ts b/src/main/runtime/rpc/methods/files-open-navigation.test.ts index 0d3ee7b1c0d..d7d8809c512 100644 --- a/src/main/runtime/rpc/methods/files-open-navigation.test.ts +++ b/src/main/runtime/rpc/methods/files-open-navigation.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/files-path-search.test.ts b/src/main/runtime/rpc/methods/files-path-search.test.ts index 38938228b8c..f5a246ba54a 100644 --- a/src/main/runtime/rpc/methods/files-path-search.test.ts +++ b/src/main/runtime/rpc/methods/files-path-search.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../../orca-runtime' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/files-preview-transport-budget.test.ts b/src/main/runtime/rpc/methods/files-preview-transport-budget.test.ts index c36a34983a9..51d6ea3a268 100644 --- a/src/main/runtime/rpc/methods/files-preview-transport-budget.test.ts +++ b/src/main/runtime/rpc/methods/files-preview-transport-budget.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { remoteRpcContentBudget } from '../../../../shared/remote-rpc-content-budget' import type { OrcaRuntimeService } from '../../orca-runtime' diff --git a/src/main/runtime/rpc/methods/files-terminal-path-resolution.test.ts b/src/main/runtime/rpc/methods/files-terminal-path-resolution.test.ts index d589b74116c..0fccbddb180 100644 --- a/src/main/runtime/rpc/methods/files-terminal-path-resolution.test.ts +++ b/src/main/runtime/rpc/methods/files-terminal-path-resolution.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/files-watch-cancellation.test.ts b/src/main/runtime/rpc/methods/files-watch-cancellation.test.ts index 067c23aa83a..95d458c05a4 100644 --- a/src/main/runtime/rpc/methods/files-watch-cancellation.test.ts +++ b/src/main/runtime/rpc/methods/files-watch-cancellation.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { RpcRequest } from '../core' import { RpcDispatcher } from '../dispatcher' diff --git a/src/main/runtime/rpc/methods/files-watch-cleanup.test.ts b/src/main/runtime/rpc/methods/files-watch-cleanup.test.ts index 991dc23b732..a16fbacc44a 100644 --- a/src/main/runtime/rpc/methods/files-watch-cleanup.test.ts +++ b/src/main/runtime/rpc/methods/files-watch-cleanup.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { expect, it, vi } from 'vitest' import { WatcherProcessFailure } from '../../../ipc/parcel-watcher-process-failure' import type { OrcaRuntimeService } from '../../orca-runtime' diff --git a/src/main/runtime/rpc/methods/files.test.ts b/src/main/runtime/rpc/methods/files.test.ts index 2b29e9b65b6..8c95a7cfa33 100644 --- a/src/main/runtime/rpc/methods/files.test.ts +++ b/src/main/runtime/rpc/methods/files.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/git-diff-transport-budget.test.ts b/src/main/runtime/rpc/methods/git-diff-transport-budget.test.ts index 72ae885c9b7..13f740259c2 100644 --- a/src/main/runtime/rpc/methods/git-diff-transport-budget.test.ts +++ b/src/main/runtime/rpc/methods/git-diff-transport-budget.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' // Why: git.diff, git.branchDiff and git.commitDiff all return a GitDiffResult, so capping only the // first would leave the other two able to kill a remote socket. import { describe, expect, it, vi } from 'vitest' diff --git a/src/main/runtime/rpc/methods/git.test.ts b/src/main/runtime/rpc/methods/git.test.ts index 34ec308bfb4..efb6a3fcb5c 100644 --- a/src/main/runtime/rpc/methods/git.test.ts +++ b/src/main/runtime/rpc/methods/git.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/github-pr-refresh-reason.test.ts b/src/main/runtime/rpc/methods/github-pr-refresh-reason.test.ts index 967bafa516e..2ae4fc9300f 100644 --- a/src/main/runtime/rpc/methods/github-pr-refresh-reason.test.ts +++ b/src/main/runtime/rpc/methods/github-pr-refresh-reason.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' // Split from github.test.ts to keep it under its line cap. import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' diff --git a/src/main/runtime/rpc/methods/github.test.ts b/src/main/runtime/rpc/methods/github.test.ts index 1ed202d2f57..bd333234cd0 100644 --- a/src/main/runtime/rpc/methods/github.test.ts +++ b/src/main/runtime/rpc/methods/github.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/gitlab.test.ts b/src/main/runtime/rpc/methods/gitlab.test.ts index a5cda8dc144..ef55c1fc64d 100644 --- a/src/main/runtime/rpc/methods/gitlab.test.ts +++ b/src/main/runtime/rpc/methods/gitlab.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/host-capabilities.test.ts b/src/main/runtime/rpc/methods/host-capabilities.test.ts index 8e2f15cd25c..726aa5d90a7 100644 --- a/src/main/runtime/rpc/methods/host-capabilities.test.ts +++ b/src/main/runtime/rpc/methods/host-capabilities.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { beforeEach, describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/hosted-review.test.ts b/src/main/runtime/rpc/methods/hosted-review.test.ts index d4c7e6ac645..9d4ca356b0d 100644 --- a/src/main/runtime/rpc/methods/hosted-review.test.ts +++ b/src/main/runtime/rpc/methods/hosted-review.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/jira.test.ts b/src/main/runtime/rpc/methods/jira.test.ts index e5e6bfba634..1652819fec0 100644 --- a/src/main/runtime/rpc/methods/jira.test.ts +++ b/src/main/runtime/rpc/methods/jira.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/linear-agent-access.test.ts b/src/main/runtime/rpc/methods/linear-agent-access.test.ts index 511378aa141..e44fe0b38dc 100644 --- a/src/main/runtime/rpc/methods/linear-agent-access.test.ts +++ b/src/main/runtime/rpc/methods/linear-agent-access.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/linear.test.ts b/src/main/runtime/rpc/methods/linear.test.ts index 1e9b430fa8a..890dc18d43f 100644 --- a/src/main/runtime/rpc/methods/linear.test.ts +++ b/src/main/runtime/rpc/methods/linear.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/orchestration-dispatch-error-codes.test.ts b/src/main/runtime/rpc/methods/orchestration-dispatch-error-codes.test.ts index 918724e6aaf..659523822b6 100644 --- a/src/main/runtime/rpc/methods/orchestration-dispatch-error-codes.test.ts +++ b/src/main/runtime/rpc/methods/orchestration-dispatch-error-codes.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it, vi } from 'vitest' import { ORCHESTRATION_CONTRACT_VERSION } from '../../../../shared/protocol-version' import { diff --git a/src/main/runtime/rpc/methods/orchestration/federation/federated-message-targeting.test.ts b/src/main/runtime/rpc/methods/orchestration/federation/federated-message-targeting.test.ts index 6d3f00abd6a..6d92c69e4b9 100644 --- a/src/main/runtime/rpc/methods/orchestration/federation/federated-message-targeting.test.ts +++ b/src/main/runtime/rpc/methods/orchestration/federation/federated-message-targeting.test.ts @@ -1,3 +1,4 @@ +import '../../../unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it, vi } from 'vitest' import { ORCHESTRATION_CONTRACT_VERSION } from '../../../../../../shared/protocol-version' import { OrcaRuntimeService } from '../../../../orca-runtime' diff --git a/src/main/runtime/rpc/methods/orchestration/federation/federation-control-mail.test.ts b/src/main/runtime/rpc/methods/orchestration/federation/federation-control-mail.test.ts index c95ec9b5630..1579f0132d9 100644 --- a/src/main/runtime/rpc/methods/orchestration/federation/federation-control-mail.test.ts +++ b/src/main/runtime/rpc/methods/orchestration/federation/federation-control-mail.test.ts @@ -1,3 +1,4 @@ +import '../../../unused-default-rpc-methods.test-fixture' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { ORCHESTRATION_CONTRACT_VERSION } from '../../../../../../shared/protocol-version' import type { RuntimeRpcResponse } from '../../../../../../shared/runtime-rpc-envelope' diff --git a/src/main/runtime/rpc/methods/orchestration/federation/federation-lifecycle-settlement.test.ts b/src/main/runtime/rpc/methods/orchestration/federation/federation-lifecycle-settlement.test.ts index 94341ac9c6f..33e860b74e6 100644 --- a/src/main/runtime/rpc/methods/orchestration/federation/federation-lifecycle-settlement.test.ts +++ b/src/main/runtime/rpc/methods/orchestration/federation/federation-lifecycle-settlement.test.ts @@ -1,3 +1,4 @@ +import '../../../unused-default-rpc-methods.test-fixture' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { ORCHESTRATION_CONTRACT_VERSION, diff --git a/src/main/runtime/rpc/methods/orchestration/federation/federation-output.test.ts b/src/main/runtime/rpc/methods/orchestration/federation/federation-output.test.ts index cb298ad873f..374a9b9be66 100644 --- a/src/main/runtime/rpc/methods/orchestration/federation/federation-output.test.ts +++ b/src/main/runtime/rpc/methods/orchestration/federation/federation-output.test.ts @@ -1,3 +1,4 @@ +import '../../../unused-default-rpc-methods.test-fixture' import { mkdtempSync, rmSync } from 'node:fs' import { mkdtemp, rm, writeFile } from 'node:fs/promises' import { tmpdir } from 'node:os' diff --git a/src/main/runtime/rpc/methods/orchestration/federation/federation.test.ts b/src/main/runtime/rpc/methods/orchestration/federation/federation.test.ts index 450f9ff9a5f..a2c692dd0fb 100644 --- a/src/main/runtime/rpc/methods/orchestration/federation/federation.test.ts +++ b/src/main/runtime/rpc/methods/orchestration/federation/federation.test.ts @@ -1,3 +1,4 @@ +import '../../../unused-default-rpc-methods.test-fixture' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { ORCHESTRATION_CONTRACT_VERSION, diff --git a/src/main/runtime/rpc/methods/orchestration/messaging/recipient-routing.test.ts b/src/main/runtime/rpc/methods/orchestration/messaging/recipient-routing.test.ts index cf78bfa6636..5e45e97fd7a 100644 --- a/src/main/runtime/rpc/methods/orchestration/messaging/recipient-routing.test.ts +++ b/src/main/runtime/rpc/methods/orchestration/messaging/recipient-routing.test.ts @@ -1,3 +1,4 @@ +import '../../../unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it, vi } from 'vitest' import { ORCHESTRATION_CONTRACT_VERSION } from '../../../../../../shared/protocol-version' import type { RuntimeTerminalSummary } from '../../../../../../shared/runtime-types' diff --git a/src/main/runtime/rpc/methods/orchestration/messaging/send-invalid-type.test.ts b/src/main/runtime/rpc/methods/orchestration/messaging/send-invalid-type.test.ts index 3ace8ba5058..d1527338b95 100644 --- a/src/main/runtime/rpc/methods/orchestration/messaging/send-invalid-type.test.ts +++ b/src/main/runtime/rpc/methods/orchestration/messaging/send-invalid-type.test.ts @@ -1,3 +1,4 @@ +import '../../../unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it } from 'vitest' import type { RpcRequest } from '../../../core' import { ORCHESTRATION_METHODS } from '../../orchestration' diff --git a/src/main/runtime/rpc/methods/orchestration/messaging/send.test.ts b/src/main/runtime/rpc/methods/orchestration/messaging/send.test.ts index 6d4e1e1c19b..c3c8f2e1bdf 100644 --- a/src/main/runtime/rpc/methods/orchestration/messaging/send.test.ts +++ b/src/main/runtime/rpc/methods/orchestration/messaging/send.test.ts @@ -1,3 +1,4 @@ +import '../../../unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it, vi } from 'vitest' import type { RpcContext, RpcRequest } from '../../../core' import { ORCHESTRATION_METHODS } from '../../orchestration' diff --git a/src/main/runtime/rpc/methods/orchestration/runs/migration-behavior.test.ts b/src/main/runtime/rpc/methods/orchestration/runs/migration-behavior.test.ts index 929dd5c1ee3..d384b2c7255 100644 --- a/src/main/runtime/rpc/methods/orchestration/runs/migration-behavior.test.ts +++ b/src/main/runtime/rpc/methods/orchestration/runs/migration-behavior.test.ts @@ -1,3 +1,4 @@ +import '../../../unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it, vi } from 'vitest' import type { RuntimeRpcResponse } from '../../../../../../shared/runtime-rpc-envelope' import { diff --git a/src/main/runtime/rpc/methods/orchestration/worker/worker-start-prompt-contract.test.ts b/src/main/runtime/rpc/methods/orchestration/worker/worker-start-prompt-contract.test.ts index cba8baad45f..73fa180dc54 100644 --- a/src/main/runtime/rpc/methods/orchestration/worker/worker-start-prompt-contract.test.ts +++ b/src/main/runtime/rpc/methods/orchestration/worker/worker-start-prompt-contract.test.ts @@ -1,3 +1,4 @@ +import '../../../unused-default-rpc-methods.test-fixture' import { mkdtempSync, rmSync } from 'node:fs' import { tmpdir } from 'node:os' import { join } from 'node:path' diff --git a/src/main/runtime/rpc/methods/orchestration/worker/workers-new-worktree.test.ts b/src/main/runtime/rpc/methods/orchestration/worker/workers-new-worktree.test.ts index 50fee27ac48..f52c50a1f1f 100644 --- a/src/main/runtime/rpc/methods/orchestration/worker/workers-new-worktree.test.ts +++ b/src/main/runtime/rpc/methods/orchestration/worker/workers-new-worktree.test.ts @@ -1,3 +1,4 @@ +import '../../../unused-default-rpc-methods.test-fixture' import { mkdtempSync, rmSync } from 'node:fs' import { tmpdir } from 'node:os' import { join } from 'node:path' diff --git a/src/main/runtime/rpc/methods/pairing.test.ts b/src/main/runtime/rpc/methods/pairing.test.ts index 58a12a1f058..05f896dec4c 100644 --- a/src/main/runtime/rpc/methods/pairing.test.ts +++ b/src/main/runtime/rpc/methods/pairing.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { OrcaRuntimeService } from '../../orca-runtime' import { RpcDispatcher } from '../dispatcher' diff --git a/src/main/runtime/rpc/methods/preflight.test.ts b/src/main/runtime/rpc/methods/preflight.test.ts index 5b453f9ce40..88fa0bf2057 100644 --- a/src/main/runtime/rpc/methods/preflight.test.ts +++ b/src/main/runtime/rpc/methods/preflight.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/repo-badge-color.test.ts b/src/main/runtime/rpc/methods/repo-badge-color.test.ts index 32b50ab0552..f641a90b933 100644 --- a/src/main/runtime/rpc/methods/repo-badge-color.test.ts +++ b/src/main/runtime/rpc/methods/repo-badge-color.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/repo.test.ts b/src/main/runtime/rpc/methods/repo.test.ts index 3de0e8feae0..e111d09c62f 100644 --- a/src/main/runtime/rpc/methods/repo.test.ts +++ b/src/main/runtime/rpc/methods/repo.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/runtime-client-capabilities.test.ts b/src/main/runtime/rpc/methods/runtime-client-capabilities.test.ts index c0fb2f250bd..d9a7f59adfa 100644 --- a/src/main/runtime/rpc/methods/runtime-client-capabilities.test.ts +++ b/src/main/runtime/rpc/methods/runtime-client-capabilities.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { STRUCTURED_AGENT_SESSION_RUNTIME_CAPABILITY } from '../../../../shared/protocol-version' import type { OrcaRuntimeService } from '../../orca-runtime' diff --git a/src/main/runtime/rpc/methods/session-tab-agent-capability-mutations.test.ts b/src/main/runtime/rpc/methods/session-tab-agent-capability-mutations.test.ts index 0a1076bd8f6..f0792e20a47 100644 --- a/src/main/runtime/rpc/methods/session-tab-agent-capability-mutations.test.ts +++ b/src/main/runtime/rpc/methods/session-tab-agent-capability-mutations.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { CLAUDE_STRUCTURED_AGENT_SESSION_RUNTIME_CAPABILITY, diff --git a/src/main/runtime/rpc/methods/session-tab-browser-placement-mutations.test.ts b/src/main/runtime/rpc/methods/session-tab-browser-placement-mutations.test.ts index 4067836d88e..7a4d474806c 100644 --- a/src/main/runtime/rpc/methods/session-tab-browser-placement-mutations.test.ts +++ b/src/main/runtime/rpc/methods/session-tab-browser-placement-mutations.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { BROWSER_CLIENT_HOST_RUNTIME_CAPABILITY } from '../../../../shared/protocol-version' import type { OrcaRuntimeService } from '../../orca-runtime' diff --git a/src/main/runtime/rpc/methods/session-tabs-inventory-rpc.test.ts b/src/main/runtime/rpc/methods/session-tabs-inventory-rpc.test.ts index 4afdfd8e960..4d78c642795 100644 --- a/src/main/runtime/rpc/methods/session-tabs-inventory-rpc.test.ts +++ b/src/main/runtime/rpc/methods/session-tabs-inventory-rpc.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/session-tabs-retirement-proof-delta.test.ts b/src/main/runtime/rpc/methods/session-tabs-retirement-proof-delta.test.ts index 021b6f20622..00c62dc37ec 100644 --- a/src/main/runtime/rpc/methods/session-tabs-retirement-proof-delta.test.ts +++ b/src/main/runtime/rpc/methods/session-tabs-retirement-proof-delta.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../../orca-runtime' import { SESSION_TABS_RETIREMENT_PROOF_DELTA_RUNTIME_CAPABILITY } from '../../../../shared/protocol-version' diff --git a/src/main/runtime/rpc/methods/session-tabs-structured-restore.test.ts b/src/main/runtime/rpc/methods/session-tabs-structured-restore.test.ts index 3b2f5a5ca1e..0bfc94f3663 100644 --- a/src/main/runtime/rpc/methods/session-tabs-structured-restore.test.ts +++ b/src/main/runtime/rpc/methods/session-tabs-structured-restore.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/session-tabs-subscribe-admission.test.ts b/src/main/runtime/rpc/methods/session-tabs-subscribe-admission.test.ts index 2652cdf12fd..6f874b22633 100644 --- a/src/main/runtime/rpc/methods/session-tabs-subscribe-admission.test.ts +++ b/src/main/runtime/rpc/methods/session-tabs-subscribe-admission.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../../orca-runtime' import type { RuntimeMobileSessionTabsResult } from '../../../../shared/runtime-types' diff --git a/src/main/runtime/rpc/methods/session-tabs-unsubscribe.test.ts b/src/main/runtime/rpc/methods/session-tabs-unsubscribe.test.ts index 021224bd649..f279dc3a9de 100644 --- a/src/main/runtime/rpc/methods/session-tabs-unsubscribe.test.ts +++ b/src/main/runtime/rpc/methods/session-tabs-unsubscribe.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../../orca-runtime' import { RuntimeSubscriptionRegistry } from '../../runtime-subscription-registry' diff --git a/src/main/runtime/rpc/methods/session-tabs.test.ts b/src/main/runtime/rpc/methods/session-tabs.test.ts index 44d0dd104eb..0fbab1bb9b0 100644 --- a/src/main/runtime/rpc/methods/session-tabs.test.ts +++ b/src/main/runtime/rpc/methods/session-tabs.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/speech.test.ts b/src/main/runtime/rpc/methods/speech.test.ts index dbc06ab8a96..2ef23c69762 100644 --- a/src/main/runtime/rpc/methods/speech.test.ts +++ b/src/main/runtime/rpc/methods/speech.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/ssh.test.ts b/src/main/runtime/rpc/methods/ssh.test.ts index 04293d3cca4..b71602fadfa 100644 --- a/src/main/runtime/rpc/methods/ssh.test.ts +++ b/src/main/runtime/rpc/methods/ssh.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/structured-agent-session-adoption-replay.test.ts b/src/main/runtime/rpc/methods/structured-agent-session-adoption-replay.test.ts index 6d1ddf9f359..a68ffe4492e 100644 --- a/src/main/runtime/rpc/methods/structured-agent-session-adoption-replay.test.ts +++ b/src/main/runtime/rpc/methods/structured-agent-session-adoption-replay.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises' import { tmpdir } from 'node:os' import { dirname, join } from 'node:path' diff --git a/src/main/runtime/rpc/methods/structured-agent-session-at-rest.test.ts b/src/main/runtime/rpc/methods/structured-agent-session-at-rest.test.ts index b846be96dd2..d66ef3d2fa1 100644 --- a/src/main/runtime/rpc/methods/structured-agent-session-at-rest.test.ts +++ b/src/main/runtime/rpc/methods/structured-agent-session-at-rest.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { AGENT_JOURNAL_THREAD_SCOPE } from '../../../../shared/agent-session-journal-types' // A chat at rest, through the RPC surface a client actually calls: opening it starts nothing, what // it can answer without an agent it answers, and the first send is what starts one. diff --git a/src/main/runtime/rpc/methods/structured-agent-session-hold.test.ts b/src/main/runtime/rpc/methods/structured-agent-session-hold.test.ts index 769bd32f17b..5c9633a5690 100644 --- a/src/main/runtime/rpc/methods/structured-agent-session-hold.test.ts +++ b/src/main/runtime/rpc/methods/structured-agent-session-hold.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' // `agentSession.hold` / `release` are kept answering for clients that still send them, and do // nothing else: a view never starts or keeps an agent. // diff --git a/src/main/runtime/rpc/methods/structured-agent-session-precommit-refusal.test.ts b/src/main/runtime/rpc/methods/structured-agent-session-precommit-refusal.test.ts index 17aadf32a80..970374824d1 100644 --- a/src/main/runtime/rpc/methods/structured-agent-session-precommit-refusal.test.ts +++ b/src/main/runtime/rpc/methods/structured-agent-session-precommit-refusal.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' // The create route's pre-commit boundary: a failure before `attach` must reach the client as a // refusal it can classify, and a failure at or after `attach` must not. diff --git a/src/main/runtime/rpc/methods/structured-agent-session-unsubscribe.test.ts b/src/main/runtime/rpc/methods/structured-agent-session-unsubscribe.test.ts index a31a8bc8d18..22d4d7c6174 100644 --- a/src/main/runtime/rpc/methods/structured-agent-session-unsubscribe.test.ts +++ b/src/main/runtime/rpc/methods/structured-agent-session-unsubscribe.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' // A transcript stream ends when its client says so: the host drops that subscriber, so nothing is // derived or sent for it any more, and a sibling stream of the same session keeps going. diff --git a/src/main/runtime/rpc/methods/structured-chat-tab-table.test.ts b/src/main/runtime/rpc/methods/structured-chat-tab-table.test.ts index c97672269eb..4c7fe2103d7 100644 --- a/src/main/runtime/rpc/methods/structured-chat-tab-table.test.ts +++ b/src/main/runtime/rpc/methods/structured-chat-tab-table.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' /** * A chat tab's pointer to the conversation it shows, driven end to end: a real record store on disk, * the real structured host, the real runtime, and the real RPC handlers. Only the provider is faked. diff --git a/src/main/runtime/rpc/methods/terminal-legacy-stream-id-characterization.test.ts b/src/main/runtime/rpc/methods/terminal-legacy-stream-id-characterization.test.ts index 3f3630b0ffa..48acbbec665 100644 --- a/src/main/runtime/rpc/methods/terminal-legacy-stream-id-characterization.test.ts +++ b/src/main/runtime/rpc/methods/terminal-legacy-stream-id-characterization.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/terminal-navigation.test.ts b/src/main/runtime/rpc/methods/terminal-navigation.test.ts index b0aa29828c6..11212e53aac 100644 --- a/src/main/runtime/rpc/methods/terminal-navigation.test.ts +++ b/src/main/runtime/rpc/methods/terminal-navigation.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../../orca-runtime' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/terminal/terminal-viewer-colors-method.test.ts b/src/main/runtime/rpc/methods/terminal/terminal-viewer-colors-method.test.ts index 9b0d5b4fc18..ca999ce50ef 100644 --- a/src/main/runtime/rpc/methods/terminal/terminal-viewer-colors-method.test.ts +++ b/src/main/runtime/rpc/methods/terminal/terminal-viewer-colors-method.test.ts @@ -1,3 +1,4 @@ +import '../../unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it } from 'vitest' import type { OrcaRuntimeService } from '../../../orca-runtime' import { RpcDispatcher } from '../../dispatcher' diff --git a/src/main/runtime/rpc/methods/workspace-ports.test.ts b/src/main/runtime/rpc/methods/workspace-ports.test.ts index 78465ada16b..75ce15053c2 100644 --- a/src/main/runtime/rpc/methods/workspace-ports.test.ts +++ b/src/main/runtime/rpc/methods/workspace-ports.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/worktree-catalog-snapshot-method.test.ts b/src/main/runtime/rpc/methods/worktree-catalog-snapshot-method.test.ts index 7bf9cd2734c..f1004b6abe7 100644 --- a/src/main/runtime/rpc/methods/worktree-catalog-snapshot-method.test.ts +++ b/src/main/runtime/rpc/methods/worktree-catalog-snapshot-method.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../../orca-runtime' import { RpcDispatcher } from '../dispatcher' diff --git a/src/main/runtime/rpc/methods/worktree-catalog-version-stamp.test.ts b/src/main/runtime/rpc/methods/worktree-catalog-version-stamp.test.ts index 1d7e1627c36..cbe4bd654b2 100644 --- a/src/main/runtime/rpc/methods/worktree-catalog-version-stamp.test.ts +++ b/src/main/runtime/rpc/methods/worktree-catalog-version-stamp.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/worktree-create-launch-source.test.ts b/src/main/runtime/rpc/methods/worktree-create-launch-source.test.ts index 2cfd6c3de92..8cb90745a0b 100644 --- a/src/main/runtime/rpc/methods/worktree-create-launch-source.test.ts +++ b/src/main/runtime/rpc/methods/worktree-create-launch-source.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { OrcaRuntimeService } from '../../orca-runtime' diff --git a/src/main/runtime/rpc/methods/worktree-create-navigation.test.ts b/src/main/runtime/rpc/methods/worktree-create-navigation.test.ts index 39f826986e6..b70d56eee9b 100644 --- a/src/main/runtime/rpc/methods/worktree-create-navigation.test.ts +++ b/src/main/runtime/rpc/methods/worktree-create-navigation.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/worktree-github-pr-suppression.test.ts b/src/main/runtime/rpc/methods/worktree-github-pr-suppression.test.ts index 4adaf6f5325..32a118ef00a 100644 --- a/src/main/runtime/rpc/methods/worktree-github-pr-suppression.test.ts +++ b/src/main/runtime/rpc/methods/worktree-github-pr-suppression.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../../orca-runtime' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/worktree-missing-terminal-teardown.test.ts b/src/main/runtime/rpc/methods/worktree-missing-terminal-teardown.test.ts index 9ea904af68d..1ae125ef814 100644 --- a/src/main/runtime/rpc/methods/worktree-missing-terminal-teardown.test.ts +++ b/src/main/runtime/rpc/methods/worktree-missing-terminal-teardown.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../../orca-runtime' import { RpcDispatcher } from '../dispatcher' diff --git a/src/main/runtime/rpc/methods/worktree-retired-names.test.ts b/src/main/runtime/rpc/methods/worktree-retired-names.test.ts index 3c4c6f3755d..98488fe1c57 100644 --- a/src/main/runtime/rpc/methods/worktree-retired-names.test.ts +++ b/src/main/runtime/rpc/methods/worktree-retired-names.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/worktree-rm-background-reply.test.ts b/src/main/runtime/rpc/methods/worktree-rm-background-reply.test.ts index e456e4cbf50..4d45504f77a 100644 --- a/src/main/runtime/rpc/methods/worktree-rm-background-reply.test.ts +++ b/src/main/runtime/rpc/methods/worktree-rm-background-reply.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { WORKTREE_BACKGROUND_REMOVAL_RUNTIME_CAPABILITY, diff --git a/src/main/runtime/rpc/methods/worktree-rm-host-qualification.test.ts b/src/main/runtime/rpc/methods/worktree-rm-host-qualification.test.ts index d96fa04c521..4f9a4acdfec 100644 --- a/src/main/runtime/rpc/methods/worktree-rm-host-qualification.test.ts +++ b/src/main/runtime/rpc/methods/worktree-rm-host-qualification.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../../orca-runtime' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/worktree-rm-pty-waiver.test.ts b/src/main/runtime/rpc/methods/worktree-rm-pty-waiver.test.ts index 0c912db53be..35ba7b9f267 100644 --- a/src/main/runtime/rpc/methods/worktree-rm-pty-waiver.test.ts +++ b/src/main/runtime/rpc/methods/worktree-rm-pty-waiver.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/methods/worktree.test.ts b/src/main/runtime/rpc/methods/worktree.test.ts index 3b62cbfd7cd..d67ee99193f 100644 --- a/src/main/runtime/rpc/methods/worktree.test.ts +++ b/src/main/runtime/rpc/methods/worktree.test.ts @@ -1,3 +1,4 @@ +import '../unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from '../dispatcher' import type { RpcRequest } from '../core' diff --git a/src/main/runtime/rpc/orchestration-commit-notify-characterization.test.ts b/src/main/runtime/rpc/orchestration-commit-notify-characterization.test.ts index 4ebd49df17e..9c8679e3963 100644 --- a/src/main/runtime/rpc/orchestration-commit-notify-characterization.test.ts +++ b/src/main/runtime/rpc/orchestration-commit-notify-characterization.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { mkdtempSync, rmSync } from 'node:fs' import { tmpdir } from 'node:os' import { join } from 'node:path' diff --git a/src/main/runtime/rpc/orchestration-contract-fence.test.ts b/src/main/runtime/rpc/orchestration-contract-fence.test.ts index 17aee4b0b95..10d4d13b1fe 100644 --- a/src/main/runtime/rpc/orchestration-contract-fence.test.ts +++ b/src/main/runtime/rpc/orchestration-contract-fence.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { z } from 'zod' import { afterEach, describe, expect, it, vi } from 'vitest' import { ORCHESTRATION_CONTRACT_VERSION } from '../../../shared/protocol-version' diff --git a/src/main/runtime/rpc/orchestration-legacy-coordinator-race.test.ts b/src/main/runtime/rpc/orchestration-legacy-coordinator-race.test.ts index c57f7876402..55ef7ac2040 100644 --- a/src/main/runtime/rpc/orchestration-legacy-coordinator-race.test.ts +++ b/src/main/runtime/rpc/orchestration-legacy-coordinator-race.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { createHash } from 'node:crypto' import { mkdtempSync, rmSync } from 'node:fs' import { tmpdir } from 'node:os' diff --git a/src/main/runtime/rpc/orchestration-legacy-question-takeover.test.ts b/src/main/runtime/rpc/orchestration-legacy-question-takeover.test.ts index 82c59f39587..b044469cc3f 100644 --- a/src/main/runtime/rpc/orchestration-legacy-question-takeover.test.ts +++ b/src/main/runtime/rpc/orchestration-legacy-question-takeover.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { createHash } from 'node:crypto' import { mkdtempSync, rmSync } from 'node:fs' import { tmpdir } from 'node:os' diff --git a/src/main/runtime/rpc/orchestration-legacy-takeover-current-authority.test.ts b/src/main/runtime/rpc/orchestration-legacy-takeover-current-authority.test.ts index 4de71ce6f2a..3ae8dc8375c 100644 --- a/src/main/runtime/rpc/orchestration-legacy-takeover-current-authority.test.ts +++ b/src/main/runtime/rpc/orchestration-legacy-takeover-current-authority.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { createHash } from 'node:crypto' import { afterEach, describe, expect, it, vi } from 'vitest' import { AgentHookServer } from '../../agent-hooks/server' diff --git a/src/main/runtime/rpc/orchestration-legacy-takeover-delivery.test.ts b/src/main/runtime/rpc/orchestration-legacy-takeover-delivery.test.ts index feb3017b538..4dde47e78df 100644 --- a/src/main/runtime/rpc/orchestration-legacy-takeover-delivery.test.ts +++ b/src/main/runtime/rpc/orchestration-legacy-takeover-delivery.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { createHash } from 'node:crypto' import { mkdtempSync, rmSync } from 'node:fs' import { tmpdir } from 'node:os' diff --git a/src/main/runtime/rpc/orchestration-legacy-takeover-dispatcher.test.ts b/src/main/runtime/rpc/orchestration-legacy-takeover-dispatcher.test.ts index e5a05fe7d26..73a27ddc04d 100644 --- a/src/main/runtime/rpc/orchestration-legacy-takeover-dispatcher.test.ts +++ b/src/main/runtime/rpc/orchestration-legacy-takeover-dispatcher.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { createHash } from 'node:crypto' import { mkdtempSync, rmSync } from 'node:fs' import { tmpdir } from 'node:os' diff --git a/src/main/runtime/rpc/orchestration-mutation-ledger.test.ts b/src/main/runtime/rpc/orchestration-mutation-ledger.test.ts index 6909b4f3345..3a6b734c259 100644 --- a/src/main/runtime/rpc/orchestration-mutation-ledger.test.ts +++ b/src/main/runtime/rpc/orchestration-mutation-ledger.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { createHash } from 'node:crypto' import { mkdtempSync, rmSync } from 'node:fs' import { tmpdir } from 'node:os' diff --git a/src/main/runtime/rpc/orchestration-mutation-request-show.test.ts b/src/main/runtime/rpc/orchestration-mutation-request-show.test.ts index e64fb5b9640..68310db7224 100644 --- a/src/main/runtime/rpc/orchestration-mutation-request-show.test.ts +++ b/src/main/runtime/rpc/orchestration-mutation-request-show.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' // A lost mutation response must be answerable without mutating again: these cover // `orchestration.requestShow` reading the same durable receipt --retry-request replays. import { describe, expect, it, vi } from 'vitest' diff --git a/src/main/runtime/rpc/orchestration-runtime-update-settlement.test.ts b/src/main/runtime/rpc/orchestration-runtime-update-settlement.test.ts index db1da5c93d0..e9b46098bce 100644 --- a/src/main/runtime/rpc/orchestration-runtime-update-settlement.test.ts +++ b/src/main/runtime/rpc/orchestration-runtime-update-settlement.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { createHash } from 'node:crypto' import { mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs' import { tmpdir } from 'node:os' diff --git a/src/main/runtime/rpc/orchestration-task-dispatch-invariant.test.ts b/src/main/runtime/rpc/orchestration-task-dispatch-invariant.test.ts index d09c47939f0..ed10d31f919 100644 --- a/src/main/runtime/rpc/orchestration-task-dispatch-invariant.test.ts +++ b/src/main/runtime/rpc/orchestration-task-dispatch-invariant.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { mkdtempSync, rmSync } from 'node:fs' import { tmpdir } from 'node:os' import { join } from 'node:path' diff --git a/src/main/runtime/rpc/runtime-close-attribution-topology.test.ts b/src/main/runtime/rpc/runtime-close-attribution-topology.test.ts index 098eeeb751a..13009905aad 100644 --- a/src/main/runtime/rpc/runtime-close-attribution-topology.test.ts +++ b/src/main/runtime/rpc/runtime-close-attribution-topology.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { _resetTracerForTests, setActiveSink, type TracerSink } from '../../observability/tracer' import type { OrcaRuntimeService } from '../orca-runtime' diff --git a/src/main/runtime/rpc/runtime-close-attribution.test.ts b/src/main/runtime/rpc/runtime-close-attribution.test.ts index dcf9caa658f..12290423a75 100644 --- a/src/main/runtime/rpc/runtime-close-attribution.test.ts +++ b/src/main/runtime/rpc/runtime-close-attribution.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import { _resetTracerForTests, setActiveSink, type TracerSink } from '../../observability/tracer' import type { OrcaRuntimeService } from '../orca-runtime' diff --git a/src/main/runtime/rpc/streaming.test.ts b/src/main/runtime/rpc/streaming.test.ts index a5a132ae0cd..48afad4f3ac 100644 --- a/src/main/runtime/rpc/streaming.test.ts +++ b/src/main/runtime/rpc/streaming.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { z } from 'zod' import { RpcDispatcher } from './dispatcher' diff --git a/src/main/runtime/rpc/terminal-agent-prompt-send.test.ts b/src/main/runtime/rpc/terminal-agent-prompt-send.test.ts index 824513dd999..ba4cd3cb4f6 100644 --- a/src/main/runtime/rpc/terminal-agent-prompt-send.test.ts +++ b/src/main/runtime/rpc/terminal-agent-prompt-send.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../orca-runtime' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-agent-send-guard.test.ts b/src/main/runtime/rpc/terminal-agent-send-guard.test.ts index 3128e0e2dc0..602bd3dbb86 100644 --- a/src/main/runtime/rpc/terminal-agent-send-guard.test.ts +++ b/src/main/runtime/rpc/terminal-agent-send-guard.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../orca-runtime' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-geometry-stale-handle.test.ts b/src/main/runtime/rpc/terminal-geometry-stale-handle.test.ts index c34ff54f848..15e269a965f 100644 --- a/src/main/runtime/rpc/terminal-geometry-stale-handle.test.ts +++ b/src/main/runtime/rpc/terminal-geometry-stale-handle.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-lease-stale-handle-survival.test.ts b/src/main/runtime/rpc/terminal-lease-stale-handle-survival.test.ts index d7921f13135..d56d4bdc61a 100644 --- a/src/main/runtime/rpc/terminal-lease-stale-handle-survival.test.ts +++ b/src/main/runtime/rpc/terminal-lease-stale-handle-survival.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../orca-runtime' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-list-host-scope-transport.test.ts b/src/main/runtime/rpc/terminal-list-host-scope-transport.test.ts index fc4fab66147..6b370641897 100644 --- a/src/main/runtime/rpc/terminal-list-host-scope-transport.test.ts +++ b/src/main/runtime/rpc/terminal-list-host-scope-transport.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { RuntimeTerminalListResult } from '../../../shared/runtime-types' import { RpcDispatcher } from './dispatcher' diff --git a/src/main/runtime/rpc/terminal-multiplex-ack-output-budget.test.ts b/src/main/runtime/rpc/terminal-multiplex-ack-output-budget.test.ts index f93b772994e..0efaa5b2fe7 100644 --- a/src/main/runtime/rpc/terminal-multiplex-ack-output-budget.test.ts +++ b/src/main/runtime/rpc/terminal-multiplex-ack-output-budget.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import { TERMINAL_METHODS } from './methods/terminal' diff --git a/src/main/runtime/rpc/terminal-multiplex-ack-overflow-recovery.test.ts b/src/main/runtime/rpc/terminal-multiplex-ack-overflow-recovery.test.ts index 57abea846ae..3c46d16fbf3 100644 --- a/src/main/runtime/rpc/terminal-multiplex-ack-overflow-recovery.test.ts +++ b/src/main/runtime/rpc/terminal-multiplex-ack-overflow-recovery.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import { TERMINAL_METHODS } from './methods/terminal' diff --git a/src/main/runtime/rpc/terminal-multiplex-desktop-resize-routing.test.ts b/src/main/runtime/rpc/terminal-multiplex-desktop-resize-routing.test.ts index 562181b2752..19e22540c1f 100644 --- a/src/main/runtime/rpc/terminal-multiplex-desktop-resize-routing.test.ts +++ b/src/main/runtime/rpc/terminal-multiplex-desktop-resize-routing.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import { TERMINAL_METHODS } from './methods/terminal' diff --git a/src/main/runtime/rpc/terminal-multiplex-escape-tail.test.ts b/src/main/runtime/rpc/terminal-multiplex-escape-tail.test.ts index 4b9afed46c6..38f5d9e5cd5 100644 --- a/src/main/runtime/rpc/terminal-multiplex-escape-tail.test.ts +++ b/src/main/runtime/rpc/terminal-multiplex-escape-tail.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-multiplex-initial-snapshot-buffering.test.ts b/src/main/runtime/rpc/terminal-multiplex-initial-snapshot-buffering.test.ts index 38117a7c762..43ef18a7e87 100644 --- a/src/main/runtime/rpc/terminal-multiplex-initial-snapshot-buffering.test.ts +++ b/src/main/runtime/rpc/terminal-multiplex-initial-snapshot-buffering.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import type { RuntimeTerminalDataMeta } from '../orca-runtime' diff --git a/src/main/runtime/rpc/terminal-multiplex-input-write-rejection.test.ts b/src/main/runtime/rpc/terminal-multiplex-input-write-rejection.test.ts index ae2298a20dc..2b8472524bf 100644 --- a/src/main/runtime/rpc/terminal-multiplex-input-write-rejection.test.ts +++ b/src/main/runtime/rpc/terminal-multiplex-input-write-rejection.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import type { OrcaRuntimeService } from '../orca-runtime' diff --git a/src/main/runtime/rpc/terminal-multiplex-output-pause-and-viewport.test.ts b/src/main/runtime/rpc/terminal-multiplex-output-pause-and-viewport.test.ts index eecd7b03859..7f11dbdfed7 100644 --- a/src/main/runtime/rpc/terminal-multiplex-output-pause-and-viewport.test.ts +++ b/src/main/runtime/rpc/terminal-multiplex-output-pause-and-viewport.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import type { OrcaRuntimeService, RuntimeTerminalDataMeta } from '../orca-runtime' diff --git a/src/main/runtime/rpc/terminal-multiplex-pty-wait-capacity.test.ts b/src/main/runtime/rpc/terminal-multiplex-pty-wait-capacity.test.ts index 9a8cc77af3e..bbd4c7eca5e 100644 --- a/src/main/runtime/rpc/terminal-multiplex-pty-wait-capacity.test.ts +++ b/src/main/runtime/rpc/terminal-multiplex-pty-wait-capacity.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import { TERMINAL_METHODS } from './methods/terminal' diff --git a/src/main/runtime/rpc/terminal-multiplex-resync-replay-trim.test.ts b/src/main/runtime/rpc/terminal-multiplex-resync-replay-trim.test.ts index a39f63572f6..266630280f1 100644 --- a/src/main/runtime/rpc/terminal-multiplex-resync-replay-trim.test.ts +++ b/src/main/runtime/rpc/terminal-multiplex-resync-replay-trim.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-multiplex-snapshot-serialization.test.ts b/src/main/runtime/rpc/terminal-multiplex-snapshot-serialization.test.ts index 4ce604ba27d..a55a69dff08 100644 --- a/src/main/runtime/rpc/terminal-multiplex-snapshot-serialization.test.ts +++ b/src/main/runtime/rpc/terminal-multiplex-snapshot-serialization.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import { TERMINAL_METHODS } from './methods/terminal' diff --git a/src/main/runtime/rpc/terminal-multiplex-subscribe-slot-recovery.test.ts b/src/main/runtime/rpc/terminal-multiplex-subscribe-slot-recovery.test.ts index 7fa6f4a39d2..fa275c0c15e 100644 --- a/src/main/runtime/rpc/terminal-multiplex-subscribe-slot-recovery.test.ts +++ b/src/main/runtime/rpc/terminal-multiplex-subscribe-slot-recovery.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import { TERMINAL_METHODS } from './methods/terminal' diff --git a/src/main/runtime/rpc/terminal-opencode-send-guard.integration.test.ts b/src/main/runtime/rpc/terminal-opencode-send-guard.integration.test.ts index 2671449b606..f485e207efd 100644 --- a/src/main/runtime/rpc/terminal-opencode-send-guard.integration.test.ts +++ b/src/main/runtime/rpc/terminal-opencode-send-guard.integration.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it, vi } from 'vitest' import { OrcaRuntimeService } from '../orca-runtime' import { RpcDispatcher } from './dispatcher' diff --git a/src/main/runtime/rpc/terminal-output-batching.test.ts b/src/main/runtime/rpc/terminal-output-batching.test.ts index 214a5a2814e..15dcf01ad44 100644 --- a/src/main/runtime/rpc/terminal-output-batching.test.ts +++ b/src/main/runtime/rpc/terminal-output-batching.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-prompt-delivery-receipt.test.ts b/src/main/runtime/rpc/terminal-prompt-delivery-receipt.test.ts index e1bc03f18ab..7bb2cf8727c 100644 --- a/src/main/runtime/rpc/terminal-prompt-delivery-receipt.test.ts +++ b/src/main/runtime/rpc/terminal-prompt-delivery-receipt.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it, vi } from 'vitest' import type { TuiAgent } from '../../../shared/tui-agent' import { createAgentPromptSubmissionRuntime } from '../agent-prompt-submission-runtime-test-fixture' diff --git a/src/main/runtime/rpc/terminal-provider-snapshot-sequence.test.ts b/src/main/runtime/rpc/terminal-provider-snapshot-sequence.test.ts index 726141c536d..88113c84cc1 100644 --- a/src/main/runtime/rpc/terminal-provider-snapshot-sequence.test.ts +++ b/src/main/runtime/rpc/terminal-provider-snapshot-sequence.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-requested-snapshot-unavailability.test.ts b/src/main/runtime/rpc/terminal-requested-snapshot-unavailability.test.ts index c5f05cb0456..dacf408900c 100644 --- a/src/main/runtime/rpc/terminal-requested-snapshot-unavailability.test.ts +++ b/src/main/runtime/rpc/terminal-requested-snapshot-unavailability.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-send-launch-draft-resolution.test.ts b/src/main/runtime/rpc/terminal-send-launch-draft-resolution.test.ts index 9e5cf52384a..61f740ee85c 100644 --- a/src/main/runtime/rpc/terminal-send-launch-draft-resolution.test.ts +++ b/src/main/runtime/rpc/terminal-send-launch-draft-resolution.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../orca-runtime' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-send.test.ts b/src/main/runtime/rpc/terminal-send.test.ts index 9aa55eb823e..a6b451b1488 100644 --- a/src/main/runtime/rpc/terminal-send.test.ts +++ b/src/main/runtime/rpc/terminal-send.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { afterEach, describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-subscribe-admission.test.ts b/src/main/runtime/rpc/terminal-subscribe-admission.test.ts index 75df605d1c8..c0046637d27 100644 --- a/src/main/runtime/rpc/terminal-subscribe-admission.test.ts +++ b/src/main/runtime/rpc/terminal-subscribe-admission.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { OrcaRuntimeService } from '../orca-runtime' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-subscribe-blank-mount.test.ts b/src/main/runtime/rpc/terminal-subscribe-blank-mount.test.ts index 3562f9cc3c4..c6bf99e4d44 100644 --- a/src/main/runtime/rpc/terminal-subscribe-blank-mount.test.ts +++ b/src/main/runtime/rpc/terminal-subscribe-blank-mount.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' /** STA-1840 regression: missing mobile terminal models request an exact renderer tab mount. */ import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' diff --git a/src/main/runtime/rpc/terminal-subscribe-buffer.test.ts b/src/main/runtime/rpc/terminal-subscribe-buffer.test.ts index a08458d8be5..601d1eaf936 100644 --- a/src/main/runtime/rpc/terminal-subscribe-buffer.test.ts +++ b/src/main/runtime/rpc/terminal-subscribe-buffer.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import { RpcDispatcher } from './dispatcher' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-subscribe-lease-only.test.ts b/src/main/runtime/rpc/terminal-subscribe-lease-only.test.ts index 1ee273d1ca2..3a027ae516b 100644 --- a/src/main/runtime/rpc/terminal-subscribe-lease-only.test.ts +++ b/src/main/runtime/rpc/terminal-subscribe-lease-only.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../orca-runtime' import type { RpcRequest } from './core' diff --git a/src/main/runtime/rpc/terminal-subscribe-mount-replay.test.ts b/src/main/runtime/rpc/terminal-subscribe-mount-replay.test.ts index 6dd443f1402..7371c54472c 100644 --- a/src/main/runtime/rpc/terminal-subscribe-mount-replay.test.ts +++ b/src/main/runtime/rpc/terminal-subscribe-mount-replay.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { RuntimeTerminalWait } from '../../../shared/runtime-types' import { diff --git a/src/main/runtime/rpc/terminal-subscribe-mounted-pane.test.ts b/src/main/runtime/rpc/terminal-subscribe-mounted-pane.test.ts index 56720ff5d48..466cf4b3901 100644 --- a/src/main/runtime/rpc/terminal-subscribe-mounted-pane.test.ts +++ b/src/main/runtime/rpc/terminal-subscribe-mounted-pane.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import type { RuntimeTerminalWait } from '../../../shared/runtime-types' import { diff --git a/src/main/runtime/rpc/terminal-subscribe-ownership.test.ts b/src/main/runtime/rpc/terminal-subscribe-ownership.test.ts index fefe8efb28d..8c7c87ffeed 100644 --- a/src/main/runtime/rpc/terminal-subscribe-ownership.test.ts +++ b/src/main/runtime/rpc/terminal-subscribe-ownership.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../orca-runtime' import { RuntimeSubscriptionRegistry } from '../runtime-subscription-registry' diff --git a/src/main/runtime/rpc/terminal-subscribe-reconnect-rebind.test.ts b/src/main/runtime/rpc/terminal-subscribe-reconnect-rebind.test.ts index df3bd9bcece..fe7990b71c4 100644 --- a/src/main/runtime/rpc/terminal-subscribe-reconnect-rebind.test.ts +++ b/src/main/runtime/rpc/terminal-subscribe-reconnect-rebind.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { RuntimeTerminalWait } from '../../../shared/runtime-types' import type { OrcaRuntimeService } from '../orca-runtime' diff --git a/src/main/runtime/rpc/terminal-subscribe-relay-drop-lease-survival.test.ts b/src/main/runtime/rpc/terminal-subscribe-relay-drop-lease-survival.test.ts index 5cfab233011..f7c9554c191 100644 --- a/src/main/runtime/rpc/terminal-subscribe-relay-drop-lease-survival.test.ts +++ b/src/main/runtime/rpc/terminal-subscribe-relay-drop-lease-survival.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' // Why: the stale-handle survival suite doubles subscribeToPtyExit, so it pins the wiring but // not the predicate that decides whether a PTY counts as exited. This wires that one call to // a real OrcaRuntimeService, because a relay drop reaches the phone through the predicate. diff --git a/src/main/runtime/rpc/terminal-subscribe-renderer-recovery-output.test.ts b/src/main/runtime/rpc/terminal-subscribe-renderer-recovery-output.test.ts index 65701e2a80a..530eaf54171 100644 --- a/src/main/runtime/rpc/terminal-subscribe-renderer-recovery-output.test.ts +++ b/src/main/runtime/rpc/terminal-subscribe-renderer-recovery-output.test.ts @@ -1,3 +1,4 @@ +import './unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { RuntimeTerminalWait } from '../../../shared/runtime-types' import { diff --git a/src/main/runtime/rpc/unused-default-rpc-methods.test-fixture.ts b/src/main/runtime/rpc/unused-default-rpc-methods.test-fixture.ts new file mode 100644 index 00000000000..6e2f54332d7 --- /dev/null +++ b/src/main/runtime/rpc/unused-default-rpc-methods.test-fixture.ts @@ -0,0 +1,22 @@ +import { afterEach, expect, vi } from 'vitest' +import type { RpcAnyMethodDeclaration } from './core' + +const unusedDefaultRpcMethods = vi.hoisted(() => { + const methods: RpcAnyMethodDeclaration[] = [] + const consumption = { count: 0 } + methods[Symbol.iterator] = (): ArrayIterator => { + consumption.count += 1 + throw new Error('Explicit-registry tests must not consume the default RPC manifest') + } + return { methods, consumption } +}) + +vi.mock('./methods', () => ({ ALL_RPC_METHODS: unusedDefaultRpcMethods.methods })) + +afterEach(() => { + try { + expect(unusedDefaultRpcMethods.consumption.count).toBe(0) + } finally { + unusedDefaultRpcMethods.consumption.count = 0 + } +}) diff --git a/src/main/runtime/runtime-file-path-existence.test.ts b/src/main/runtime/runtime-file-path-existence.test.ts index d74c58bfdae..24b12e7d5a6 100644 --- a/src/main/runtime/runtime-file-path-existence.test.ts +++ b/src/main/runtime/runtime-file-path-existence.test.ts @@ -1,3 +1,4 @@ +import './rpc/unused-default-rpc-methods.test-fixture' import { afterEach, expect, it, vi } from 'vitest' import { mkdtemp, writeFile, rm } from 'node:fs/promises' import { join } from 'node:path' diff --git a/src/main/runtime/runtime-git-status-admission.test.ts b/src/main/runtime/runtime-git-status-admission.test.ts index b6c92fe7002..e5f50197a0d 100644 --- a/src/main/runtime/runtime-git-status-admission.test.ts +++ b/src/main/runtime/runtime-git-status-admission.test.ts @@ -1,3 +1,4 @@ +import './rpc/unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { GitAdmissionEvent } from '../../shared/git-admission-state' import { GitAdmissionScheduler } from '../git/command-runner/git-subprocess-admission' diff --git a/src/main/runtime/structured-agent-session-held-signal.test.ts b/src/main/runtime/structured-agent-session-held-signal.test.ts index 2bf1a423fe1..0bf61aa7843 100644 --- a/src/main/runtime/structured-agent-session-held-signal.test.ts +++ b/src/main/runtime/structured-agent-session-held-signal.test.ts @@ -1,3 +1,4 @@ +import './rpc/unused-default-rpc-methods.test-fixture' /** * "This machine holds a structured chat" against a real host and record store. Session history, * resume preparation and replay-safe phone launches all build the host for a user who never had a diff --git a/src/main/runtime/structured-agent-session-integration.test.ts b/src/main/runtime/structured-agent-session-integration.test.ts index 3d9e72f7404..571e903dde3 100644 --- a/src/main/runtime/structured-agent-session-integration.test.ts +++ b/src/main/runtime/structured-agent-session-integration.test.ts @@ -1,3 +1,4 @@ +import './rpc/unused-default-rpc-methods.test-fixture' // One structured Codex session driven end to end over `agentSession.*`. // // Nothing here is stubbed except the Codex child itself: the RPC dispatcher, the diff --git a/src/main/runtime/structured-chat-coordinator-mail.test.ts b/src/main/runtime/structured-chat-coordinator-mail.test.ts index 49c694b5adb..0ec0418184d 100644 --- a/src/main/runtime/structured-chat-coordinator-mail.test.ts +++ b/src/main/runtime/structured-chat-coordinator-mail.test.ts @@ -1,3 +1,4 @@ +import './rpc/unused-default-rpc-methods.test-fixture' // A worker's result reaching the structured chat that coordinates it, end to end in one process. // // Real: the structured agent-session host, its record store, journal, lease and Codex adapter; the @@ -26,7 +27,6 @@ import { OrchestrationDb } from './orchestration/db' import { localOrchestrationCliCommand } from './orchestration/cli-command' import { formatMessagePointer } from './orchestration/formatter' import { currentRunCoordinatorOrcaSessionId } from './orchestration/db/runs/run-coordinator-orca-session' -import type { RpcRequest } from './rpc/core' import { RpcDispatcher } from './rpc/dispatcher' import { ORCHESTRATION_METHODS } from './rpc/methods/orchestration' import { idOf, isRecord, resultOf } from './rpc/orchestration-session-caller-test-fixture' @@ -63,7 +63,7 @@ function request( method: string, params: Record, options: { sessionId?: string } = {} -): RpcRequest { +): Parameters[0] { requests += 1 return { id: `rpc-${requests}`, diff --git a/src/main/runtime/terminal-subscriber-driven-daemon-attach.test.ts b/src/main/runtime/terminal-subscriber-driven-daemon-attach.test.ts index 9710ba438be..0b2a2e888ee 100644 --- a/src/main/runtime/terminal-subscriber-driven-daemon-attach.test.ts +++ b/src/main/runtime/terminal-subscriber-driven-daemon-attach.test.ts @@ -1,3 +1,4 @@ +import './rpc/unused-default-rpc-methods.test-fixture' /** * Subscriber-driven daemon attach (never-activated tab ingestion). * diff --git a/src/main/ssh/ssh-relay-incumbent-process.test.ts b/src/main/ssh/ssh-relay-incumbent-process.test.ts index 425e3f5f279..f77cd335174 100644 --- a/src/main/ssh/ssh-relay-incumbent-process.test.ts +++ b/src/main/ssh/ssh-relay-incumbent-process.test.ts @@ -65,7 +65,8 @@ async function probe(script: string, listening = false) { rmSync(dir, { recursive: true, force: true }) } } -describe.skipIf(process.platform === 'win32')('real generated incumbent probe', () => { +// Each probe owns its socket, shim and process group; overlap the real lsof deadlines. +describe.skipIf(process.platform === 'win32').concurrent('real generated incumbent probe', () => { it('bounds hung lsof and preserves live connect evidence', async () => { const p = await probe('echo $$ > "$FIXTURE_PID"\nexec sleep 60\n', true) expect(p.result.timedOut).toBe(false) diff --git a/src/main/ssh/ssh-remote-linear-relation-write.test.ts b/src/main/ssh/ssh-remote-linear-relation-write.test.ts index 262ec566232..9042e63deca 100644 --- a/src/main/ssh/ssh-remote-linear-relation-write.test.ts +++ b/src/main/ssh/ssh-remote-linear-relation-write.test.ts @@ -1,3 +1,4 @@ +import '../runtime/rpc/unused-default-rpc-methods.test-fixture' import { describe, expect, it, vi } from 'vitest' import type { OrcaRuntimeService } from '../runtime/orca-runtime' import { RpcDispatcher } from '../runtime/rpc/dispatcher' diff --git a/src/renderer/src/components/diff-comments/useDiffCommentDecorator.commentable-lines.test.tsx b/src/renderer/src/components/diff-comments/useDiffCommentDecorator.commentable-lines.test.tsx index 6e2c7bbac32..14ea929b86f 100644 --- a/src/renderer/src/components/diff-comments/useDiffCommentDecorator.commentable-lines.test.tsx +++ b/src/renderer/src/components/diff-comments/useDiffCommentDecorator.commentable-lines.test.tsx @@ -4,6 +4,16 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' import type { DecoratedDiffComment } from './decorated-diff-comment' import type * as ReactDomClientModule from 'react-dom/client' import type * as DiffCommentZoneCardModule from './diff-comment-zone-card' +import type { NotesSendMenu } from '../editor/NotesSendMenu' + +const notesMenuFixture = vi.hoisted(() => ({ + NotesSendMenu: vi.fn(() => { + throw new Error('Commentable-line lifecycle must not render the agent notes menu') + }) +})) + +// Remote review-note lifecycle does not exercise saved-note delivery. +vi.mock('../editor/NotesSendMenu', () => ({ NotesSendMenu: notesMenuFixture.NotesSendMenu })) const storeFixture = vi.hoisted(() => ({ activeGroupIdByWorktree: {}, @@ -121,7 +131,11 @@ beforeEach(() => { afterEach(() => { document.body.replaceChildren() - vi.clearAllMocks() + try { + expect(notesMenuFixture.NotesSendMenu).not.toHaveBeenCalled() + } finally { + vi.clearAllMocks() + } }) function countingCommentableLines(length: number): {