Skip to content

perf(ci): cut redundant tests and reuse expensive setup - #28669

Merged
nwparker merged 16 commits into
mainfrom
nwparker/FASTER-FUCKING-CI
Oct 14, 2026
Merged

nwparker merged 16 commits into
mainfrom
nwparker/FASTER-FUCKING-CI

Conversation

@nwparker

@nwparker nwparker commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor
Files Added Deleted Net
Test 78 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​899 $\color{#cf222e}{\Huge{\mathbf{−}}}$​3127 $\color{#cf222e}{\Huge{\mathbf{−}}}$​2228
Prod 25 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​776 $\color{#cf222e}{\Huge{\mathbf{−}}}$​151 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​625

ELI5

The same runners spend less time repeating setup, waiting, and rebuilding identical inputs. Hosted CI confirms large improvements in targeted tests, while the full unit suite is slower than the older baseline as main adds more tests.

What Changed

  • Remove selected copy/default/metadata snapshots and redundant cases. Use virtual time, observed process exit, indexed SQLite, reusable Git containers, and lazy test setup where appropriate.
  • Remove nine Electron cases and combine all 16 host-reveal scenarios into four launches, eliminating 21 app launches. Wait for each reveal to finish before resetting the next scenario.
  • Capture frames from hidden renderers while sending wheel input, preserving both eight-second drain waits and all original thresholds.
  • Reuse localization extraction, memoize Mobile recording hashes, shorten Cloud stress cohorts, and isolate PostgreSQL fixture locks. Retain the original drain retry allowance and worker-startup deadlines.
  • Invoke preflight scripts directly, validate/cache the Wayland helper, overlap native and JavaScript builds, and populate Windows executable caches consumed by packaging. Add daily server qualification to build fresh Windows artifacts, publish missing immutable caches, and check platform coverage.
  • Keep unrelated dependency patches out of terminal IME lanes. Classify three global Jira preferences in the existing WSL storage inventory; remove an unnecessary canvas cast and simplify two Jira callbacks.
  • Repair newly merged test fixtures: wait for trusted pointer delivery in hidden opaque iframes before their single popup click, mock the new Jira image installer in startup tests, and replace mutable function exports in a Jira fixture with local slots and exported functions. Original popup/identity assertions and the build-safety guard remain enabled.

Why

Runner capacity is fixed. Reusing setup and removing idle waits improves useful work per runner without adding shards. This also deliberately drops selected narrow safeguards, including exact translations, the onboarding retry-cap helper, and the browser-pane input-size census, in favor of broader behavioral and validation suites. Those specific regression checks and prolonged Cloud stress coverage are reduced. Main's removal of the per-merge server matrix in #28664 is excluded from this PR's gains.

Linked Issue

N/A — internal CI maintenance.

Visual Proof

N/A — no product layout or interaction changes.

Testing

  • I manually tested these changes locally
  • Automated tests added/updated, or explained why not below

Current revision: a61047a0c615, merged with main 7244bf3e6f0. The only conflict was the independently repaired transcript filesystem mock; the merged version retains forwarding spies for named and default exports, native stream classes, and every case/assertion/deadline. Focused verification passed 58 cases and Node typecheck. Fresh qualification for this exact revision passed PR Checks run 38650417532, testing merge 445d83b2e27f24b76d1599e7b413ba0721eb96c6 against main 7244bf3e6f0. All 80 checks completed: 64 successes and 16 expected skips, including all four Windows SSH lanes. All five unit shards passed: 12,165 files passed, 151 skipped, zero unhandled errors. Their five diagnostic ZIP digests, all 20 report hashes, exact source/runtime/run provenance, and complete 12,316-file source inventory were independently verified. Combined unit runner occupancy is 50.73 minutes, including 182 seconds outside the test steps. That is six seconds above the preceding 50.63-minute qualification and 4.46% above the original 48.57-minute baseline; source/workload differences prevent attributing that delta to this PR. No whole-unit or whole-CI speedup is claimed. A separately reviewed complete audit binds all 80 checks to 13 successful pull-request workflows. Compared with the prior green 4334e9 qualification, total occupancy is 262.97 → 264.93 runner-minutes (+0.75%), while observed whole-head completion elapsed is 24m53s → 19m50s. Unit plus package occupancy is 3,823 → 4,160 seconds (+8.82%); retained Electron cases moved into package gates are included. The older run also executes a 401-second native WSL gate skipped in the fresh run, so its lower PR-only total is not a comparable workload saving. Source, workload, caches and runner conditions differ; these are observations, not causal estimates. The completed qualification below applies to prior repair revision 1dc4a8f24d26216135677939e8b76e34533fef5b. Previous repaired PR checks test merge 8d7f46198b99432efd104ac7803174173b367c66 against main e53b20095d3ca98df120cd0a3ef4814e945a9779. All five unit shards passed in attempt 1: 12,163 files passed, 151 skipped, zero unhandled errors. All 20 report hashes and source/runtime/run provenance were verified with complete file coverage. Their combined runner occupancy is 50.63 minutes, versus 53.37 at the prior qualified revision below and 48.57 at the older baseline. This remains 4.2% above the older baseline with a changed workload; no whole-unit or whole-CI speedup is claimed. All PR Checks jobs passed, including static analysis, Linux and Windows packaging, Electron lanes, and the aggregate. All 80 reported checks are now complete: 65 succeeded and 15 skipped as expected, including all four auxiliary Windows SSH host lanes. The ARM inbox lane passed in 28m35s; provisioning cost is included in runner occupancy.

The failed preceding revision 5d67257d44fcb65efa9e7c1d221b082fd1053ef9 is excluded from qualification. A newly introduced main suite recursively spied on native stream classes, causing ten unchanged 30-second deadlines to expire. Forwarding spies now observe the same five filesystem functions without altering those classes. All 13 cases, tracked read paths, assertions, and deadlines remain unchanged; the repaired hosted module passed in 389 ms, versus 300,554 ms in the failed run. Local direct Node/pool checks, Node typecheck, and independent review passed.

The merge retains main's stronger Jira fixture/startup assertions and guide-projection test, the planned translation-test deletion, and unchanged package-test inventory extraction with checkout/fixture routing dependencies. Local validation passed the conflict/startup, routing, checkout/Mobile/package-registration cases, full typecheck, and commit lint/format hooks.

Completed prior qualification: revision 4334e9a95d03ec670354deb3f826fce9f485fae2; full PR checks passed on merge 9b30c3c9dd6fb7dfe80d1e197a52698d53f3904f against main a0c46b405ff. All 65 hosted checks succeeded with 15 expected skips, including all four SSH Windows host lanes. All five unit shards passed in attempt 1: 12,122 files passed, 150 skipped, zero unhandled errors. All 20 report hashes and their source/runtime/run provenance were verified, with complete file coverage. Failed earlier runs are excluded from the comparison.

Baselines: unit/preflight, Electron, Cloud, Mobile.

Prior qualification 4334e9, queue excluded Before Qualified result Change
Seven optimized unit modules, summed duration 81.909s 22.254s 72.8% lower
All five unit jobs, combined runner occupancy 48.57 min 53.37 min 9.9% higher
Five optimized Electron specs, summed case time 1,404.283s 677.8s 51.7% lower
Wheel drain cases 531.812s 47.1s 91.1% lower
All 16 reveal scenarios 317.409s 205.8s 35.2% lower
Cloud test job occupancy 518s 440s 15.1% lower
Cloud test step 485s 408s 15.9% lower
Combined Cloud job occupancy 654s 574s 12.2% lower
Mobile test step 143s 119s 16.8% lower
Mobile job occupancy 187s 169s 9.6% lower
Mobile snapshot parity suite 34.003s 20.425s 39.9% lower

The unit comparison uses identical Node 24.21.0/Bun 1.4.3 versions and runner labels. Main adds 194 unit files versus baseline; this PR adds two and removes 23 of the 34 removed files. Unchanged passing files have a median duration ratio of 1.00 (1.024 for baseline durations of at least 250ms). These observations support the targeted module improvement, not a whole-unit speedup. Two newly skipped modules are unchanged from main.

The Electron lane passed 30 cases with nine platform skips; all 28 retained cases in the five optimized specs passed, including all 16 reveal scenarios. The broader seven-spec lane occupied its runner for 877s. Baseline and final use Node 24.21.0/Electron 43.7.5. Source trees and shard selection differ; the summed case time includes app launch but excludes separate CI preparation/build/queue. It is not an overall CI wall-time measurement.

Cloud passed 2,910 tests with one skip; Mobile passed 10,635 with six skips. Cloud savings include deliberately smaller stress workloads: drain hosts decrease from 2,500 to 250 with the same proportions and a 300s→30s pace; PostgreSQL contention windows decrease from ten to five seconds at the same rates. These are not same-workload throughput gains. Mobile parity histories shrink from eight to two turns while retaining completed/interrupted/revised/dropped states, exhaustive enumeration, and the 70-turn case. Main adds four relay simulation cases/invariant tracking and 51 passing Mobile cases versus baseline; Push drops from 189 to 180 tests through ten upstream removals and one fixture-isolation regression added here. Source, runner, cache, and service variation limit attribution; no independent hosted hash-memoization gain is claimed.

Preflight passed at 161s versus 182s; extraction took 25s versus 31s. Successful candidates ranged 149–187s, so the branch's independent whole-job contribution is unproven. All extraction/catalog gates and terminal/execution-host smoke checks passed. Local same-source extraction was about 30% faster with approximately 0.5 GiB more peak memory; hosted numerical RSS is unavailable.

Server qualification passed all six persistence platforms and five Linux gates. All four platform warmers passed. The Windows packaging consumer restored the exact source key and reused all three executables; hook/launcher build steps took 1s/0s versus 35–45s cold. Caches are PR-scoped; sharing through main and Wayland warm-cache savings remain unverified. Runner types, matrix sizes, shard counts, and concurrency limits are unchanged; the daily server qualification adds scheduled demand within existing capacity.

Local validation passes full typecheck, root lint, anti-slop, changed-code quality, relevant behavioral tests, 34 startup cases under Bun and Node, and 32 Jira/build-safety cases. All 39 popup cases passed on macOS and isolated Linux with CI's runtime versions/environment; hidden-window evidence records no presentation calls. Earlier qualification covered full Mobile/Cloud commands, real Git 2.25.5/2.38.1/2.49.1/host compatibility, a cold Wayland build, and native tests. Full local lint has existing Mobile import cycles outside these edits; full E2E typecheck has existing errors. Hosted packaging and all required gates passed.

Review

Independent reviews covered retained assertions, workflow selection, cache validation, process cleanup, remote behavior, and platform/version compatibility. Cache-review dispositions: Wayland entries are immutable; a failed validation rebuilds from source, and repair of an invalid published entry requires bumping the existing key version. Making that literal an input would still require manual rotation and would not repair an entry automatically. Daily Windows qualification deliberately builds without restoration and publishes missing exact fingerprint keys; unchanged keys retain their previous validated artifact rather than being overwritten. The action and schedule comments document these limits. The existing full unit file selection remains enabled. The canonical PR classifier counts 78 test files, with 902 lines added and 3,119 deleted: a net reduction of 2,217 test lines.

Agent skill upstream boundary

  • Not applicable, or this change copies or mechanically translates no upstream skill-installer source, tests, fixtures, registry entries, path tables, comments, or documentation.

Checklist

  • This PR is small and focused
  • I explained what changed and why (ELI5, the user-facing before/after, the mechanism, and why over the alternatives)
  • Before/after screenshots or videos attached for UI changes, or N/A with reason
  • Self-reviewed for correctness, security, and performance
  • Cross-platform, SSH/remote, and path/shortcut impact considered (or N/A)
  • pnpm lint, pnpm typecheck, pnpm test, and pnpm build pass (or CI will cover; local preferred)

@nwparker
nwparker force-pushed the nwparker/FASTER-FUCKING-CI branch from 511f212 to e76c9cd Compare October 14, 2026 08:29
@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 46f2c8b2-dacc-4dd8-9638-6812718ab5a8
📥 Commits

Reviewing files that changed from the base of the PR and between 5a84099 and 797582e.

⛔ Files ignored due to path filters: 1
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing: 3
  • src/main/browser/browser-popup-background-cdp-probe.ts
  • src/main/ipc/jira.ts
  • src/main/runtime/orca-runtime-files-artifact-facade.test.ts
🚧 Files skipped from review as they are similar to previous changes: 1
  • src/main/ipc/jira.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review.

📝 Walkthrough

The pull request changes CI workflows and native-build caching, updates localization extraction and test-routing tools, and adds shared test infrastructure. It also revises, consolidates, and removes tests across CLI, renderer, shared, end-to-end, and cloud code. Additional changes cover runtime file forwarding, opaque-frame pointer handling, push-fixture lock isolation, and relay simulation parameters.

Priority: ➖ Normal

Merge Risk: 🔵 Low · up to 79758

The change is mergeable with owner awareness: daily qualification may not refresh an existing Windows cache until its key changes.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 40 functions across 65 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly summarizes the primary changes: reducing redundant CI tests and reusing expensive setup.
Description check Passed The description is detailed and covers the required sections, including scope, rationale, testing, review, visual proof, and checklist status. The missing linked issue is explained as internal CI main…
Linked Issues check Passed The description states that this is internal CI maintenance and uses the template's maintainer exception for the linked issue requirement.
Out of Scope Changes check Passed The changes align with the stated objective of reducing CI cost and test execution time. Supporting fixture repairs, cache updates, and routing changes are documented in the description.
✨ Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🔇 Additional comments: 49
src/cli/browser-empty-values.test.ts: 1

135-213: LGTM!

src/cli/index.test.ts: 1

462-470: LGTM!

Also applies to: 479-479, 494-497

src/cli/terminal-format.test.ts: 1

10-10: LGTM!

Also applies to: 272-290

config/scripts/generated-artifact-line-ending-pin.test.mjs: 1

24-26: LGTM!

config/scripts/workflow-ref-reachability.test.mjs: 1

99-100: LGTM!

src/renderer/src/components/settings/GeneralPane.test.ts: 1

12-16: LGTM!

src/renderer/src/components/onboarding/OnboardingFlow.test.tsx: 1

221-221: LGTM!

src/shared/constants.test.ts: 1

2-2: LGTM!

src/shared/contextual-tours.test.ts: 1

2-4: LGTM!

mobile/src/session/mobile-native-chat-merged-snapshot-parity.test.ts: 1

212-212: LGTM!

Also applies to: 224-224

tests/e2e/helpers/e2e-completed-onboarding-profile.ts: 1

50-51: LGTM!

tests/e2e/onboarding.spec.ts: 1

163-169: LGTM!

Also applies to: 207-207

tests/e2e/tabs.spec.ts: 1

396-396: LGTM!

Also applies to: 425-425

tests/e2e/worktree-reveal-host-sections.spec.ts: 1

21-31: LGTM!

config/scripts/pr-e2e-gate-contract.test.mjs: 1

213-214: LGTM!

Also applies to: 240-268

config/scripts/pr-e2e-source-routing.mjs: 1

12-14: LGTM!

Also applies to: 17-17, 260-263, 274-275

config/scripts/node-server-change-scope.mjs: 1

21-21: LGTM!

config/scripts/vitest-dom-setup.ts: 1

1-7: LGTM!

config/scripts/happy-dom-offscreen-canvas.ts: 1

52-52: LGTM!

config/scripts/vitest-host-ports-setup.ts: 1

18-23: LGTM!

Also applies to: 26-28, 43-43

config/tsconfig.node.json: 1

11-13: LGTM!

config/vitest.config.ts: 1

40-40: LGTM!

config/patches/i18next-cli@1.74.2.patch: 1

2-2: LGTM!

Also applies to: 23-168, 170-197, 201-201, 222-368, 369-398

config/scripts/localization-extraction-call-syntax.test.mjs: 1

56-98: LGTM!

src/main/agent-hooks/server-transport-interference.test.ts: 1

51-73: LGTM!

src/main/daemon/daemon-pty-startup-delivery.test.ts: 1

76-88: LGTM!

Also applies to: 104-110

src/main/daemon/slow-daemon-session-verification.test.ts: 1

4-4: LGTM!

Also applies to: 19-19, 53-53, 90-90, 124-150

src/main/hook-termination-real-process.test.ts: 1

39-40: LGTM!

src/main/provider-process/provider-process-supervisor.integration.test.ts: 2

413-418: LGTM!

Also applies to: 432-434, 531-534, 554-560


351-374: 📐 Maintainability & Code Quality

The preload runs before the inline supervisor script. It patches childProcess.spawn before the supervisor executes const { spawn } = require('node:child_process'). The supervisor then uses that patched binding for the provider launch. The fork, execFile, and ESM import alternatives do not apply.

The provider-started assertion would be redundant because the marker already detects the provider spawn.

src/shared/git-branch-line-total-soft-deadline.test.ts: 1

37-72: LGTM!

src/renderer/src/components/native-chat/NativeChatMessageList.rail-history-jump.test.tsx: 1

116-125: LGTM!

Also applies to: 216-216

cloud/apps/relay/src/drain-release-cell-row-contention-postgres.test.ts: 1

35-36: LGTM!

config/scripts/process-host-build-dist.test.mjs: 1

114-126: LGTM!

src/main/native-chat/transcript-opencode2-sqlite.test.ts: 1

29-32: LGTM!

Also applies to: 161-162

mobile/src/test-support/rpc-recording/golden-value-pool.ts: 1

92-97: LGTM!

cloud/apps/relay/src/public-assignment-drain-return-lane.test.ts: 1

366-371: 🎯 Functional Correctness

No flaky path is established.

elapsedMs advances in fixed 20 ms steps under fake timers. The director selection is deterministic. The 250 drained arrivals also exceed the shared inventory-lock throughput and the five directors' combined admission capacity, so the reduced cohort must produce at least one deferral.

src/shared/git-binary-compatibility.test.ts: 1

43-51: LGTM!

Also applies to: 73-75, 92-96

src/main/git/worktree-rebase-update-refs-real-git.test.ts: 1

14-26: LGTM!

Also applies to: 48-52

src/main/git/worktree-safety-real-git.test.ts: 1

41-44: LGTM!

Also applies to: 48-54, 57-57, 64-64

.github/workflows/ci-cache-warmup-platform-jobs.yml: 1

56-65: LGTM!

Also applies to: 67-77

.github/workflows/ci-cache-warmup-platforms.yml: 1

37-42: LGTM!

config/scripts/orcad-windows-prebuild-workflow.test.mjs: 1

228-228: LGTM!

Also applies to: 292-293

.github/workflows/node-server-tests.yml: 1

30-30: LGTM!

Also applies to: 48-48, 123-124

config/scripts/node-server-change-scope.test.mjs: 1

530-530: LGTM!

.github/actions/prepare-orcad-prebuilds/action.yml: 1

66-67: 🩺 Stability & Availability

No prerequisite change is needed.

The install action runs pnpm run --if-present build:packages after installation, including on cache hits. The direct invocations therefore do not bypass the required package build.

src/main/ssh/orcad-state-mutation-fence-heartbeat.test.ts: 1

80-82: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

⚠️ Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.

The fixed 300 ms pauses are tight under CI load.

These pauses ensure a stale fence is not refreshed after the host dies or after the owner changes. They are negative checks, so a slow runner cannot cause a false failure. A pause that is too short can only cause a false pass. The heartbeat interval is 0.1 s, so 300 ms covers roughly three beats.

The line 100 and line 119 pauses behave the same way. Each is a negative observation window. A false pass is possible only if the heartbeat is delayed past the window. The window does not synchronize with the real event. This is acceptable for negative assertions.

Add a short comment that these are bounded negative observation windows. This prevents later "fixes" that shorten them further.

Also applies to: 100-100, 119-119

config/scripts/playwright-focused-workflow-selection.test.mjs: 1

78-107: 🩺 Stability & Availability | 🔵 Trivial | 💤 Low value

⚠️ Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.

Concurrent runs may exceed the 20-second timeout under load.

All commands now start at once with timeoutMs: 20_000 each. On a loaded CI runner, parallel Playwright --list processes can time out. Failures would then be flaky. Consider bounding concurrency or raising the timeout.

src/shared/git-binary.test-fixture.ts: 1

49-54: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

⚠️ Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.

Set GIT_TERMINAL_PROMPT=0 and an empty GIT_ASKPASS in the isolated environment.

The fixture isolates HOME and XDG_CONFIG_HOME. It does not disable credential prompts. In local mode, process.env is inherited. An inherited askpass helper or core.askPass setting can then block a Git command that needs credentials. Add both variables as defaults. Callers can still override them through env.

Proposed fix
     const isolatedEnv = {
       HOME: this.executionRoot,
       XDG_CONFIG_HOME: this.executionRoot,
       GIT_CONFIG_NOSYSTEM: '1',
+      GIT_TERMINAL_PROMPT: '0',
+      GIT_ASKPASS: '',
       ...env
     }
Based on learnings: when spawning Git in non-interactive contexts, set both GIT_TERMINAL_PROMPT=0 and GIT_ASKPASS="" so Git fails fast instead of hanging.

Source: Learnings


ℹ️ Review info
⚙️ Run configuration
  • Configuration used: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a5e27943-9ce7-403b-9dd8-9b36baa36ec7
📥 Commits

Reviewing files that changed from the base of the PR and between f31aada and e76c9cd.

⛔ Files ignored due to path filters: 1
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing: 87
  • .github/actions/prepare-orcad-prebuilds/action.yml
  • .github/actions/prepare-wayland-clipboard/action.yml
  • .github/workflows/ci-cache-warmup-platform-jobs.yml
  • .github/workflows/ci-cache-warmup-platforms.yml
  • .github/workflows/ci-cache-warmup.yml
  • .github/workflows/node-server-tests.yml
  • .github/workflows/pr.yml
  • cloud/apps/relay/src/drain-release-cell-row-contention-postgres.test.ts
  • cloud/apps/relay/src/public-assignment-drain-return-lane.test.ts
  • cloud/apps/relay/src/reserve-placement-simulation.test.ts
  • config/patches/i18next-cli@1.74.2.patch
  • config/scripts/build-wayland-clipboard.test.mjs
  • config/scripts/electron-builder-mac-channel-config.test.mjs
  • config/scripts/generated-artifact-line-ending-pin.test.mjs
  • config/scripts/happy-dom-offscreen-canvas.ts
  • config/scripts/locale-ko-key-overrides.test.mjs
  • config/scripts/localization-extraction-call-syntax.test.mjs
  • config/scripts/mobile-web-app-browser-pane-text-inputs.test.mjs
  • config/scripts/mobile-web-app-module-closure.test.mjs
  • config/scripts/mobile-web-app-session-terminal-closure.test.mjs
  • config/scripts/mobile-web-app-session-text-inputs.test.mjs
  • config/scripts/mobile-web-app-terminal-live-input-render.test.mjs
  • config/scripts/mobile-web-app-text-input-discovery.test.mjs
  • config/scripts/node-server-change-scope.mjs
  • config/scripts/node-server-change-scope.test.mjs
  • config/scripts/orcad-windows-prebuild-workflow.test.mjs
  • config/scripts/playwright-focused-workflow-selection.test.mjs
  • config/scripts/pr-code-change-scope.mjs
  • config/scripts/pr-code-change-scope.test.mjs
  • config/scripts/pr-e2e-gate-contract.test.mjs
  • config/scripts/pr-e2e-source-routing.mjs
  • config/scripts/process-host-build-dist.test.mjs
  • config/scripts/shebang-script-line-ending-pin.test.mjs
  • config/scripts/vitest-dom-setup.ts
  • config/scripts/vitest-host-ports-setup.ts
  • config/scripts/workflow-ref-mirror-case-safety.test.mjs
  • config/scripts/workflow-ref-reachability.test.mjs
  • config/tsconfig.node.json
  • config/vitest.config.ts
  • mobile/src/session/mobile-native-chat-merged-snapshot-parity.test.ts
  • mobile/src/test-support/rpc-recording/golden-value-pool.ts
  • src/cli/browser-cookie-credentials-empty-value.test.ts
  • src/cli/browser-empty-values.test.ts
  • src/cli/index.test.ts
  • src/cli/specs/file.test.ts
  • src/cli/specs/search.test.ts
  • src/cli/terminal-format-draft.test.ts
  • src/cli/terminal-format.test.ts
  • src/main/agent-hooks/server-transport-interference.test.ts
  • src/main/daemon/daemon-pty-startup-delivery.test.ts
  • src/main/daemon/slow-daemon-session-verification.test.ts
  • src/main/git/repo-ref-maintenance-real-git.test.ts
  • src/main/git/worktree-rebase-update-refs-real-git.test.ts
  • src/main/git/worktree-safety-real-git.test.ts
  • src/main/hook-termination-real-process.test.ts
  • src/main/native-chat/transcript-opencode2-sqlite.test.ts
  • src/main/provider-process/provider-process-supervisor.integration.test.ts
  • src/main/ssh/orcad-state-mutation-fence-heartbeat.test.ts
  • src/renderer/src/components/native-chat/NativeChatMessageList.rail-history-jump.test.tsx
  • src/renderer/src/components/onboarding/OnboardingFlow.test.tsx
  • src/renderer/src/components/onboarding/OnboardingInlineCommandTerminal.test.ts
  • src/renderer/src/components/settings/GeneralPane.test.ts
  • src/renderer/src/components/settings/browser-cookie-import-label.test.ts
  • src/renderer/src/components/settings/osc52-clipboard-copy.test.ts
  • src/renderer/src/components/settings/setting-ownership.test.ts
  • src/renderer/src/components/sidebar/wsl-host-copy-catalog.test.ts
  • src/renderer/src/i18n/ja-technical-literal-mistranslations.test.ts
  • src/renderer/src/i18n/ko-ui-semantic-mistranslations.test.ts
  • src/renderer/src/i18n/locale-english-regression.test.ts
  • src/renderer/src/i18n/native-chat-locales.test.ts
  • src/renderer/src/i18n/relative-duration-copy-localization.test.ts
  • src/renderer/src/i18n/settings-status-label-localization.test.ts
  • src/renderer/src/i18n/technical-literal-catalog-values.test.ts
  • src/renderer/src/i18n/zh-technical-literal-mistranslations.test.ts
  • src/shared/constants.test.ts
  • src/shared/contextual-tours.test.ts
  • src/shared/feature-tips.test.ts
  • src/shared/git-binary-compatibility.test.ts
  • src/shared/git-binary.test-fixture.ts
  • src/shared/git-branch-line-total-soft-deadline.test.ts
  • src/shared/native-chat-types.test.ts
  • tests/e2e/browser-tab.spec.ts
  • tests/e2e/helpers/e2e-completed-onboarding-profile.ts
  • tests/e2e/onboarding.spec.ts
  • tests/e2e/tabs.spec.ts
  • tests/e2e/terminal-tui-wheel-drain.spec.ts
  • tests/e2e/worktree-reveal-host-sections.spec.ts
💤 Files with no reviewable changes: 28
  • src/cli/specs/file.test.ts
  • src/renderer/src/components/settings/setting-ownership.test.ts
  • src/renderer/src/components/settings/osc52-clipboard-copy.test.ts
  • src/renderer/src/i18n/relative-duration-copy-localization.test.ts
  • config/scripts/mobile-web-app-module-closure.test.mjs
  • src/renderer/src/components/onboarding/OnboardingInlineCommandTerminal.test.ts
  • src/renderer/src/i18n/technical-literal-catalog-values.test.ts
  • src/renderer/src/components/settings/browser-cookie-import-label.test.ts
  • src/cli/terminal-format-draft.test.ts
  • src/renderer/src/components/sidebar/wsl-host-copy-catalog.test.ts
  • src/cli/browser-cookie-credentials-empty-value.test.ts
  • config/scripts/mobile-web-app-browser-pane-text-inputs.test.mjs
  • src/renderer/src/i18n/zh-technical-literal-mistranslations.test.ts
  • src/renderer/src/i18n/locale-english-regression.test.ts
  • src/renderer/src/i18n/ja-technical-literal-mistranslations.test.ts
  • config/scripts/shebang-script-line-ending-pin.test.mjs
  • src/renderer/src/i18n/native-chat-locales.test.ts
  • src/shared/native-chat-types.test.ts
  • src/shared/feature-tips.test.ts
  • config/scripts/locale-ko-key-overrides.test.mjs
  • src/renderer/src/i18n/settings-status-label-localization.test.ts
  • cloud/apps/relay/src/reserve-placement-simulation.test.ts
  • config/scripts/mobile-web-app-session-text-inputs.test.mjs
  • src/renderer/src/i18n/ko-ui-semantic-mistranslations.test.ts
  • config/scripts/electron-builder-mac-channel-config.test.mjs
  • src/cli/specs/search.test.ts
  • config/scripts/workflow-ref-mirror-case-safety.test.mjs
  • tests/e2e/browser-tab.spec.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 1 remain after this review.

Comment thread .github/workflows/node-server-tests.yml Resolved
@nwparker
nwparker enabled auto-merge (squash) October 14, 2026 21:47
@nwparker
nwparker disabled auto-merge October 14, 2026 22:50
@nwparker
nwparker merged commit 6607c54 into main Oct 14, 2026
80 checks passed
smwbev added a commit to smwbev/orca that referenced this pull request Oct 15, 2026
288 commits landed on main between 9c113ed and 67fe1e1, and all six catalogs and en-runtime-required.json conflicted. They are taken from main and the prune is recomputed in one pass: 1,475 keys. Four Hermes keys left the set because stablyai#28877 deleted them from main, and two Jira keys joined it after stablyai#28590 and stablyai#28612 stopped reading them. en.json goes from 16,098 entries to 14,623; en-runtime-required.json keeps 558 of them.

stablyai#28669 deleted ko-ui-semantic-mistranslations.test.ts, technical-literal-catalog-values.test.ts and zh-technical-literal-mistranslations.test.ts from main. This branch only removed the entries of pruned keys from them, so the deletion is taken.
smwbev added a commit to smwbev/orca that referenced this pull request Oct 15, 2026
main moved 171 commits. Two kinds of conflict:

- es, fr, ja, ko and zh: the translation sync (stablyai#28896) and this branch
  both appended keys to the end of auto.components.TaskPage. main's six
  Jira column labels and jiraBoardEmptyColumn come first, then the four
  labelCount and memberCount sentences from this branch.
- ko-ui-semantic-mistranslations.test.ts was deleted on main (stablyai#28669);
  this branch only dropped the pinned sshImportSynced value from it, so
  the deletion is taken.

en.json merged on its own. Against main the branch still removes the
same twelve keys and adds the same 24 in all six catalogs, with no other
value changed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant