# fix: reconcile main's round-10 features after the rebase · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/620086bfa64191d5c8d3429f62eb90b0b7adb091)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: 620086bfa64191d5c8d3429f62eb90b0b7adb091

Requested commit: 620086bfa64191d5c8d3429f62eb90b0b7adb091

Commit: 620086bfa64191d5c8d3429f62eb90b0b7adb091

Tree: 3dc5678bc7069b2e124d738dd3b93f3f59294831

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
fix: reconcile main's round-10 features after the rebase

Ten days of main (194 commits, 640 files) re-integrated with the v2
re-architecture. The headline mechanics:

- migrations: main added 041-043 (AuthSessionClientConnection,
  ProjectionThreadLinkedPullRequest, ProjectionThreadsUnsettledAt), so the
  v2 block renumbers 041-049 → 044-052 with the migration tests shifted to
  match
- contracts: OrchestrationClientOrigin (#7774) and the origin metadata
  field live in applicationEvent.ts and re-export through the legacy
  path; ProviderApprovalOption + acceptAlways + mcp-elicitation (#8058)
  land in providerPolicy.ts; OrchestrationDispatchCommandError (#8824)
  added; the send-turn image-mime home stays chatAttachment.ts
- threadSettled: main's settle-once-on-merge semantics (#7454) and
  un-settle re-anchor (#8231) hand-merged onto the v2 duck-typed shells
  (latestRun ?? latestTurn reads); web callers pass the new
  ChangeRequestSettleSource shape
- timeline anchoring: main's #7897 (follow-up sends no longer push to the
  top) ported by scanning user rows only; the branch test now encodes the
  new semantics, as does mobile's #7969 settled-pinned shelf behavior
- vcs: branch's deleteLocalBranch coexists with main's pruneWorktrees and
  the #7674 submodule checkout tests
- ws: v2 RPC surface keeps its dispatch path; main's attachment upload
  RPCs (#8048) and client-connection analytics recording are wired;
  providerUploadFeedback (#7949) fails explicitly pending a v2 route
- approvals: main's option-driven approval buttons (#8058) render through
  the v2 canRespond gate on web and mobile
- ChatView/ChatComposer/MessagesTimeline/Sidebar/session-logic/
  threadActivity keep the branch's v2 architecture; main's v1-coupled
  deltas to those files are recorded for follow-up rather than
  force-fitted

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

```

## Parents

- [3401015523f48b82d43674afd03dafbb7db383cc](https://git.cafe/pingdotgg/t3code/commit/3401015523f48b82d43674afd03dafbb7db383cc?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/620086bfa64191d5c8d3429f62eb90b0b7adb091?format=markdown)
