Skip to content

fix(workbench): carry six upstream reliability fixes - #98

Merged
filipgutica merged 7 commits into
mainfrom
fix/upstream-sync-reliability-20261004
Oct 4, 2026
Merged

filipgutica merged 7 commits into
mainfrom
fix/upstream-sync-reliability-20261004

Conversation

@filipgutica

@filipgutica filipgutica commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Summary

Import six merged native T3 reliability fixes into the Workbench fork. These prevent failed SQLite writes, missed long review conversations, disrupted RPC connections, unwanted restart continuations, and staging changes during commit-message generation.

Changes

  • #15488: acquire SQLite's write lock before transaction reads and classify native SQLite failures correctly. Read-only connections retain deferred transactions.
  • #15427: follow review-reply pages and hold the remark watermark when reads are incomplete.
  • #15563: release a full RPC stream buffer when closing the stream so the connection can continue reading replies.
  • #15470: recognize relay disconnect messages carrying the network hint while preserving genuine sign-in errors.
  • #15604: clean up leftover background work without waking settled native threads after restart.
  • #15532: generate commit context using a temporary index; stage the real index only when committing.

Each fix retains its upstream cherry-pick reference. The combined Effect patch retains the fork's existing cache fix; the regenerated lockfile preserves package versions and the existing Alchemy patch. No Workbench-owned implementation, native persistence schema, UI integration, or workflow changes are included.

Verification

  • Regression tests reproduced all six defects before the production changes: 19 failing cases. Afterward, all 25 targeted cases pass, including partial staging, split indexes, unborn repositories, and merge metadata.
  • The broader focused run passes 740 tests across 14 files, including native restart replay and Workbench store/execution tests. One unchanged baseline failure remains in GitVcsDriverCore.test.ts: preserves renames, unusual paths, modes, and binary statistics.
  • Contracts, shared, client-runtime, server, web, and Workbench typechecks pass. The Workbench application-import/dependency-cycle boundary gate passes. Scoped formatting and lint pass with two unchanged lint warnings.
  • Against upstream 4ee6bfd50ef4a089440d5c3662db2298da9cc50e, both base 7530667 and head 520f907 have the same existing conflict paths: ChatView.tsx, state/query.ts, and pnpm-lock.yaml. No additional conflict paths or Workbench integrations are introduced.
  • To inspect the stream regression, run vp test run packages/client-runtime/src/rpc/session.test.ts -t 'full buffer'. Closing the saturated stream must allow a subsequent server probe to complete.
  • Published head 520f9073c9836f53d165ddcbf90028d5fd7511be passes full Workbench CI, quality and desktop smoke, and all three browser-regression shards.
  • The private Workbench demo is published for that exact head. Preview verification passes source-container and exported-bundle pairing, HTTP/WebSocket access checks, and crash recovery. The protected launcher and publisher use main 7530667154d5b52adb5c0ac4d9e24f5279659a6f.

Limits

  • Writable-connection transactions take the write lock upfront, trading concurrency with other processes for reliable read-then-write behavior.
  • The upstream PR-watch fix caches reply tails by comment count. A delete-and-add between sweeps that leaves the count unchanged can still hide the new tail reply until the count changes or the watch restarts. Independent review reproduced this remaining upstream limitation; the previous fork never read these tail pages.
  • This cloud workspace's network proxy rejects direct Vercel access with CONNECT 403. Exact-head publication is verified through the successful preview workflow and its revision-pinned PR comment; interactive launcher access from this workspace remains unverified.

Model: GPT-6. Harness: Codex in the saved Linux cloud environment.

juliusmarminge and others added 7 commits October 4, 2026 15:30
pingdotgg#15470)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit a92c43b)
…gg#15427)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
(cherry picked from commit f4f3abf)
…ailing (pingdotgg#15488)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 0fe4fa4)
…tion (pingdotgg#15563)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit eac52f0)
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XL labels Oct 4, 2026
@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 4.9 KiB 4.9 KiB 0 B (0.0%) 6.8 KiB ✅
Codex Thread snapshot wire 3.7 KiB 3.7 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.4 KiB 20.4 KiB 0 B (0.0%) 29.3 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 4.9 KiB 4.9 KiB +41 B (+0.8%) 6.8 KiB ✅
Claude Thread snapshot wire 3.7 KiB 3.7 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB +41 B (+3.5%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 20.7 KiB 20.8 KiB +41 B (+0.2%) 29.3 KiB ✅
Claude Live turn messages 1 2 +1 (+100.0%) 8 ✅

Baseline: 7530667 · PR result: 520f907 · Source CI: success

Scenario and decoded snapshot size

10 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.

  • Codex decoded thread snapshot: 106.1 KiB
  • Claude decoded thread snapshot: 106.4 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown

Workbench demo

Open the private 20-minute demo. Sign in to Vercel, then choose Open demo. Reopening this link in the same browser resumes its running demo; Start new demo creates a fresh one. Jira starts disconnected.

Application, runtime startup, fixtures, and native smoke: PR 520f9073c9836f53d165ddcbf90028d5fd7511be. Dockerfile, build configuration, bundle export, publisher, and protected launcher: main 7530667154d5b52adb5c0ac4d9e24f5279659a6f.

Expired? Return to this link and launch again. Use synthetic content with the free OpenCode model.

@filipgutica
filipgutica marked this pull request as ready for review October 4, 2026 18:03
@filipgutica
filipgutica merged commit 2aaecea into main Oct 4, 2026
43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 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.

6 participants