apps/server/src/auth/RpcAuthorization.test.ts | 24 +- apps/server/src/auth/RpcAuthorization.ts | 5 + apps/server/src/git/GitManager.test.ts | 6 + apps/server/src/git/GitWorkflowService.test.ts | 32 ++ apps/server/src/git/GitWorkflowService.ts | 70 ++-- apps/server/src/mergebot/MergebotQueue.test.ts | 280 +++++++++++++- apps/server/src/mergebot/MergebotQueue.ts | 369 ++++++++++++++---- apps/server/src/mergebot/overview.test.ts | 263 +++++++++++++ apps/server/src/mergebot/overview.ts | 218 +++++++++++ apps/server/src/observability/RpcInstrumentation.ts | 12 + apps/server/src/orchestration-v2/PullRequestWatchReactor.test.ts | 6 + apps/server/src/pullRequest/PullRequestService.test.ts | 6 + apps/server/src/server.ts | 2 + apps/server/src/vcs/JjStackService.test.ts | 103 +++++ apps/server/src/vcs/JjStackService.ts | 404 ++++++++++++++++++++ apps/server/src/ws.ts | 15 + apps/web/src/closedViewStore.ts | 1 + apps/web/src/components/AppSidebarLayout.tsx | 8 - apps/web/src/components/ChatView.tsx | 22 +- apps/web/src/components/GitActionsControl.lifecycle.test.ts | 33 +- apps/web/src/components/GitActionsControl.tsx | 55 ++- apps/web/src/components/RightPanelTabs.keyboard.test.tsx | 16 + apps/web/src/components/RightPanelTabs.tsx | 9 +- apps/web/src/components/Sidebar.tsx | 16 +- apps/web/src/components/deployments/ConfiguredDeployments.tsx | 69 ++++ apps/web/src/components/deployments/DeploymentsPanel.tsx | 310 +++++++++++++++ apps/web/src/components/deployments/deployments.logic.test.ts | 232 ++++++++++++ apps/web/src/components/deployments/deployments.logic.ts | 308 +++++++++++++++ apps/web/src/components/diffs/AnnotatableCodeView.tsx | 3 + apps/web/src/components/review/CommitMessageEditor.test.tsx | 120 ++++++ apps/web/src/components/review/CommitMessageEditor.tsx | 294 +++++++++++++++ apps/web/src/components/review/DiffSurface.tsx | 57 +++ apps/web/src/components/review/JjReviewPanel.test.tsx | 142 +++++++ apps/web/src/components/review/JjReviewPanel.tsx | 644 ++++++++++++++++++++++++++++++++ apps/web/src/components/review/JjStackViews.tsx | 318 ++++++++++++++++ apps/web/src/components/review/MergebotStatusPill.tsx | 119 ++++++ apps/web/src/components/review/ThreadMergebotPill.tsx | 27 ++ apps/web/src/components/review/commitTitle.test.ts | 27 ++ apps/web/src/components/review/commitTitle.tsx | 90 +++++ apps/web/src/components/review/jjReview.logic.test.ts | 96 +++++ apps/web/src/components/review/jjReview.logic.ts | 89 +++++ apps/web/src/components/sidebar/SidebarChrome.tsx | 44 ++- apps/web/src/components/sidebar/SidebarDeploymentsButton.tsx | 82 ++++ apps/web/src/components/sidebar/mainAppLocation.ts | 3 +- apps/web/src/rightPanelStore.ts | 4 + apps/web/src/routeTree.gen.ts | 21 ++ apps/web/src/routes/deployments.tsx | 44 +++ apps/web/src/state/jj.ts | 36 ++ apps/web/src/state/mergebot.ts | 59 ++- packages/client-runtime/package.json | 4 + packages/client-runtime/src/mergebotStatusPill.test.ts | 130 +++++++ packages/client-runtime/src/mergebotStatusPill.ts | 88 +++++ packages/client-runtime/src/rpc/client.ts | 3 + packages/client-runtime/src/state/commandPermissions.test.ts | 34 ++ packages/client-runtime/src/state/pullRequests.ts | 18 + packages/contracts/src/clientRpcPermissions.ts | 7 + packages/contracts/src/git.ts | 1 + packages/contracts/src/index.ts | 1 + packages/contracts/src/jj.test.ts | 35 ++ packages/contracts/src/jj.ts | 131 +++++++ packages/contracts/src/mergebot.ts | 117 ++++++ packages/contracts/src/rpc.ts | 132 ++++++- packages/shared/src/git.test.ts | 1 + packages/shared/src/git.ts | 1 + 64 files changed, 5732 insertions(+), 184 deletions(-)