Skip to content

chore: merge upstream T3 Code through 2026-08-19 - #61

Merged
roughcoder merged 31 commits into
mainfrom
chore/sync-upstream-2026-08-19
Aug 20, 2026
Merged

roughcoder merged 31 commits into
mainfrom
chore/sync-upstream-2026-08-19

Conversation

@roughcoder

@roughcoder roughcoder commented Aug 19, 2026 •

Copy link
Copy Markdown

Twice-weekly upstream sync. Phoenix ba2e6449 was 28 commits behind pingdotgg/t3code (f2d5fc91, base a4cc1367), and we want every compatible upstream improvement without giving up Phoenix identity or the distribution quarantine.

Resolved as a three-way semantic merge per docs/operations/upstream-integration.md: 11 textual conflicts resolved, 34 both-branches-changed files audited. Headline decisions: adopted the launchd background-service backend with Phoenix runtime identity (com.goodbird.phoenix.service, PHOENIX_HOME) while keeping install/update/onboarding disabled; adapted the new triage CLI to route issues and source lookups to goodbirdhq/phoenix instead of upstream; merged Phoenix's Sessions surface into upstream's new data-driven shortcut menu. Fixed two clean-merge defects (launchd test fixtures and a GitManager test asserting pre-Phoenix identifiers/field lists). No release automation re-enabled.

Full record: docs/operations/upstream-integrations/2026-08-19.md. Verified with per-package typechecks (server, web, desktop, contracts, shared, client-runtime) and ~670 focused tests across every conflict and overlap area.

Produced by Claude Fable 5 via Claude Code.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

t3-code Bot and others added 29 commits August 18, 2026 09:31
…in GitHubPullRequestCli (pingdotgg#7385)

Signed-off-by: aoright <102943475+aoright@users.noreply.github.com>
Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com>
…t full speed (pingdotgg#7460)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…nt (pingdotgg#6563)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…tgg#6286)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Semantic merge of pingdotgg/t3code f2d5fc9 into Phoenix ba2e644
(base a4cc136): 28 upstream commits, 11 conflicts resolved, identity
and quarantine invariants preserved. Full record in
docs/operations/upstream-integrations/2026-08-19.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
roughcoder and others added 2 commits August 19, 2026 23:52
The 2026-08-19 upstream sync added the triage command with no docs/user
entry, and the docs index still called the background service Linux-only
after launchd support landed. Found by PR #61 code review.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Main advanced 13 commits with thread migration and provider failover
while this sync was in review. One textual conflict, in the contracts
settings import list: both sides added a symbol at the same position,
and both are kept.

The clean merge combined incompatible logic. LimitFailoverReactor
selected candidates with `config.enabled !== false`, written when every
driver defaulted to enabled. This branch makes Grok, Cursor, and
OpenCode default off with no explicit flag, so a never-enabled instance
would have passed that check and received a failing-over thread on a
provider the server never probed or registered. Candidate selection now
goes through resolveProviderInstanceEnabled, extracted as a pure
failoverCandidates alongside the existing remainingScore and covered by
a regression test that fails against the old predicate.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@roughcoder
roughcoder merged commit 7e40aff into main Aug 20, 2026
11 of 12 checks passed
roughcoder added a commit that referenced this pull request Aug 20, 2026
PR #61 was squash-merged, so its merge commit's second parent was
dropped and upstream's history stopped being reachable from main. That
left `git merge-base main upstream/main` reporting a4cc136, the base of
the 2026-08-17 sync, so the next integration would have tried to replay
the 28 commits #61 already integrated and re-litigated every Phoenix
adaptation in them.

This merge carries no file changes; the tree is exactly 7e40aff. Its
only effect is to make f2d5fc9 an ancestor of main again so merge-base
resolves correctly for future syncs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
roughcoder added a commit that referenced this pull request Aug 20, 2026
The suite runs ~9m30s against a 10m cap, so ordinary runner variance
cancelled healthy runs. PR #61 lost one at 10m02s with every test
already passed, killed during post-job cleanup, and the identical rerun
passed at 9m21s.

Raises the test job to 12 minutes. The other jobs keep their 10m cap:
Check runs ~3m and Release Smoke ~1m, and a cap they never approach is
still doing its job of catching a hang.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
roughcoder added a commit that referenced this pull request Aug 20, 2026
Squash-merging an integration PR keeps the files and drops the upstream
parent, so the next sync's merge base silently rewinds to the sync
before last and replays commits that were already integrated. #61 hit
this; the ancestry was restored afterwards in 3584603.

Adds the recovery step to the runbook, and a check in the pin step so a
rewound merge base is caught before any conflict is resolved rather than
after.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
roughcoder added a commit that referenced this pull request Aug 20, 2026
The upstream merge in #61 moved @clerk/electron-passkeys onto a canary
release whose platform packages ship without their napi binaries: every
0.0.4 canary tarball is a 1.6 KB stub of package.json + LICENSE, yet
package.json still declares the absent .node file as "main". Staging the
mac app then fails to resolve @clerk/electron-passkeys-darwin-arm64, so
the Phoenix Build workflow has been red on every push since.

Pin @clerk/electron to stable 0.0.34 (the same base version as the
canary) and @clerk/electron-passkeys to 0.0.3, whose platform packages
carry real binaries. Stable 0.0.34 peers on electron-passkeys "*" and so
accepts 0.0.3, where the canary pinned the exact canary build.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.