Repository navigation
chore: merge upstream pingdotgg/t3code through 8d75232489 - #202
Conversation
…utput (pingdotgg#17376) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… again (pingdotgg#17379) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…its thread (pingdotgg#17327) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…a check is still going (pingdotgg#17344) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Yash Singh <saiansh2525@gmail.com>
…ingdotgg#17496) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#17223) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com>
…ingdotgg#17843) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…g#17724) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
… full-access MCP grants (pingdotgg#17772) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pull request (pingdotgg#12223) Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Julius Marminge <jmarminge@gmail.com> Signed-off-by: Loïs Postula <lois@postu.la>
…slug (pingdotgg#17739) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#17746) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…finitions (pingdotgg#17756) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tions (pingdotgg#17757) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…host resolvers (pingdotgg#17770) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ot GitHub (pingdotgg#17774) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#17860) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#16554) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… you to a new draft (pingdotgg#18672) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ct (pingdotgg#18824) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…stead of crash-looping (pingdotgg#15925) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Co-authored-by: PR Batch Tester <agent@local.test>
… resync after a downgrade (pingdotgg#15937) Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: PR Batch Tester <agent@local.test>
… MCP servers (pingdotgg#17058) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com>
…ught (pingdotgg#18887) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…ingdotgg#18878) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…is offline (pingdotgg#18698) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…18853) Co-authored-by: SAPHID <saphid@users.noreply.github.com> Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
…gdotgg#18709) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#18900) Co-authored-by: Pawel Mikolajczuk <pmikolajczuk@atlassian.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Builds on the open sync branch (#200, upstream through 12069ee) and merges the next 433 upstream commits. Upstream moved providers and source control into packages/provider-* and packages/source-control-*, dropped the legacy settings.providers map (pingdotgg#17300) and renamed the HostProcess module (pingdotgg#17641). The fork's cloud machines, Home, worker forks and account rotation are carried onto the new structure. The fork's Home, fleet and cloud machine RPCs now form their own CloudWsRpcGroup, merged into WsRpcGroup, because the combined group exceeded the type checker's instantiation depth in ws.ts. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Upstream added 061_PullRequestReviewGuides. The fork ledger move is by name, so a fork-era database at ledger 61 still moves ProvisionedChats to the fork ledger and then runs upstream's new 61. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Independent verification: PASS+NOTES (verified head 0fb872b; its code is 8f87b63 plus a one-line test fix in I did not write this code. I looked for fork or upstream behavior the merge lost, and checked the RPC group split at runtime. Method
Findings
Notes (none block landing)
What I ran (local
|
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: 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. |
The daily upstream sync is still stuck. #200 merged upstream through
12069eefd7but failed Typecheck, and upstream has since moved 433 commits ahead. This branch builds on #200 and merges upstream12069eefd7..8d75232489by hand, as a real merge commit. The fork's cloud machines, Home, worker forks, account rotation and background-shell fixes all stay. Upstream wins everywhere the fork had not deliberately changed something. Merging this also lands #200, so #200 can be closed.Notable upstream changes
packages/provider-*(core, acp, acp-registry, cursor, grok, muse, opencode, pi, testing) andpackages/source-control-*(core, github, gitlab, bitbucket, azure-devops, forgejo, gitcafe). That accounts for 348 renames.providersmap is gone (refactor(settings): drop the legacy per-driver providers map pingdotgg/t3code#17300). Providers can be turned on or off per project (feat(settings): providers can be turned on or off per project pingdotgg/t3code#17879), and built-in models can be renamed (feat(server): rename built-in models from settings pingdotgg/t3code#18840).What the fork had to adapt
RPC group split.
ws.tshit "Type instantiation is excessively deep". Upstream's ownws.tsfails the same way once the fork's RPCs are added, so this is group size, not a cascade from other errors.packages/contracts/src/rpc.tsnow buildsCoreWsRpcGroup(upstream's list) andCloudWsRpcGroup(Home, fleet, environment control).WsRpcGroupis their merge, so clients see the same group. The fork's handlers move intolayerCloudWsRpcinws.ts. That leaves the fork's footprint in upstream's big handler map at thegetConfigandupdateSettingstweaks, which should make the next sync smaller.settings.providersremoval (pingdotgg#17300). A cloud box used to switch off every driver it was not given by leaving it out of theprovidersmap.ProvisionPreparationnow writes an explicitenabled: falsedefault instance for each such driver.ProvisioningProviderProfiletakesCursorSettingsfrom@t3tools/provider-cursor/settings. The test helper that checks "no other driver on the box" now resolves implicitly enabled default instances. Before this, those tests passed even with the disabling code removed.Fork code moved with upstream's packages:
CursorUsageAccounts.scanreads the host login plus each Cursor instance's own login.usage/cursorLogins.tsandprovider/cursorCredentialPath.tsare deleted.cursorBillingCycle.tsmoves into provider-cursor.providerCheckPermits.ts(the fork's limit on concurrent provider checks) moves into provider-core.CODEX_HOMErule sits on upstream's Effect-basedmergeProviderInstanceEnvironment.Fixes outside the conflicts:
FleetServicenow passesproviderModelPreferencestoproviderCapabilities, and the parameter is now required. A newFleetServicetest covers it.@t3tools/shared/hostProcessbecameHostProcess(refactor(shared): host process references live in a HostProcess module pingdotgg/t3code#17641) in five fork files.notHomeLayer,ServerSettings.layerTest()).ScheduledCloudFiredeclares upstream's newThreadManagementProviderInstanceDisabledError.useHandleNewThread.cloud.test.tsgets theresolveNewThreadEnvModeandreadThreadShellsstubs that upstream added to its sibling test.HomeSettingspassesprojectIdandenvironmentId, anduseCloudChatimportsATTACHMENT_ONLY_BOOTSTRAP_PROMPTfrom shared.StatusLabelnow requires: Retryingarrow.clockwise, Wakingsun.max, Updatingarrow.down.circle, Asleepmoon. These icons are a judgment call. Swap them freely.Verification
0fb872b1c0(chore: merge upstream pingdotgg/t3code through 8d75232489 #202 (comment)). It ran a real cloud RPC through the split group, with authorization and instrumentation.apps/server,apps/web,apps/mobile,apps/desktop,packages/contracts,packages/client-runtime,packages/shared,packages/provider-coreandpackages/provider-cursor. Before this, the server had 154 errors after the merge.src/home,src/mcp,src/environmentControl,src/usage,src/provider,src/scheduledTasks,src/auth,ws.test.tsandserverSettings.test.ts: 182 files, 2390 of 2395 tests pass. The 5 failures come from the machine I ran on, which is itself a cloud chat box:env -i). They had read the host's real AWS key and its cloud-machine prompt note.E2bProvisionRuntimeguardMemoryCommand, finds the host's real/usr/bin/earlyoomthrough the test'sPATH. Upstream did not touchenvironmentControlin this range.DiskHeadroomtests: 10 files, 616 tests pass.src/cloud,src/hooks,src/components/settings,src/components/chat,src/components/usage,composerDraftStoreandstate/shell: 198 files, 2274 tests pass.src/features/threadsand the outbox drain: 46 files, 406 tests pass.vp fmt --checkpasses on every changed file.vp linton the 181 hand-resolved files has no errors. Its warnings are ones upstream's versions already have.vp iinstalls the fork's extra dependencies (e2b,@namespacelabs/sdk, connectrpc, undici) on top of upstream's lockfile.Tests must run with the repo's local
node_modules/.bin/vp(1.0.0, matching CI). An older globalvp(0.3.0) fails every test that imports@effect/vitestat load, with "Cannot read properties of undefined (reading 'config')".Risks
fleet.connectover a real socket after the group split. The evidence is the 0-error typecheck:RpcServer.makeon the merged group does not compile if any handler is missing from the two merged layers.providersmap, which the host no longer writes, so its unused drivers would stay on. Boxes on this build get the explicit disabled instances.FleetServicestill skip upstream's worktree base-ref check (feat(server): every T3 MCP tool declares who may call it pingdotgg/t3code#16335). This was already true before this merge, and Home is full-access only. They do get the new per-project provider check (feat(settings): providers can be turned on or off per project pingdotgg/t3code#17879), becauseFleetServicelaunches throughThreadLaunchService.launch.ClaudeAdapterV2.tsthe fork'sprocessEndedflag is read before upstream's new per-message replay. A CLI that exits during replay is not seen by that continuation. The fork's test for a CLI dying mid-wake still passes.Claude Opus 5.5 (1M context), Claude Code
🤖 Generated with Claude Code