perf: cherry-pick upstream connection, git and checkpoint fixes - #222
Merged
Merged
Conversation
The check diffs HEAD against its merge-base with upstream, so a `git cherry-pick -x` of an upstream fix the fork has not merged yet showed up as unmarked fork edits and failed the required check. Wrapping cherry-picked code in markers would create conflicts in the very merge that brings the same commit in. A line now only counts as a fork edit when it also differs from the upstream tip (FORK_UPSTREAM_REF, which CI already sets to upstream/main). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#11811) Co-authored-by: Bil0000 <bilal.bakr.elsherif@gmail.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> (cherry picked from commit 7931227)
…ingdotgg#12305) (cherry picked from commit b17cc2a)
…ingdotgg#11405) (cherry picked from commit 5b377e2)
…dotgg#10792) (cherry picked from commit b12c92f)
…ingdotgg#12154) (cherry picked from commit c1738f1)
…otgg#12308) (cherry picked from commit d17f46d)
…otgg#12523) (cherry picked from commit cb3d95c)
…ngdotgg#8309) Co-authored-by: Julius Marminge <julius0216@outlook.com> (cherry picked from commit a5da327)
The cherry-picked test from 99641fd builds an OrchestrationThread without the fields the fork adds (owner, members, summaries, source control profile). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: unavailable · PR result: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
This was referenced Sep 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Nine upstream fixes from
upstream/main(e5a46d6) address bkt3's measured slowness: reconnect CPU, event-loop blocking by logs, git process bursts, turn-end checkpoint cost, and the missing desktop keep-alive for running threads. None of them are in the fork yet. Details and measurements:~/perf-audit-bkt3/10-upstream.md.Fix
Each commit is applied with
git cherry-pick -xin the approved order, with a5da327 moved before 99641fd, which builds on it. The(cherry picked from commit …)trailers let the next upstream merge recognise them.subscribeServerConfiggitCommandDurationimport. The other upstream import there (parseGitCheckoutProgressLine) belongs to a commit not picked.VcsProcess.ts: upstream's newonStdoutChunkline sits beside the fork's changedenvline; kept bothsecondThreadWorktreePath) from a commit not picked. It is adapted to a single workspace (same assertions: checkpoints finalize while the refresh is blocked, later scans coalesce). Upstream-only test context was dropped.FILES_VIEWED_CACHE_CAPACITY); its 2 new tests are includedapps/web/src/state/threads.ts: kept the fork's outbox import plus upstream'sOrchestrationThreadShelltypeOne extra commit,
test(web): fork thread fields in the keep-alive fixture, adds the fork-required thread fields to the pickedthreads.test.tsfixture so it typechecks.Nothing was dropped. Deliberately not picked, per the approved plan: 5975ec7, eafb4a9, f4600d7, 18de6bb. Step 3 (PR state from GitHub webhooks, #217) replaces that path.
Reaches users: 99641fd and a5da327 are client changes. They reach desktop users only with the next desktop build.
Evidence
Targeted tests (
NODE_ENV=test vp test run), all passing:GitVcsDriverCore.test.ts+EventNdjsonLogger.test.ts: 89GitVcsDriver.test.ts+VcsProcess.test.ts: 49CheckpointReactor.test.ts: 36, including the adapted coalescing testPullRequestService.test.ts: 121, including both new diff-cache teststhreads-sync+threads-pagination: 39state/threads.test.ts: 3vp run typecheckis clean inapps/server,packages/client-runtimeandapps/web.Fork-marker check: with #221 it passes. Without it, the 5 upstream-only files fail.
server.test.ts(touched by 7931227) is left to CI; it is too large for the shared box.Model/harness: Claude Opus 5.5 via Claude Code in T3 Code.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.