Skip to content

chore: merge upstream main and resolve fork integration conflicts - #49

Merged
ScriptedAlchemy merged 168 commits into
mainfrom
sync/upstream-main-2026-11-02
Nov 4, 2026
Merged

ScriptedAlchemy merged 168 commits into
mainfrom
sync/upstream-main-2026-11-02

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

Why

The fork had diverged from upstream by 158 upstream commits. This merges pingdotgg/t3code:main through 61c3794c32b0eeebfac09add43e403618c65d2d7 into the fork base (4522c820569243e43e60913651677f37f8217926) and resolves all 48 conflicted files.

The commit preserves both histories with two parents. The published Git tree was verified to exactly match the local integration tree.

What changes

  • Reconcile the upstream Effect crypto and MCP registration APIs while preserving PEA/pstack, project intelligence, assisted learning, and conversation summaries.
  • Retain account isolation and pooled provider behavior. Refresh active pool member models correctly, aggregate workspace metadata, and preserve the Claude custom spawn path and root-refusal diagnostics.
  • Preserve orchestration handoffs, code-index refresh, PR watchers, remote delegation, and authentication behavior while incorporating upstream changes.
  • Keep all existing fork migration IDs 1–85 unchanged; append the incoming migrations as 86 and 87.
  • Reconcile web/mobile composer and sidebar changes, client route lease handling, and the associated regression fixtures.

Validation

945 focused tests passed across 37 files for the original integration commit.

Area Files Tests
MCP and project intelligence 11 316
Providers, adapters, ACP, and WebSocket integration 9 242
Authentication, settings, and persistence migrations 6 153
Orchestration and peer services 6 117
Client runtime 4 84
GitHub pull-request provider 1 33
  • Full server, web, mobile, desktop, and client-runtime typechecks passed.
  • Contracts, provider-core, source-control-github, provider-acp, provider-cursor, and provider-kiro typechecks passed.
  • Frozen lockfile dependency installation and native project-memory build passed.
  • Formatting, scoped lint, and Git whitespace/conflict-marker checks passed. The working tree is clean.
  • Hosted CI remains a separate gate on the latest published commit.

The required check:changed command was attempted but could not complete within this environment's resource limits and cache sandbox restrictions. Its inner cached typechecks and root test runner do not accept the controls needed here. The individual checks listed above passed using direct, bounded-concurrency commands; the aggregate gate and full CI are not claimed as passing.

Follow-up: current fork CI

Commit c21f80d merges current fork main ef873edeb5927d63e4e40920923b629616b95bbf into this branch. The local merge is clean. It preserves upstream's macOS Rosetta preparation and brings in the fork's runner validation, pinned Expo action, and private Linux CI routing.

  • All 16 runner-policy and private-routing behavior tests passed.
  • Actionlint passed for the four affected workflows, allowing their existing Blacksmith runner labels. The repository runner-policy scan passed.
  • Frozen dependency installation, changed-file formatting, and Git whitespace checks passed.
  • vp run check:changed HEAD --concurrency 1 --timeout 300 was attempted for these eight follow-up files. That run could not complete: the native prerequisite could not find a working Cargo, and the cached typecheck supervisor was denied seccomp_unotify. Its native-dependent test was skipped; this is not a green aggregate result.
  • The published tree exactly matches the validated local merge tree.

Follow-up: pstack compatibility and replay checks

Commit ea88db8 merges the repaired #46 branch, including #51's packaged-runtime fix, into this integration branch. It resolves the overlapping Claude test setup by retaining the extended plugin-settings cases with upstream's NodeCrypto.layer. Upstream settings environment handling, SDK bypass-settings normalization, Linux packaging support, Effect 4.1.2, and Claude SDK 0.3.284 are preserved.

The selected gate also exposed two issues inherited from the prior integration head. The Claude adapter now uses a type-only Node namespace import, and the archived Codex rollback replay expectation includes the model provider and T3 thread ID already sent by production.

  • Frozen dependency installation and supply-chain verification passed.
  • All five selected Claude/native-plugin/discovery cases passed on the merged tree. Direct scripts typechecking passed.
  • vp run check:changed HEAD --concurrency 1 --timeout 120 passed the native addon build, unused patch checks, formatting, both knip passes, and GraphQL validation. Its test step passed 573 of 574 cases across seven files, exposing the stale Codex expectation above.
  • After correcting that expectation and the namespace import, the failing Codex case passed, scoped lint and formatting passed, and the direct server typecheck passed. The entire 574-case batch was not rerun for these fixture and type-only edits.
  • The aggregate is not green: its cached typecheck supervisor for 41 affected packages is denied seccomp_unotify in this environment. Direct server and scripts typechecks are separate evidence; full hosted CI remains required.
  • Git whitespace/conflict checks passed. The published tree exactly matches the validated local merge tree, and it merges cleanly with OpenCode PR fix(opencode): point agents at T3's browser instead of OpenCode's #50 at eb608546afd2e02b4d2af495f74b7f9f2cbd1252.

Authored with GPT-6 Astra Pro using the ChatGPT coding harness.

t3dotgg and others added 30 commits November 1, 2026 16:50
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#27785)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…med models (pingdotgg#29001)

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…e Mode (pingdotgg#29026)

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…is slow on a loaded host (pingdotgg#28201)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… reseller marks them up (pingdotgg#28004)

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

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

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

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

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Completion alerts waited two seconds after the client received a completed thread state. Audio was also fetched and decoded only when an alert needed to play, adding a first-play delay.

Notify immediately when the thread shell reports completion, and preload both sounds when a user gesture unlocks audio. Keep completion deduplication and suppression for existing, archived, and stopped runs.

This intentionally removes the continuation grace for completion alerts. A completed run can now notify before an automatic continuation starts. The sidebar's two-second placement grace and server settlement behavior remain in place.

Validation: `vp run check:changed` passes after merging current main, including 40 affected tests, formatting, lint, unused-code checks, affected typechecks, and React compiler checks. Tests cover immediate completion, duplicate suppression across reconnects, preloaded audio reuse, and retrying failed loads on alerts without retrying on every gesture. Audible timing has not been verified in a live client.

Model: GPT 6.1 Sol. Harness: Codex through T3 Code.
…unched T3 (pingdotgg#29169)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
juliusmarminge and others added 20 commits November 2, 2026 18:33
…tance (pingdotgg#23198)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… pstack plugins

Desktop builds prune the statechart skill's test corpus, but the server still
copied every manifest file, so the pack never materialized and no provider saw
pstack. Delivery now skips the pruned directory.

While pstack is on, T3 also switches off native `pstack@<marketplace>` plugins
in the Codex and Claude sessions it launches, so agents see one copy.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…turn absorbed its wake (pingdotgg#28010)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…ory scan ends (pingdotgg#29535)

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

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

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

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

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

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

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Exotic209093 <134711311+Exotic209093@users.noreply.github.com>
Co-authored-by: Issue triage verification <triage@localhost>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…#22661)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
… limit (pingdotgg#23192)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Merge pingdotgg/t3code main through 61c3794, retaining fork provider pools, project intelligence, PEA/pstack, and client integrations.

Resolve Effect service and MCP registration changes, preserve existing migrations, and reconcile provider refresh, orchestration, authentication, and client behavior.
@changeset-bot

changeset-bot Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 3f7bc90

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

ScriptedAlchemy and others added 8 commits November 2, 2026 21:35
Packaged desktop builds delete the statechart test corpus from the bundled
pstack resources, but the server still copied every file in UPSTREAM.json,
so materializing the pack failed with ENOENT and no /pstack:* skills loaded.

The pruned directory is now one exported constant in @t3tools/pstack.
pstackPackEntries excludes it from the runtime pack and the desktop build
prunes exactly that directory, so a packaged source root is complete by
construction. checkPack still verifies the full upstream source.

Claude Opus 5.5 via T3 Code

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The unit test hardcoded the pruned directory, so a typo in
PSTACK_PACKAGED_PRUNED_DIR would still pass it. It now derives the
fixture paths from the constant, and a new case checks the shipped
UPSTREAM.json actually carries files under that prefix so an upstream
re-sync that renames the corpus cannot turn the filter into a no-op.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Parse Codex plugin configuration as TOML and include Claude launch settings when suppressing duplicate native pstack plugins. Cover quoted/dotted/inline TOML and inline/file --settings, preserving unrelated plugins and pstack-disabled sessions.

Reviewed and repaired with GPT-6 Astra Pro through ChatGPT coding tools.
Merge main's hosted-runner validation and private Linux CI routing while preserving upstream macOS release preparation.
Keep the shared packaged-file pruning implementation from PR #51 alongside native plugin suppression. Preserve Claude's version-constrained plugin settings while suppressing native pstack whenever T3's pack is enabled.
# Conflicts:
#	apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts
@ScriptedAlchemy
ScriptedAlchemy merged commit 4181723 into main Nov 4, 2026
6 of 9 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.