Skip to content

chore(sync): merge upstream/main 6524a8d437 into custom-v2, plus a repeatable sync routine - #21

Merged
ziyadakl merged 588 commits into
custom-v2from
sync/upstream-2026-10-13
Oct 13, 2026
Merged

ziyadakl merged 588 commits into
custom-v2from
sync/upstream-2026-10-13

Conversation

@ziyadakl

@ziyadakl ziyadakl commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Summary

Brings the official T3 Code into custom-v2: 581 upstream commits, up to 6524a8d437 (2026-10-13). It also adds a routine so later syncs take one command.

custom-v2 (25d33ffcc8) ─┐
                        ├─ merge 004d7752d2 ── routine 391b96ac54 ── review fixes 2c8f1a2e61..add112d5e5
upstream/main (6524a8d) ┘
+CUSTOM.md                          # every fork feature, its files, and when to drop it for upstream's
+scripts/custom/sync-upstream.sh    # start: merge upstream into a sync branch (rerere on, replayed fixes listed for review)
+                                   # check: no unfinished merge or conflict markers, then the same checks as ci.yml

The merge had 40 conflicted files. Upstream wins each one, except where a feature in CUSTOM.md needs our side.

  • Dropped: our test PID fix e4807aa77f. Upstream fixed the same test in 202b95403a.
  • Kept working: rewinding to a Claude turn stopped before its prompt echo. Upstream f570bd2166 made prompt ids random, so new turns now record the id they send. Turns from older builds fall back to the old derived id.
  • Changed: trusted-device pairing adopts upstream's rule for partial permissions.
  • Upstream now covering ours: no custom feature.

Review fixes (four-axis review):

  • Upstream's new ProjectSettingsPanel test mocks our archive hook; Test Web was red.
  • agentSessionsResume is in CLIENT_GUARDED_RPC_SCOPES.
  • The mobile Home screen shares the unarchived-projects hook.
  • The sync script no longer auto-stages replayed fixes. Its record keeps 365 days, it refuses a same-day rerun, it names a missing upstream remote, and check mirrors ci.yml.
  • Rewinding while Claude runs took about 9 s. 8.25 s of that was a fresh Claude process, opened only to check files, waiting on a project SessionStart hook (7.5 s). Restore-only processes now pass settingSources: []. Measured: 8.2 s -> 0.6 s, with the same rewindFiles answers (9c1ee8f).

Evidence

Merge Danger

Door: one-way, once installed

Merging alone builds a new 0.0.45-custom.<sha> and installs nothing. Installing it runs upstream's database migrations 059–061. After that, switching back to 0.0.45-custom.ae0c0557 means an older build on a newer schema, which is not guaranteed to work. Copy ~/.t3/userdata/statev2.sqlite on each machine before installing.

Blast Radius: everywhere

Once installed, every machine runs it: the Mac and all three Work boxes. Rewind and trusted-device pairing changed the most. Test those first.

🤖 Generated with Claude Code

ScottN-PV and others added 30 commits October 10, 2026 06:31
…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>
…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>
…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>
…tgg#17898)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
ScottN-PV and others added 19 commits October 12, 2026 22:29
…page (pingdotgg#18666)

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>
…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>
pingdotgg#18900)

Co-authored-by: Pawel Mikolajczuk <pmikolajczuk@atlassian.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Upstream's code wins; custom features are re-applied on its new structure.

Adapting custom code to upstream moves:
- providerSnapshot/ProviderAdapter/IdAllocator/ProviderEventLoggers/failure
  now live in provider-core; hostProcess became the HostProcess namespace;
  ReplayTranscriptNdjson split into provider-testing + ReplayRuntimeInstructions.
- Checkpoint rollback/rewind writes its events under the ThreadCommandExecutor
  lock (upstream c28cd90), now inside the custom rollbackConversation.
- Trusted-device tokens follow upstream's scope rule (grant the allowed subset
  of requested scopes); the test reads the new `permissions` listing.
- RPC instrumentation names the custom resume-picker and rewind-preview RPCs
  (upstream dropped per-handler observeRpcEffect).
- Claude prompt uuids are random upstream (f570bd2), so rewinding past a
  turn stopped before Claude replied resumes at the prompt uuid the turn
  recorded instead of re-deriving it from the attempt id.
- Custom Claude adapter tests yield the adapter, mock stopTask, and provide
  McpProviderSessions; McpOAuth test stubs TrustedDevices.
- AcpSessionRuntime.processTree.test.ts takes upstream (202b954 supersedes
  e4807aa).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
scripts/custom/sync-upstream.sh merges upstream/main into a new sync
branch with rerere on, so past conflict fixes replay next time.
CUSTOM.md lists each fork feature and when to drop it for upstream.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL 📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. labels Oct 13, 2026
New turns record the prompt uuid they send when they start. Turns from
older builds fall back to the uuid derived from the run attempt.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Mock useUnarchivedProjectsAndThreads in upstream's new settings test, guard
agentSessionsResume with the operate scope, and let Home share the
unarchived-projects hook.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ziyadakl ziyadakl changed the title Merge the latest official T3 Code into custom-v2, plus a repeatable sync routine chore(sync): merge upstream/main 6524a8d437 into custom-v2, plus a repeatable sync routine Oct 13, 2026
…hoed

Keep the sent prompt uuid in nativePromptId for conversation rewind, and
leave nativeUserMessageId empty until Claude echoes the prompt, so code
restore never targets a turn without a file snapshot.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A rewind that checks or restores files with no live Claude process opens a
fresh one. Loading the user and project settings ran their SessionStart
hooks first; one project hook held each preview for 7.5 s. The restore
process now passes settingSources: [] (8.2 s -> 0.6 s measured, same
rewindFiles answers). Turns keep their settings.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ziyadakl
ziyadakl merged commit 51834b2 into custom-v2 Oct 13, 2026
26 checks passed
@ziyadakl
ziyadakl deleted the sync/upstream-2026-10-13 branch October 13, 2026 13:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.