Skip to content

chore(fork): merge upstream 77c87471 into atli (ATLI-401 catch-up) - #14

Merged
gabynevada merged 201 commits into
atlifrom
skald/upstream/77c8747150d0-05852e4177fd
Oct 11, 2026
Merged

gabynevada merged 201 commits into
atlifrom
skald/upstream/77c8747150d0-05852e4177fd

Conversation

@gabynevada

Copy link
Copy Markdown

Summary

One-time catch-up of atli with upstream pingdotgg/t3code (Skald work item ATLI-401, bet ATLI-65 criterion c2). atli had never merged upstream (merge base ec80933ac8), so every Skald upstream candidate completed conflicted and no candidate PR could open. This PR merges upstream with a merge commit; merge it with "Create a merge commit", never squash or rebase.

Candidate (live row at PR-open time): upstream 77c8747150d0e140fa3fb303ed5339eb8165aa9f, base 05852e4177fde57a9d419c927ef3135205770081, reserved ref skald/upstream/77c8747150d0-05852e4177fd (state conflicted). The head is that reserved ref, so Skald review dispatch refuses it (ATLI-236); upstream-authored content never reaches the reviewer.

Merge commit: parents 05852e41 (atli) and 77c87471 (upstream); 1193 upstream-changed paths.

Conflict record

Conflicted paths (equal to git merge-tree --write-tree --name-only 05852e41 77c87471):

apps/mobile/src/features/threads/floating-working-status.ts
apps/mobile/src/features/threads/useThreadHeaderOptions.tsx
apps/server/src/cli/update.test.ts
apps/server/src/cli/update.ts
apps/server/src/cloud/selfUpdate.test.ts
apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts
apps/server/src/orchestration-v2/EffectWorker.test.ts
apps/server/src/orchestration-v2/Orchestrator.ts
apps/server/src/orchestration-v2/ProviderSessionManager.test.ts
apps/web/src/components/Sidebar.tsx
packages/client-runtime/src/state/threadExecution.ts
packages/provider-core/src/server/mcpSession.ts
patches/effect@4.0.1.patch
pnpm-lock.yaml

Server update and recovery (fork ATLI-234, ATLI-344)

  • apps/server/src/cli/update.ts — fork recovery-point log line + HostProcessIsExecutable vs upstream HostProcess.IsExecutable rename (e308522, refactor(shared): host process references live in a HostProcess module pingdotgg/t3code#17641). Combined: kept the ATLI-344 recovery-point log, used HostProcess.IsExecutable; also renamed HostProcessPlatform -> HostProcess.Platform outside the hunk so it compiles.
  • apps/server/src/cli/update.test.ts — import block: fork admission/recovery test imports vs upstream HostProcess namespace import. Combined: every fork import kept, hostProcess named imports replaced by the namespace; harness provideService names renamed. No test case or assertion changed.
  • apps/server/src/cloud/selfUpdate.test.ts — harness provideService: fork admission-aware releaseHttpClient + FileSystem vs upstream HostProcess.Platform/Architecture rename. Combined: fork harness kept with upstream names.

Orchestration and client runtime

  • apps/server/src/orchestration-v2/Orchestrator.ts — fork discardObsoleteNativeQueuedRuns + block-body startNextQueuedRun vs upstream endedRunId option (fix: worktree threads keep their worktree when the agent starts, and messages sent during setup queue pingdotgg/t3code#17654). Combined: both kept.
  • apps/server/src/orchestration-v2/EffectWorker.test.ts — contracts import list (fork MessageId, upstream NodeId). Combined.
  • apps/server/src/orchestration-v2/ProviderSessionManager.test.ts — fork turnWatchFlags option vs upstream ProviderAdapterRegistry.layerSingle wrap. Combined; no assertion changed.
  • apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts — 2 hunks: fork eventReceipts queue vs upstream ProviderAdapter namespace type; fork event offer vs upstream subagentReceipts offer. Combined; five fork uses of the removed bare ProviderAdapterV2Event type renamed to ProviderAdapter.ProviderAdapterV2Event (type name only).
  • packages/client-runtime/src/state/threadExecution.ts — fork always-"Waiting…" single-item title (c13983c) vs upstream monitor prefix drop (0c40120). Combined: fork shape with upstream's monitor label rule.

MCP sessions (pull-request-watch setting)

  • packages/provider-core/src/server/mcpSession.ts — fork kept the module-level session registry + setPullRequestWatchAvailable/pullRequestWatchAvailable (c42cd14); upstream moved the registry into the McpProviderSessions service (784b562, refactor(provider-core): MCP provider sessions live in a McpProviderSessions service pingdotgg/t3code#17446). Both hold only by porting: took upstream's side, kept the fork's optional pullRequestWatchAvailable field on McpProviderSessionConfig, and ported the setting onto the service (beyond the conflict hunk, in files that did not conflict):
    • McpProviderSessions.ts: added setPullRequestWatchAvailable(threadId, available) (no-op without a session or when unchanged).
    • ProviderSessionManager.ts: refreshPullRequestWatch writes through the service.
    • ClaudeAdapterV2.ts and the acp, cursor and opencode adapters: read the flag via mcpSessions.read(threadId), unset = available (fork default).
    • ProviderSessionManager.test.ts: fake adapter reads through the service; the turnWatchFlags test and its [false, true, false] assertion are unchanged.

Mobile, web, patches

  • patches/effect@4.0.1.patch (fork modified, upstream deleted) — deleted; its fork-only content moved to the 4.0.2 patch.
  • apps/mobile/src/features/threads/floating-working-status.ts — fork comment rewrite vs upstream child-input variant. Combined.
  • apps/mobile/src/features/threads/useThreadHeaderOptions.tsx — fork onStartNewTask + "Thread actions" menu vs upstream iOS Duo header. Combined; OWNER DECISION: in upstream's new Duo right-side items the New task button calls the fork's onStartNewTask (pre-fills the current project) and the fork's thread-actions item is appended, so iOS Duo keeps both fork features (Android unaffected).
  • apps/web/src/components/Sidebar.tsx — both sides added an import on the same line. Combined.

Lockfile

  • pnpm-lock.yaml — regenerated with pnpm install from upstream's lockfile; never hand-merged.

Edits beyond the conflict hunks

Related files that did not conflict:

  • patches/effect@4.0.2.patch — upstream's two RpcClient hunks kept; the fork's dist/reactivity/Atom.js hunk (8fa4728, Atom.family fallback cache capped at 1024 insertion-ordered keys, Hermes leak fix) ported byte-for-byte. Checked: published effect 4.0.2 Atom.js still has no bound; git apply --check against effect 4.0.2 passes. Note: upstream's 4.0.2 patch also drops some base 4.0.1 hunks (McpServer terminate, RpcClient missedPongs) — upstream's own choice, left as is.
  • pnpm-workspace.yaml — no conflict; one effect entry (effect@4.0.2.patch); fork-only entries kept.

Adaptations:
Minimum edits for fork CI on the merged tree (fork code using APIs upstream moved; no behavior change, no test or assertion removed):

  • HostProcess rename (upstream e308522): apps/server/src/cli/recover.ts, recover.test.ts, scripts/install.test.ts, scripts/linux-recovery/run-drill.test.ts now use import * as HostProcess from "@t3tools/shared/HostProcess" and HostProcess.X.
  • continuationRequests -> ProviderContinuationRequests (upstream b66dd40): EffectWorker.ts, EffectWorker.test.ts, runtimeLayer.test.ts import paths; OpenCode2AdapterV2.test.ts one type reference.
  • ClaudeAdapterV2.test.ts: ProviderAdapter.ProviderAdapterV2RuntimePolicy type name; six fork test blocks now provide McpProviderSessions.layer as upstream's tests do.
  • ClaudeMcpElicitation.integration.test.ts (fork test): makeClaudeAdapterV2 is now an Effect upstream; yield it and provide McpProviderSessions.layer.

Owner decisions in this PR

  • AGENTS.md: upstream's one-line user-count edit (08f9b56) is outside the task's touches; accepted by the owner (recorded on ATLI-401).
  • iOS Duo header (useThreadHeaderOptions.tsx): upstream's new Duo right-side items use the fork's onStartNewTask and include the fork's thread-actions menu. Approve or revert.
  • Pull-request-watch setting ported onto upstream's McpProviderSessions service (files beyond the conflict). Approve or revert.

Verification

  • vpr typecheck (all 32 workspaces), vp check, vpr knip:check: pass.
  • apps/server tests (10 files incl. update, recover, selfUpdate, recoveryPoint, ProviderSessionManager, ClaudeAdapterV2, EffectWorker, runtimeLayer): 560/560 pass.
  • Installed effect@4.0.2 dist/reactivity/Atom.js contains the insertionOrder.length > 1024 bound; patchedDependencies names effect@4.0.2.patch.
  • Upstream 77c87471 is an ancestor of the head; the head is a two-parent merge commit.

Skald work item: ATLI-401 (merge policy: owner merges with a merge commit).

🤖 Generated with Claude Code

ScottN-PV and others added 30 commits October 9, 2026 12:44
…ff (pingdotgg#17359)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… card (pingdotgg#17094)

Co-authored-by: macodev00 <macodev00@users.noreply.github.com>
…hem (pingdotgg#17191)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
… port (pingdotgg#17417)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…hout (pingdotgg#17427)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…LatestVersions service (pingdotgg#17434)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…essions service (pingdotgg#17446)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…e with Effect conventions (pingdotgg#17542)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…service conventions (pingdotgg#17544)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#17559)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…#16674)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Ben Davis <bmdavis419@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ract (pingdotgg#17602)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#17573)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…rgejo (pingdotgg#17581)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ol-azure-devops (pingdotgg#17592)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…lab (pingdotgg#17594)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…bitbucket (pingdotgg#17597)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…hub (pingdotgg#17607)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
StiensWout and others added 29 commits October 10, 2026 18:19
…bottom (pingdotgg#17954)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#17945)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… a worktree (pingdotgg#17371)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#17842)

Co-authored-by: Victor Vogel <263261067+only21mil@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ymlinks (pingdotgg#17638)

Co-authored-by: Theo Browne <me@t3.gg>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: Mike Olson <1510193+mwolson@users.noreply.github.com>
…12538)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…g#16143)

Signed-off-by: id0sch <id0sch@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…g#15240)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
One-time catch-up of atli with upstream: atli had never merged upstream
(merge base ec80933), so every Skald upstream candidate completed
conflicted. Merge target is the live conflicted candidate
skald/upstream/77c8747150d0-05852e4177fd (upstream 77c8747, base 05852e4).

14 conflicts resolved keeping the fork's behavior on upstream's structure;
the effect Atom.family cache cap moves onto effect@4.0.2.patch; the
pull-request-watch setting moves onto upstream's McpProviderSessions
service; fork code adapted to upstream's HostProcess and
ProviderContinuationRequests renames. Full record in the pull request.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gabynevada
gabynevada merged commit b37f125 into atli Oct 11, 2026
17 checks passed
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.