Skip to content

sync: upstream fixes 2026-11-10 (Fable 5.2, Claude SDK 0.3.321, provider + server reliability) - #18

Merged
AIdoesmyjob merged 36 commits into
mainfrom
skofo/upstream-sync
Nov 10, 2026
Merged

AIdoesmyjob merged 36 commits into
mainfrom
skofo/upstream-sync

Conversation

@AIdoesmyjob

Copy link
Copy Markdown
Owner

Daily upstream sync, 2026-11-10. Base: fork main 98d30e6535 (deployed 0.1.8-skofo.20261109.2-beta-ui). There are 35 commits: 32 upstream cherry-picks (-x), plus 2 adaptations and 1 revert of our own.

Upstream taken

Provider compatibility

Data safety and reliability (server)

Our hosts

Adaptations

Verification (author checks, no independent review)

  • pnpm install --frozen-lockfile resolves (claude-agent-sdk 0.3.321 installed). No new dependencies.
  • Typecheck passes in all 12 touched packages: contracts, client-runtime, provider-core, provider-opencode, provider-cursor, provider-grok, provider-acp-registry, ssh, source-control-github, source-control-cursor-origin, t3 (server), web.
  • vitest on every touched test file plus tests next to touched sources: 56 files, all passing.
    • server: 1757
    • web: 6
    • client-runtime: 42
    • contracts: 9
    • provider-acp-registry: 9
    • provider-core: 12
    • provider-cursor: 34
    • provider-fx: 3
    • provider-grok: 10
    • provider-muse: 3
    • provider-opencode: 77
    • provider-pi: 15
    • source-control-github: 30
    • ssh: 12
  • vp fmt --check and vp lint are clean on changed files.
  • Compatibility: no new migrations, ORCHESTRATION_PROTOCOL_VERSION is still 2, and deviceToolVersions.json is unchanged. feat(models): the model picker checks for new models when it opens pingdotgg/t3code#33511 adds an optional modelCatalogRefresh capability, which older servers drop.
  • Not run: the full suites and the release build. Both belong to the deploy step.

Deferred

🤖 Generated with Claude Code

juliusmarminge and others added 30 commits November 10, 2026 15:01
… undici import (pingdotgg#33483)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit dc72705)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 12f3244)
… app (pingdotgg#33503)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 077fd62)
Co-authored-by: Claude Code <noreply@anthropic.com>
(cherry picked from commit bf469bb)
)

OpenCode usage scans materialized complete message bodies and queried empty
rowid ranges. Select in-window rowids first and project usage fields in
SQLite, keeping message bodies off the JS heap. Read each database in one
snapshot and record scan row and page counts.

On a read-only snapshot of a 3.32 GB real database, five fresh-process runs
measured 2.33x faster 30-day reads and 2.82x faster 90-day reads with identical
records. These are cold application-cache measurements; OS caches were not
cleared. Local check:changed and CI passed.

Adapted SQL projection from pingdotgg#27679
and window selection/snapshot handling from
pingdotgg#26613.

Model and harness: GPT 6.1 Sol through Codex in T3 Code.

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Tymoteusz Bielski <31070271+TymekTM@users.noreply.github.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit bbdc7dc)
Normalize Cursor usage pages as they arrive, retain bounded raw page data, and preserve count-proven boundary deduplication and stable event keys. Use direct hex hashing, limit concurrent account refreshes to two, reuse unchanged cached records, and persist retention pruning.

Validation: check:changed passed with 61 focused tests; 40 differential reader cases matched the original output. CI and agentic reviews passed on the merged head.

GPT 6.1 Sol via Codex in T3 Code.

(cherry picked from commit 53bcb9a)
…g#13809)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
(cherry picked from commit 9a3f8db)
…ingdotgg#24599)

Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit f6a32db)
…gdotgg#33707)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 4c36119)
…al (pingdotgg#33535)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 577c524)
…uest times out (pingdotgg#27677)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eff4566)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 4f57044)
…s later subagent results (pingdotgg#33469)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 8d54c8b)
…ing CLIs (pingdotgg#33448)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 5dcf69e)
…to itself (pingdotgg#33695)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit ad91636)
…otgg#33263)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit a22068f)
…gdotgg#33768)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 7171fdd)
pingdotgg#33752)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit f8fbc19)
… instead of running forever (pingdotgg#33008)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit bcee0f5)
…me it in the sign-in hint (pingdotgg#32951)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit feb9c6b)
…ot its whole history (pingdotgg#33305)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 61cb845)
…gdotgg#32899)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit f12bb62)
… wakes (pingdotgg#32815)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 6b96956)
…28353)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 41443e5)
…ingdotgg#27791)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
(cherry picked from commit 80e1e4d)
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit d313b2a)
t3dotgg and others added 6 commits November 10, 2026 15:02
…ingdotgg#33511)

Co-authored-by: Claude Code <noreply@anthropic.com>
(cherry picked from commit d0f7a50)
pingdotgg#33515)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit eb6e7fa)
…ingdotgg#33483 fixes it at the source

This reverts commit 98d30e6. Upstream
dc72705 (pingdotgg#33483, cherry-picked in this PR) removes Cursor Origin's static
@effect/platform-node/Undici import, which was the cause of the build-exe
failure our plugin worked around. build-exe must be re-verified when this ships.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Our delta makes Fable the Claude chat default. Upstream pingdotgg#33500 adds Claude
Fable 5.2 as current (CLI >= 2.1.290; VM138 runs Claude Code 2.1.322) and moves
Fable 5.1 to legacy, so the fork default follows to claude-fable-5-2 in
DEFAULT_MODEL_BY_PROVIDER and the bundled manifest default. ModelManifest
tests are updated to match.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s first frame fail instead of running forever (pingdotgg#33008)

The redesign's ClaudeAgentSdkQuerySession requires getContextUsage; the
upstream test's fake session lacked it and failed typecheck. Use the file's
existing contextUsageUnsupported stub.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@AIdoesmyjob
AIdoesmyjob marked this pull request as ready for review November 10, 2026 15:39
@AIdoesmyjob

Copy link
Copy Markdown
Owner Author

Release check for 0.1.8-skofo.20261110.1-beta-ui (head 9ca621508c, adds the version bump):

  • Build without our undici plugin: build-exe, build-cli-archive and smoke-cli-archive pass (--version, __service-launcher, serve answered). Upstream fix(source-control): nightly CLI builds again without Cursor Origin's undici import pingdotgg/t3code#33483 fixes the build at the source. Archive sha256 8d48c3fe95d0f86bfc980e756e524f160b97e3e7b2c9f1f985e7b2260b10ea17.
  • Full suites:
    • contracts 174/174
    • shared 1513 passed, 3 skipped
    • client-runtime 1854/1854
    • server 7021 passed, 5 skipped
    • web 5902/5904. The two runtime.test.ts telemetry tests timed out under full-suite load. They pass alone (3/3), and that file is unchanged vs deployed. Same behaviour as the 11-09 catch-up.
  • The owner asked to merge this and put it live. It deploys through the drain script (~/bin/t3code-sync-deploy-20261110.sh, drop-in 80-sync-20261110.conf). Fork main is fast-forwarded once the service is healthy.

@AIdoesmyjob
AIdoesmyjob merged commit 9ca6215 into main Nov 10, 2026
@AIdoesmyjob

Copy link
Copy Markdown
Owner Author

Deployed 2026-11-10 15:52:14 UTC (08:52 Pacific) via ~/bin/t3code-sync-deploy-20261110.sh, drop-in 80-sync-20261110.conf.

  • Drain: waited from 15:39:59 to 15:52:03 UTC until the busiest session had been idle for 302 s. The 15-minute override was not needed.
  • Backup: statev2-pre-0.1.8-skofo.20261110.1-beta-ui-20261110T153958Z.sqlite, quick_check ok.
  • Health at 15:52:49 UTC: serverVersion 0.1.8-skofo.20261110.1-beta-ui, migration 80, same MainPID for 30 s, NRestarts=0, no error-level journal lines.
  • End-to-end:
    • research-workstation link reachable;
    • home-android ready (Hub 0.19.1);
    • t3.skofo.ca returns 302 to the auth edge;
    • scheduled tasks intact;
    • enableAgentBrowserAccess true.
  • mac-iphone: its reverse tunnel (127.0.0.1:44022) has refused connections since 2026-11-09 21:04 UTC on the previous build. That's the Mac's side (asleep or offline), not this deploy.
  • Fork main: fast-forwarded 98d30e6535..9ca621508c.
  • Rollback: remove the 80 drop-in, daemon-reload, restart. No schema change.

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.

6 participants