Skip to content

🔔 hyprws auto-rebase blocked at v0.0.41-nightly.20260910.1473 (upstream afb8489) #733

Description

@github-actions

The fork stack advances to v0.0.41-nightly.20260909.1461, the newest clean upstream tag.
6 upstream commits sit behind the blocking commit afb84898be3bf9b83bd4cb98c608b79c433579cc.

Blocking upstream commit: afb84898be3bf9b83bd4cb98c608b79c433579cc feat(pull-requests): link multiple pull requests to threads (#10839)
Newest upstream tag beyond the clean window: v0.0.41-nightly.20260910.1473

Sequential rebase census

A throwaway rebase rehearsal to v0.0.41-nightly.20260910.1473 found 10 conflicting fork commits and 24 conflict-file observations. Repeated paths count at each stop.
Method: sequential-rebase-stage3-provisional. Source: 1f7f253232ee745791d9f40eab18fe81908009ef; base: e16b8b059c9f5ff6dfed1addecffb831c6aee043; target: b7b3ef1e6fcb5c22a9790d2578fe8af7ce396835. Complete observation set.
Continuation provisionally takes fork-side index stage 3 (or its deletion) with rerere disabled. These observations record no human or agent resolution verdict.

Stop File Conflict kind Replayed fork commit Domain
1 apps/server/src/ws.ts content bb1c77f1fc3ecfb9f9467a2bb1eacb88d6946ee5 feat(server): bind thread worktrees to a managed zmux session zmux-estate
2 apps/server/src/provider/Layers/CodexSessionRuntime.ts content 110a90554d98e30975d51ef657ac96c318d6d903 feat(agents): select custom main-thread agents (#31) custom-agents
3 apps/web/src/routes/_chat.pull-requests.tsx content 245298c88966a645f9a38c0e308079e32cae0484 feat(web): scope pull requests to project windows project-windows
4 apps/web/src/components/CommandPalette.logic.test.ts content 787d95a986594a75242df8be439c5fea60d39d90 feat(issues): add GitHub Issues surface scoped to project windows github-issues
4 apps/web/src/components/CommandPalette.logic.ts content 787d95a986594a75242df8be439c5fea60d39d90 feat(issues): add GitHub Issues surface scoped to project windows github-issues
4 apps/web/src/components/RightPanelTabs.tsx content 787d95a986594a75242df8be439c5fea60d39d90 feat(issues): add GitHub Issues surface scoped to project windows github-issues
4 apps/web/src/lib/openPullRequestLink.test.ts content 787d95a986594a75242df8be439c5fea60d39d90 feat(issues): add GitHub Issues surface scoped to project windows github-issues
4 apps/web/src/lib/openPullRequestLink.ts content 787d95a986594a75242df8be439c5fea60d39d90 feat(issues): add GitHub Issues surface scoped to project windows github-issues
4 apps/web/src/rightPanelStore.ts content 787d95a986594a75242df8be439c5fea60d39d90 feat(issues): add GitHub Issues surface scoped to project windows github-issues
5 apps/web/src/components/ChatView.tsx content 0f3ec4f81202e2140a7cb654ce32f1e1de0867c8 fix(web): add Issues to right-panel launchers (#193) github-issues
5 apps/web/src/components/RightPanelTabs.test.tsx content 0f3ec4f81202e2140a7cb654ce32f1e1de0867c8 fix(web): add Issues to right-panel launchers (#193) github-issues
6 apps/web/src/components/Sidebar.logic.test.ts content bad140d09a6fc7b7f8c456c6dd54b4f03264c0d2 fix(web): retain completed thread timing upstream-fixes
6 apps/web/src/components/Sidebar.tsx content bad140d09a6fc7b7f8c456c6dd54b4f03264c0d2 fix(web): retain completed thread timing upstream-fixes
7 apps/server/src/pullRequest/PullRequestService.ts content 2379b6921cbae5aff971188fb644f33f83dd96ae feat(web): add GitHub link destination controls (#178) github-issues
7 apps/web/src/components/ChatMarkdown.tsx content 2379b6921cbae5aff971188fb644f33f83dd96ae feat(web): add GitHub link destination controls (#178) github-issues
8 apps/server/src/pullRequest/PullRequestService.test.ts content 99fd81e0b17f14100ea612b4c90d862b53c8874e fix(web): upload media in pull request descriptions upstream-fixes
9 apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.test.ts content f56a7de4093c966b8189b1766ec80424e98629b0 feat(server): coordinate durable checkout moves zmux-estate
9 apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts content f56a7de4093c966b8189b1766ec80424e98629b0 feat(server): coordinate durable checkout moves zmux-estate
9 apps/server/src/orchestration/decider.ts content f56a7de4093c966b8189b1766ec80424e98629b0 feat(server): coordinate durable checkout moves zmux-estate
9 packages/client-runtime/src/operations/commands.ts content f56a7de4093c966b8189b1766ec80424e98629b0 feat(server): coordinate durable checkout moves zmux-estate
9 packages/client-runtime/src/state/threadCommands.ts content f56a7de4093c966b8189b1766ec80424e98629b0 feat(server): coordinate durable checkout moves zmux-estate
9 packages/contracts/src/orchestration.ts content f56a7de4093c966b8189b1766ec80424e98629b0 feat(server): coordinate durable checkout moves zmux-estate
10 apps/web/src/components/BranchToolbarBranchSelector.tsx content 3999522d0003f763552ee546b1b94e95af4657a3 feat(web): follow coordinated checkout moves zmux-estate
10 docs/user/source-control.md content 3999522d0003f763552ee546b1b94e95af4657a3 feat(web): follow coordinated checkout moves zmux-estate

Feasibility overlap

Pairwise merge-tree analysis: 10 introducing fork commits and 21 file rows. Complete overlap table, independent of sequential stop counts.
Source: 1f7f253232ee745791d9f40eab18fe81908009ef; base: e16b8b059c9f5ff6dfed1addecffb831c6aee043; upstream: b7b3ef1e6fcb5c22a9790d2578fe8af7ce396835. Attribution names the introducing fork commit, not a sequential replay stop.

Follow Unblocking a rebase-blocked issue.

File Hunks Fork commit Domain
apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.test.ts 2 f56a7de feat(server): coordinate durable checkout moves zmux-estate
apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts 6 f56a7de feat(server): coordinate durable checkout moves zmux-estate
apps/server/src/orchestration/decider.ts 2 f56a7de feat(server): coordinate durable checkout moves zmux-estate
apps/server/src/provider/Layers/CodexSessionRuntime.ts 2 110a905 feat(agents): select custom main-thread agents (#31) custom-agents
apps/server/src/pullRequest/PullRequestService.test.ts 1 99fd81e fix(web): upload media in pull request descriptions upstream-fixes
apps/server/src/pullRequest/PullRequestService.ts 2 2379b69 feat(web): add GitHub link destination controls (#178) github-issues
apps/server/src/ws.ts 4 bb1c77f feat(server): bind thread worktrees to a managed zmux session zmux-estate
apps/web/src/components/BranchToolbarBranchSelector.tsx 1 3999522 feat(web): follow coordinated checkout moves zmux-estate
apps/web/src/components/ChatMarkdown.tsx 1 2379b69 feat(web): add GitHub link destination controls (#178) github-issues
apps/web/src/components/ChatView.tsx 5 0f3ec4f fix(web): add Issues to right-panel launchers (#193) github-issues
apps/web/src/components/CommandPalette.logic.ts 1 787d95a feat(issues): add GitHub Issues surface scoped to project windows github-issues
apps/web/src/components/RightPanelTabs.test.tsx 1 0f3ec4f fix(web): add Issues to right-panel launchers (#193) github-issues
apps/web/src/components/RightPanelTabs.tsx 10 787d95a feat(issues): add GitHub Issues surface scoped to project windows github-issues
apps/web/src/components/Sidebar.tsx 2 bad140d fix(web): retain completed thread timing upstream-fixes
apps/web/src/lib/openPullRequestLink.ts 4 787d95a feat(issues): add GitHub Issues surface scoped to project windows github-issues
apps/web/src/rightPanelStore.ts 3 787d95a feat(issues): add GitHub Issues surface scoped to project windows github-issues
apps/web/src/routes/_chat.pull-requests.tsx 4 245298c feat(web): scope pull requests to project windows project-windows
docs/user/source-control.md 1 3999522 feat(web): follow coordinated checkout moves zmux-estate
packages/client-runtime/src/operations/commands.ts 2 f56a7de feat(server): coordinate durable checkout moves zmux-estate
packages/client-runtime/src/state/threadCommands.ts 3 f56a7de feat(server): coordinate durable checkout moves zmux-estate
packages/contracts/src/orchestration.ts 6 f56a7de feat(server): coordinate durable checkout moves zmux-estate

Relationships: none (--no-relationship).

Activity

  1. github-actions commented on Sep 10, 2026

    @github-actions
    Author

    Refresh log (1 update)

    #0 09-10 03:24  hyprws  o--X--o--o--o--o--o--N  v0.0.41-nightly.20260910.1473  10c
    
    block afb8489 unchanged since #0
    o commit  X block  N nightly tag  S stable tag  Nc = conflicts to that tag
    
  2. added
    cicontinuous integration and pipelines
    rebase-blockedThe fork stack conflicts with newer upstream history
    on Sep 10, 2026
  3. github-actions commented on Sep 10, 2026

    @github-actions
    Author

    Churn

    Lesson assessment unavailable: retained walk and frozen observation chronology is ambiguous; a shared ordering anchor is required. No repair or policy pass is inferred.

    Lesson evidence: refs/fork/churn at 4a473aa6bc627a8d2c63ca16b5e996f8f56d6459; freshness=current; origin=4a473aa6bc627a8d2c63ca16b5e996f8f56d6459
      origin matched before and after the immutable read
    
  4. donjor commented on Sep 10, 2026

    @donjor

    Header

    • Source: origin/hyprws@1f7f253232ee745791d9f40eab18fe81908009ef
    • Target: v0.0.41-nightly.20260910.1473@b7b3ef1e6fcb5c22a9790d2578fe8af7ce396835
    • expected_old: 1f7f253232ee745791d9f40eab18fe81908009ef
    • Lease: report leased at 1f7f253232ee745791d9f40eab18fe81908009ef (origin/hyprws) — any movement of origin/hyprws voids this rehearsal; restart at vp run fork:sync unblock-list
    • Stop. Lease boundary: any movement of origin/hyprws past the lease above voids this green rehearsal.
    • Rehearsal branch: rehearse/v0.0.41-nightly.20260910.1473-from-1f7f253232ee
    • Rebased head: c6a47162883af2c04a0725ca63fe61bb274bcca5
    • Stack size: 192 fork commits

    Conflicts

    Escaped pipes are accepted in Subject, File, Resolution, and Agent-safe cells (\|); write a literal backslash as \\.

    Fork commit and subject Domain File Class Resolution Agent-safe? Decided by
    bb1c77f1fc3e feat(server): bind thread worktrees to a managed zmux session zmux-estate apps/server/src/ws.ts seam-moved outcome executor: keep both (co-insertion; consider keeping ours) true agent
    110a90554d98 feat(agents): select custom main-thread agents (#31) custom-agents apps/server/src/provider/Layers/CodexSessionRuntime.ts seam-moved keep both: fork agent field and agentDeveloperInstructions spread retained; upstream's rewritten credential comment stands true human
    245298c88966 feat(web): scope pull requests to project windows project-windows apps/web/src/routes/_chat.pull-requests.tsx seam-moved keep both: fork route extraction retained; upstream's selectedHost field and parsing ported into pullRequestListRoute.ts so no upstream line is dropped true human
    787d95a98659 feat(issues): add GitHub Issues surface scoped to project windows github-issues apps/server/src/ws.ts seam-moved keep both: fork Issues surface retained; upstream's relocated changeRequestUrl re-export and azure-devops identity branch stand, fork keeps only parseGitHubIssueUrl/GitHubIssueLink/repositoryIdentityOf true human
    787d95a98659 feat(issues): add GitHub Issues surface scoped to project windows github-issues apps/web/src/components/CommandPalette.logic.test.ts seam-moved keep both: fork Issues surface retained; upstream's relocated changeRequestUrl re-export and azure-devops identity branch stand, fork keeps only parseGitHubIssueUrl/GitHubIssueLink/repositoryIdentityOf true human
    787d95a98659 feat(issues): add GitHub Issues surface scoped to project windows github-issues apps/web/src/components/CommandPalette.logic.ts seam-moved keep both: fork Issues surface retained; upstream's relocated changeRequestUrl re-export and azure-devops identity branch stand, fork keeps only parseGitHubIssueUrl/GitHubIssueLink/repositoryIdentityOf true human
    787d95a98659 feat(issues): add GitHub Issues surface scoped to project windows github-issues apps/web/src/components/RightPanelTabs.tsx seam-moved keep both: fork Issues surface retained; upstream's relocated changeRequestUrl re-export and azure-devops identity branch stand, fork keeps only parseGitHubIssueUrl/GitHubIssueLink/repositoryIdentityOf true human
    787d95a98659 feat(issues): add GitHub Issues surface scoped to project windows github-issues apps/web/src/lib/openPullRequestLink.test.ts seam-moved keep both: fork Issues surface retained; upstream's relocated changeRequestUrl re-export and azure-devops identity branch stand, fork keeps only parseGitHubIssueUrl/GitHubIssueLink/repositoryIdentityOf true human
    787d95a98659 feat(issues): add GitHub Issues surface scoped to project windows github-issues apps/web/src/lib/openPullRequestLink.ts seam-moved keep both: fork Issues surface retained; upstream's relocated changeRequestUrl re-export and azure-devops identity branch stand, fork keeps only parseGitHubIssueUrl/GitHubIssueLink/repositoryIdentityOf true human
    787d95a98659 feat(issues): add GitHub Issues surface scoped to project windows github-issues apps/web/src/rightPanelStore.ts seam-moved keep both: fork Issues surface retained; upstream's relocated changeRequestUrl re-export and azure-devops identity branch stand, fork keeps only parseGitHubIssueUrl/GitHubIssueLink/repositoryIdentityOf true human
    0f3ec4f81202 fix(web): add Issues to right-panel launchers (#193) github-issues apps/web/src/components/ChatView.tsx seam-moved keep both: fork's extracted rightPanelSurfaceActions helper and Issues launcher retained; upstream's new Linked pull requests launcher, its onAddPullRequests/pullRequestsAvailable props and pull-requests surface kind ported into that helper so no upstream line is dropped true human
    0f3ec4f81202 fix(web): add Issues to right-panel launchers (#193) github-issues apps/web/src/components/RightPanelTabs.test.tsx seam-moved keep both: fork's extracted rightPanelSurfaceActions helper and Issues launcher retained; upstream's new Linked pull requests launcher, its onAddPullRequests/pullRequestsAvailable props and pull-requests surface kind ported into that helper so no upstream line is dropped true human
    0f3ec4f81202 fix(web): add Issues to right-panel launchers (#193) github-issues apps/web/src/components/RightPanelTabs.tsx seam-moved keep both: fork's extracted rightPanelSurfaceActions helper and Issues launcher retained; upstream's new Linked pull requests launcher, its onAddPullRequests/pullRequestsAvailable props and pull-requests surface kind ported into that helper so no upstream line is dropped true human
    0f3ec4f81202 fix(web): add Issues to right-panel launchers (#193) github-issues apps/web/src/rightPanelStore.ts seam-moved keep both: fork's extracted rightPanelSurfaceActions helper and Issues launcher retained; upstream's new Linked pull requests launcher, its onAddPullRequests/pullRequestsAvailable props and pull-requests surface kind ported into that helper so no upstream line is dropped true human
    0f3ec4f81202 fix(web): add Issues to right-panel launchers (#193) github-issues apps/web/src/routes/_chat.pull-requests.tsx seam-moved keep both: fork's extracted rightPanelSurfaceActions helper and Issues launcher retained; upstream's new Linked pull requests launcher, its onAddPullRequests/pullRequestsAvailable props and pull-requests surface kind ported into that helper so no upstream line is dropped true human
    bad140d09a6f fix(web): retain completed thread timing upstream-fixes apps/web/src/components/Sidebar.logic.test.ts seam-moved keep both: fork's shouldShowSidebarDoneStatus export and resolveCompletedTurnTiming call retained; upstream's rename of searchSidebarThreadsByTitle to searchSidebarThreads stands and its useSupportsMultiplePullRequests hook line is kept true human
    bad140d09a6f fix(web): retain completed thread timing upstream-fixes apps/web/src/components/Sidebar.tsx seam-moved keep both: fork's shouldShowSidebarDoneStatus export and resolveCompletedTurnTiming call retained; upstream's rename of searchSidebarThreadsByTitle to searchSidebarThreads stands and its useSupportsMultiplePullRequests hook line is kept true human
    2379b6921cba feat(web): add GitHub link destination controls (#178) github-issues apps/server/src/pullRequest/PullRequestService.ts human keep both where both add: upstream's findProjectOnChangeRequestHost and the fork's findProjectForGitHubLink/linkedRepository both stand, with the fork lookup as the fallback after upstream's panel path; upstream's host/url panel fields and capability-aware repository binding stand, the fork's duplicate binding dropped; the fork's extracted handleExternalLinkContextMenu stands with its body moved onto upstream's linkedThreadPullRequestFor check; on the server upstream's host-aware requireProject resolution supersedes the fork's removal of the repository guard, which it already implements true human
    2379b6921cba feat(web): add GitHub link destination controls (#178) github-issues apps/web/src/components/ChatMarkdown.tsx human keep both where both add: upstream's findProjectOnChangeRequestHost and the fork's findProjectForGitHubLink/linkedRepository both stand, with the fork lookup as the fallback after upstream's panel path; upstream's host/url panel fields and capability-aware repository binding stand, the fork's duplicate binding dropped; the fork's extracted handleExternalLinkContextMenu stands with its body moved onto upstream's linkedThreadPullRequestFor check; on the server upstream's host-aware requireProject resolution supersedes the fork's removal of the repository guard, which it already implements true human
    2379b6921cba feat(web): add GitHub link destination controls (#178) github-issues apps/web/src/lib/openPullRequestLink.test.ts human keep both where both add: upstream's findProjectOnChangeRequestHost and the fork's findProjectForGitHubLink/linkedRepository both stand, with the fork lookup as the fallback after upstream's panel path; upstream's host/url panel fields and capability-aware repository binding stand, the fork's duplicate binding dropped; the fork's extracted handleExternalLinkContextMenu stands with its body moved onto upstream's linkedThreadPullRequestFor check; on the server upstream's host-aware requireProject resolution supersedes the fork's removal of the repository guard, which it already implements true human
    2379b6921cba feat(web): add GitHub link destination controls (#178) github-issues apps/web/src/lib/openPullRequestLink.ts human keep both where both add: upstream's findProjectOnChangeRequestHost and the fork's findProjectForGitHubLink/linkedRepository both stand, with the fork lookup as the fallback after upstream's panel path; upstream's host/url panel fields and capability-aware repository binding stand, the fork's duplicate binding dropped; the fork's extracted handleExternalLinkContextMenu stands with its body moved onto upstream's linkedThreadPullRequestFor check; on the server upstream's host-aware requireProject resolution supersedes the fork's removal of the repository guard, which it already implements true human
    99fd81e0b17f fix(web): upload media in pull request descriptions upstream-fixes apps/server/src/pullRequest/PullRequestService.test.ts mechanical keep both: upstream's PullRequestReadCache import and the fork's PullRequestAttachmentStore import are adjacent co-insertions true human
    99fd81e0b17f fix(web): upload media in pull request descriptions upstream-fixes apps/server/src/pullRequest/PullRequestService.ts mechanical keep both: upstream's PullRequestReadCache import and the fork's PullRequestAttachmentStore import are adjacent co-insertions true human
    95ba4229886a feat(web): open child work from the Agents panel custom-agents apps/web/src/components/ChatView.tsx seam-moved keep both: the fork's parameterised addAgentsSurface using openAgents stands in place of upstream's plain open(ref, "agents"), which it supersedes, and upstream's new supportsThreadPullRequests and addPullRequestsSurface bindings are kept unchanged true human
    71fc09274e1d docs(fork): keep fork tests in fork-owned files thread-ordering apps/web/src/components/Sidebar.logic.test.ts seam-moved commit intent honoured: the fork-only shouldShowSidebarDoneStatus import leaves the shared test file, and upstream's rename of searchSidebarThreadsByTitle to searchSidebarThreads stands true human
    934d960c3a9b test(fork): move fork test blocks into fork-owned siblings github-issues apps/web/src/components/CommandPalette.logic.test.ts seam-moved commit intent honoured: only the fork-owned blocks leave the shared test files - the buildIssuesNavigationCommand describe and the findProjectForGitHubLink/findProjectForGitHubIssue imports - while upstream's linked pull request thread navigation, browseInputEndPaddingClass and findProjectOnChangeRequestHost tests stand true human
    934d960c3a9b test(fork): move fork test blocks into fork-owned siblings github-issues apps/web/src/lib/openPullRequestLink.test.ts seam-moved commit intent honoured: only the fork-owned blocks leave the shared test files - the buildIssuesNavigationCommand describe and the findProjectForGitHubLink/findProjectForGitHubIssue imports - while upstream's linked pull request thread navigation, browseInputEndPaddingClass and findProjectOnChangeRequestHost tests stand true human
    3f6959236d49 refactor(web): isolate project-window pull request scope project-windows apps/web/src/components/pullRequest/pullRequestListRoute.ts seam-moved delete/modify: the fork's move of pullRequestListRoute.ts into PullRequestProjectScope.ts and _chat.pull-requests.tsx stands, and upstream's selectedHost field and its parsing travel with it into PullRequestsSearch/validatePullRequestsSearch at the new location, so no upstream line is dropped true human
    f54913fafa28 test(fork): complete fork-owned test sibling migration fork-meta apps/server/src/pullRequest/PullRequestService.test.ts seam-moved commit intent honoured: only the fork-owned uses the requested project to read another repository on the same host block leaves the shared file, and every upstream stack, hosted-reference and Azure routing test in that region stands; the migrated fork test now names its host so it travels through upstream's hosted-reference resolution, which implements the same fork behaviour true human
    9252e76645f4 refactor(sidebar): isolate physical scope from upstream derivation project-windows apps/web/src/components/Sidebar.tsx mechanical keep both: upstream's useSupportsMultiplePullRequests, LinkBranchPullRequestButton and threadPullRequests imports and the fork's SidebarPhysicalScope import are adjacent co-insertions true human
    fa7e54efbb7d fix(server): reconcile managed sessions after branch changes zmux-estate apps/server/src/ws.ts mechanical keep both: upstream's linkCreatedPullRequest import and the fork's CheckoutMutationCoordinator import are adjacent co-insertions true human
    f56a7de4093c feat(server): coordinate durable checkout moves zmux-estate apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.test.ts human keep both where both add: upstream's thread pull-request link, un-link and link-sync decider cases, client commands, contract payloads and event structs all stand, and the fork's thread.checkout-move.request/prepare cases, moveThreadCheckout command and thread.checkout-move-updated payload are added beside them with their own return blocks; in the projection the fork's checkoutMove field is grafted onto upstream's thread shell builders while upstream's mapThreadPullRequests/pullRequests shape stands, and the fork hunk's stale linkedPullRequest spreads are dropped because upstream replaced that field before this rebase, so no upstream line is dropped true human
    f56a7de4093c feat(server): coordinate durable checkout moves zmux-estate apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts human keep both where both add: upstream's thread pull-request link, un-link and link-sync decider cases, client commands, contract payloads and event structs all stand, and the fork's thread.checkout-move.request/prepare cases, moveThreadCheckout command and thread.checkout-move-updated payload are added beside them with their own return blocks; in the projection the fork's checkoutMove field is grafted onto upstream's thread shell builders while upstream's mapThreadPullRequests/pullRequests shape stands, and the fork hunk's stale linkedPullRequest spreads are dropped because upstream replaced that field before this rebase, so no upstream line is dropped true human
    f56a7de4093c feat(server): coordinate durable checkout moves zmux-estate apps/server/src/orchestration/decider.ts human keep both where both add: upstream's thread pull-request link, un-link and link-sync decider cases, client commands, contract payloads and event structs all stand, and the fork's thread.checkout-move.request/prepare cases, moveThreadCheckout command and thread.checkout-move-updated payload are added beside them with their own return blocks; in the projection the fork's checkoutMove field is grafted onto upstream's thread shell builders while upstream's mapThreadPullRequests/pullRequests shape stands, and the fork hunk's stale linkedPullRequest spreads are dropped because upstream replaced that field before this rebase, so no upstream line is dropped true human
    f56a7de4093c feat(server): coordinate durable checkout moves zmux-estate packages/client-runtime/src/operations/commands.ts human keep both where both add: upstream's thread pull-request link, un-link and link-sync decider cases, client commands, contract payloads and event structs all stand, and the fork's thread.checkout-move.request/prepare cases, moveThreadCheckout command and thread.checkout-move-updated payload are added beside them with their own return blocks; in the projection the fork's checkoutMove field is grafted onto upstream's thread shell builders while upstream's mapThreadPullRequests/pullRequests shape stands, and the fork hunk's stale linkedPullRequest spreads are dropped because upstream replaced that field before this rebase, so no upstream line is dropped true human
    f56a7de4093c feat(server): coordinate durable checkout moves zmux-estate packages/client-runtime/src/state/threadCommands.ts human keep both where both add: upstream's thread pull-request link, un-link and link-sync decider cases, client commands, contract payloads and event structs all stand, and the fork's thread.checkout-move.request/prepare cases, moveThreadCheckout command and thread.checkout-move-updated payload are added beside them with their own return blocks; in the projection the fork's checkoutMove field is grafted onto upstream's thread shell builders while upstream's mapThreadPullRequests/pullRequests shape stands, and the fork hunk's stale linkedPullRequest spreads are dropped because upstream replaced that field before this rebase, so no upstream line is dropped true human
    f56a7de4093c feat(server): coordinate durable checkout moves zmux-estate packages/contracts/src/orchestration.ts human keep both where both add: upstream's thread pull-request link, un-link and link-sync decider cases, client commands, contract payloads and event structs all stand, and the fork's thread.checkout-move.request/prepare cases, moveThreadCheckout command and thread.checkout-move-updated payload are added beside them with their own return blocks; in the projection the fork's checkoutMove field is grafted onto upstream's thread shell builders while upstream's mapThreadPullRequests/pullRequests shape stands, and the fork hunk's stale linkedPullRequest spreads are dropped because upstream replaced that field before this rebase, so no upstream line is dropped true human
    3999522d0003 feat(web): follow coordinated checkout moves zmux-estate apps/web/src/components/BranchToolbarBranchSelector.tsx seam-moved keep both: upstream's ThreadPullRequestBadgeControl badge stands and the fork's displayedCheckoutMove control is added beside it; the fork hunk's own branchPr/branchPrStatus badge markup is dropped because upstream replaced those bindings before this rebase and they no longer exist, so no upstream line is dropped; in docs/user/source-control.md upstream's linked-pull-request and GitHub-stacks sections stand and the fork's checkout-move section is appended true human
    3999522d0003 feat(web): follow coordinated checkout moves zmux-estate docs/user/source-control.md seam-moved keep both: upstream's ThreadPullRequestBadgeControl badge stands and the fork's displayedCheckoutMove control is added beside it; the fork hunk's own branchPr/branchPrStatus badge markup is dropped because upstream replaced those bindings before this rebase and they no longer exist, so no upstream line is dropped; in docs/user/source-control.md upstream's linked-pull-request and GitHub-stacks sections stand and the fork's checkout-move section is appended true human
    cdf1b03e3ca1 refactor(zmux-estate): move fork policy behind boundary modules upstream does not touch zmux-estate packages/client-runtime/src/operations/commands.ts seam-moved commit intent honoured: only the fork-owned checkout-move surface leaves the shared files, becoming export type { ThreadCheckoutMoveRequestInput as MoveThreadCheckoutInput } and export { requestThreadCheckoutMove as moveThreadCheckout } from checkoutMove.fork.ts; upstream's LinkThreadPullRequestInput/UnlinkThreadPullRequestInput types, its two command implementations and its LinkThreadPullRequestInput re-export all stand, because the fork hunk only deleted them as a side effect of predating them true human
    cdf1b03e3ca1 refactor(zmux-estate): move fork policy behind boundary modules upstream does not touch zmux-estate packages/client-runtime/src/state/threadCommands.ts seam-moved commit intent honoured: only the fork-owned checkout-move surface leaves the shared files, becoming export type { ThreadCheckoutMoveRequestInput as MoveThreadCheckoutInput } and export { requestThreadCheckoutMove as moveThreadCheckout } from checkoutMove.fork.ts; upstream's LinkThreadPullRequestInput/UnlinkThreadPullRequestInput types, its two command implementations and its LinkThreadPullRequestInput re-export all stand, because the fork hunk only deleted them as a side effect of predating them true human
    becb66e9085f chore(fork-sync): repair additive after v0.0.41-nightly.20260908.1414 fork-meta apps/server/src/pullRequest/PullRequestService.test.ts retire-candidate the repair's re-added reads a repository that does not belong to the requested project block is dropped: it is a stale hunk that inverts an upstream case, and upstream's host-aware requireProject now refuses exactly that hostless foreign-repository reference, so the block would fail; this walk already recorded at 2379b6921cba that upstream's resolution supersedes the fork's guard removal and at f54913fafa28 that the fork contract moved to PullRequestService.fork.test.ts naming its host; upstream's own refuses a repository that does not belong to the requested project test, which the superseded fork commit had removed, is restored here so no upstream line is dropped true human
    9c604f8fd7e4 fix(fork): make the required statuses green on clean trunk fork-meta apps/server/src/pullRequest/PullRequestService.test.ts mechanical the fork hunk only reflows the getDiff provider literal inside the block this walk dropped at becb66e9085f, so it is stale; upstream's providers: [fakeProvider("github")], in the restored refusal test stands and no upstream line is dropped true human

    Automerged overlap review

    fork-sync gate 1 orientation

    target: v0.0.41-nightly.20260910.1473@b7b3ef1e6fcb5c22a9790d2578fe8af7ce396835
    nightly tag; the apply gate needs --allow-nightly, reachable from upstream/main
    source: origin/hyprws@1f7f253232ee745791d9f40eab18fe81908009ef
    shared base: e16b8b0
    mirror: origin/main matches upstream/main at 0f602b3
    dependencies: node_modules is present

    Feasibility

    3 of 9 upstream commits clean; first conflict afb8489 feat(pull-requests): link multiple pull requests to threads (#10839)

    21 conflicting files:

    • apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.test.ts (2 hunks)
    • apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts (6 hunks)
    • apps/server/src/orchestration/decider.ts (2 hunks)
    • apps/server/src/provider/Layers/CodexSessionRuntime.ts (2 hunks)
    • apps/server/src/pullRequest/PullRequestService.test.ts (1 hunks)
    • apps/server/src/pullRequest/PullRequestService.ts (2 hunks)
    • apps/server/src/ws.ts (4 hunks)
    • apps/web/src/components/BranchToolbarBranchSelector.tsx (1 hunks)
    • apps/web/src/components/ChatMarkdown.tsx (1 hunks)
    • apps/web/src/components/ChatView.tsx (5 hunks)
    • apps/web/src/components/CommandPalette.logic.ts (1 hunks)
    • apps/web/src/components/RightPanelTabs.test.tsx (1 hunks)
    • apps/web/src/components/RightPanelTabs.tsx (10 hunks)
    • apps/web/src/components/Sidebar.tsx (2 hunks)
    • apps/web/src/lib/openPullRequestLink.ts (4 hunks)
    • apps/web/src/rightPanelStore.ts (3 hunks)
    • apps/web/src/routes/_chat.pull-requests.tsx (4 hunks)
    • docs/user/source-control.md (1 hunks)
    • packages/client-runtime/src/operations/commands.ts (2 hunks)
    • packages/client-runtime/src/state/threadCommands.ts (3 hunks)
    • packages/contracts/src/orchestration.ts (6 hunks)

    Automerged overlap

    208 upstream-changed, 688 fork-changed, 63 overlap (21 hard-conflict, 42 automerged)

    Automerged files are a semantic review surface, not proof the fork behavior survived:

    • apps/mobile/src/state/use-selected-thread-git-actions.ts
    • apps/server/integration/OrchestrationEngineHarness.integration.ts
    • apps/server/src/auth/RpcAuthorization.ts
    • apps/server/src/environment/ServerEnvironment.test.ts
    • apps/server/src/environment/ServerEnvironment.ts
    • apps/server/src/orchestration/Layers/OrchestrationEngine.test.ts
    • apps/server/src/orchestration/Layers/ProjectionPipeline.test.ts
    • apps/server/src/orchestration/Layers/ProjectionPipeline.ts
    • apps/server/src/orchestration/Schemas.ts
    • apps/server/src/orchestration/projector.ts
    • apps/server/src/project/AgentSessionImporter.test.ts
    • apps/server/src/provider/Layers/CodexAdapter.ts
    • apps/server/src/provider/Layers/ProviderService.test.ts
    • apps/server/src/provider/Layers/ProviderService.ts
    • apps/server/src/provider/Layers/ProviderSessionReaper.test.ts
    • apps/server/src/pullRequest/GitHubPullRequestCli.ts
    • apps/server/src/pullRequest/GitHubPullRequestProvider.ts
    • apps/server/src/pullRequest/PullRequestProvider.ts
    • apps/server/src/server.test.ts
    • apps/server/src/server.ts
    • apps/web/src/components/ChatMarkdown.test.tsx
    • apps/web/src/components/ChatView.logic.ts
    • apps/web/src/components/CommandPalette.tsx
    • apps/web/src/components/GitActionsControl.tsx
    • apps/web/src/components/LegacySidebar.tsx
    • apps/web/src/components/Sidebar.logic.test.ts
    • apps/web/src/components/Sidebar.logic.ts
    • apps/web/src/components/chat/ChatComposer.tsx
    • apps/web/src/components/chat/MessagesTimeline.tsx
    • apps/web/src/components/pullRequest/PullRequestSummaryTab.tsx
    • apps/web/src/rightPanelStore.test.ts
    • apps/web/src/state/pullRequests.ts
    • docs/internals/glossary.md
    • packages/client-runtime/package.json
    • packages/client-runtime/src/state/pullRequests.ts
    • packages/client-runtime/src/state/threadReducer.test.ts
    • packages/client-runtime/src/state/threadReducer.ts
    • packages/contracts/src/environment.ts
    • packages/contracts/src/git.ts
    • packages/contracts/src/pullRequest.ts
    • packages/contracts/src/rpc.ts
    • packages/shared/package.json

    Retire candidates

    [keep] refactor(web): centralize thread route navigation (project-windows)
    behaviour-overlap: weak hunk overlap: apps/web/src/components/CommandPalette.tsx@1832-18341831-1844
    [keep] feat(web): open project windows from hub actions (project-windows)
    behaviour-overlap: weak hunk overlap: apps/web/src/components/Sidebar.tsx@81
    79
    [keep] feat(server): bind thread worktrees to a managed zmux session (zmux-estate)
    behaviour-overlap: hard: apps/server/src/ws.ts (4 hunks)
    [candidate] feat(agents): select custom main-thread agents (#31) (custom-agents)
    behaviour-overlap: hard: apps/server/src/provider/Layers/CodexSessionRuntime.ts (2 hunks); weak hunk overlap: apps/server/src/provider/Layers/CodexAdapter.ts@22882286
    [candidate] feat(web): scope pull requests to project windows (project-windows)
    behaviour-overlap: hard: apps/web/src/routes/_chat.pull-requests.tsx (4 hunks)
    [keep] feat(issues): add GitHub Issues surface scoped to project windows (github-issues)
    behaviour-overlap: hard: apps/web/src/components/CommandPalette.logic.ts (1 hunk), apps/web/src/components/RightPanelTabs.tsx (10 hunks), apps/web/src/lib/openPullRequestLink.ts (4 hunks), apps/web/src/rightPanelStore.ts (3 hunks); weak hunk overlap: apps/server/src/environment/ServerEnvironment.test.ts@171
    172, apps/server/src/ws.ts@146147-150, apps/web/src/components/ChatView.tsx@204-207206-207, apps/web/src/components/CommandPalette.tsx@8986, apps/web/src/components/CommandPalette.tsx@130132, apps/web/src/state/pullRequests.ts@81-8577-80, docs/user/source-control.md@89-10694-129, packages/contracts/src/rpc.ts@352-355349-350, packages/contracts/src/rpc.ts@635-653655-666
    [candidate] feat(web): make issue handoff prompt configurable (#118) (github-issues)
    behaviour-overlap: weak hunk overlap: docs/user/source-control.md@103-10694-129
    [keep] feat(server): run Worktrunk hooks around thread worktrees (worktrunk-hooks)
    behaviour-overlap: weak hunk overlap: apps/server/src/ws.ts@128
    128
    [keep] fix(web): returning to a thread focuses the composer, not its terminal (upstream-fixes)
    behaviour-overlap: weak hunk overlap: apps/web/src/components/ChatView.tsx@80958091-8095, apps/web/src/components/ChatView.tsx@80958097-8098
    [keep] feat(web): move Worktrunk hook controls onto the worktree surfaces (worktrunk-hooks)
    behaviour-overlap: weak hunk overlap: apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts@20622065, packages/contracts/src/orchestration.ts@687622-695
    [keep] feat: New worktrunk thread mode replaces the Worktrunk hook switches (worktrunk-hooks)
    behaviour-overlap: weak hunk overlap: apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts@2056,02055, packages/contracts/src/orchestration.ts@682,0622-695
    [candidate] fix(web): add Issues to right-panel launchers (#193) (github-issues)
    behaviour-overlap: hard: apps/web/src/components/ChatView.tsx (5 hunks), apps/web/src/components/RightPanelTabs.test.tsx (1 hunk); weak hunk overlap: apps/web/src/components/RightPanelTabs.tsx@115115, apps/web/src/components/RightPanelTabs.tsx@172-254175, apps/web/src/components/RightPanelTabs.tsx@382378-387, apps/web/src/components/RightPanelTabs.tsx@384,0378-387, apps/web/src/components/RightPanelTabs.tsx@386378-387, apps/web/src/components/RightPanelTabs.tsx@389,0378-387, apps/web/src/components/RightPanelTabs.tsx@790786-788, apps/web/src/rightPanelStore.ts@2929
    [keep] fix(web): retain completed thread timing (upstream-fixes)
    behaviour-overlap: hard: apps/web/src/components/Sidebar.tsx (2 hunks); weak hunk overlap: apps/web/src/components/Sidebar.logic.test.ts@3230
    [candidate] fix(server): bound child-work detail responses (custom-agents)
    behaviour-overlap: weak hunk overlap: apps/server/src/server.test.ts@119-120
    120
    [keep] feat(web): add GitHub link destination controls (#178) (github-issues)
    behaviour-overlap: hard: apps/server/src/pullRequest/PullRequestService.ts (2 hunks), apps/web/src/components/ChatMarkdown.tsx (1 hunk); weak hunk overlap: apps/web/src/lib/openPullRequestLink.ts@1720-27, docs/user/source-control.md@96-10494-129, docs/user/source-control.md@10994-129
    [partial] fix(web): upload media in pull request descriptions (upstream-fixes)
    behaviour-overlap: hard: apps/server/src/pullRequest/PullRequestService.test.ts (1 hunk); weak hunk overlap: apps/server/src/pullRequest/GitHubPullRequestCli.ts@334-347
    341, apps/server/src/pullRequest/GitHubPullRequestProvider.ts@5150-51, apps/server/src/pullRequest/GitHubPullRequestProvider.ts@565-567563-566, apps/server/src/pullRequest/PullRequestService.ts@1514, apps/server/src/pullRequest/PullRequestService.ts@7375, apps/server/src/pullRequest/PullRequestService.ts@553555-559, apps/server/src/pullRequest/PullRequestService.ts@1609-16811608, apps/server/src/pullRequest/PullRequestService.ts@1609-16811626-1629, apps/server/src/pullRequest/PullRequestService.ts@1609-16811634-1636, apps/server/src/pullRequest/PullRequestService.ts@1609-16811638-1642, apps/server/src/ws.ts@2238-22492247-2263, packages/client-runtime/src/state/pullRequests.ts@183-194183, packages/contracts/src/pullRequest.ts@421-425416-421, packages/contracts/src/pullRequest.ts@910-952926-931, packages/contracts/src/pullRequest.ts@910-952933-935, packages/contracts/src/rpc.ts@113-115118-119, packages/contracts/src/rpc.ts@653655-666
    [candidate] feat(server): preserve child result and diff detail (custom-agents)
    behaviour-overlap: weak hunk overlap: apps/server/src/server.test.ts@120120
    [candidate] feat(web): open child work from the Agents panel (custom-agents)
    behaviour-overlap: weak hunk overlap: packages/client-runtime/src/state/threadReducer.ts@34-35
    25-47, packages/client-runtime/src/state/threadReducer.ts@40-5925-47
    [keep] fix(contracts): released clients decode threads from a worktrunk server (#233) (worktrunk-hooks)
    behaviour-overlap: weak hunk overlap: apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.test.ts@55-99
    70, apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.test.ts@55-9996-134, apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts@28072779-2824, packages/contracts/src/orchestration.ts@685-689622-695, packages/contracts/src/orchestration.ts@691622-695
    [candidate] fix(web): make sidebar group drops forgiving (thread-ordering)
    behaviour-overlap: weak hunk overlap: apps/web/src/components/Sidebar.logic.test.ts@2730, apps/web/src/components/Sidebar.tsx@168169
    [candidate] fix(web): preview sidebar group dissolution (thread-ordering)
    behaviour-overlap: weak hunk overlap: apps/web/src/components/Sidebar.logic.test.ts@2830
    [candidate] ci(fork): run the matrix on merge_group, not on ready (distribution)
    already-upstream: the target tree already contains this commit's patch
    [candidate] docs(fork): read the blocked issue body at gate 1 (distribution)
    already-upstream: the target tree already contains this commit's patch
    [candidate] fix(fork): name the real nightly condition in orientation (distribution)
    already-upstream: the target tree already contains this commit's patch
    [candidate] docs(fork): name the rehearsal lane after the head it replays (distribution)
    already-upstream: the target tree already contains this commit's patch
    [candidate] docs(fork): restore the lockfile before the rehearsed rebase (distribution)
    already-upstream: the target tree already contains this commit's patch
    [candidate] docs(fork): assign the target tag inside the gate 1 block (distribution)
    already-upstream: the target tree already contains this commit's patch
    [candidate] docs(fork): install before the gate 3 scan (distribution)
    already-upstream: the target tree already contains this commit's patch
    [candidate] docs(fork): tell registry drift from manifest drift after the replay (distribution)
    already-upstream: the target tree already contains this commit's patch
    [candidate] fix(fork): print the repair each scan gap class needs (distribution)
    already-upstream: the target tree already contains this commit's patch
    [candidate] docs(fork): keep fork tests in fork-owned files (thread-ordering)
    behaviour-overlap: weak hunk overlap: apps/web/src/components/Sidebar.logic.test.ts@29,0
    30
    [candidate] refactor(web): isolate project-window pull request scope (project-windows)
    behaviour-overlap: weak hunk overlap: apps/web/src/routes/_chat.pull-requests.tsx@107-109102-105, apps/web/src/routes/_chat.pull-requests.tsx@157-194169-170, apps/web/src/routes/_chat.pull-requests.tsx@244-306271-273, apps/web/src/routes/_chat.pull-requests.tsx@375,0378, apps/web/src/routes/_chat.pull-requests.tsx@377-381378, apps/web/src/routes/_chat.pull-requests.tsx@389,0390
    [candidate] refactor(sidebar): isolate physical scope from upstream derivation (project-windows)
    behaviour-overlap: weak hunk overlap: apps/web/src/components/Sidebar.tsx@1-51-6, apps/web/src/components/Sidebar.tsx@171,0169
    [candidate] fix(server): reconcile managed sessions after branch changes (zmux-estate)
    behaviour-overlap: weak hunk overlap: apps/server/src/server.ts@9796, apps/server/src/ws.ts@128128, apps/server/src/ws.ts@486-487485, apps/server/src/ws.ts@486-487487-496, apps/server/src/ws.ts@495487-496
    [candidate] feat(server): coordinate durable checkout moves (zmux-estate)
    behaviour-overlap: hard: apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.test.ts (2 hunks), apps/server/src/orchestration/Layers/ProjectionSnapshotQuery.ts (6 hunks), apps/server/src/orchestration/decider.ts (2 hunks), packages/client-runtime/src/operations/commands.ts (2 hunks), packages/client-runtime/src/state/threadCommands.ts (3 hunks), packages/contracts/src/orchestration.ts (6 hunks); weak hunk overlap: apps/server/src/orchestration/Layers/ProjectionPipeline.ts@611
    609-612, apps/server/src/orchestration/Layers/ProjectionPipeline.ts@827-853834-921
    [candidate] feat(web): follow coordinated checkout moves (zmux-estate)
    behaviour-overlap: hard: apps/web/src/components/BranchToolbarBranchSelector.tsx (1 hunk), docs/user/source-control.md (1 hunk)
    [candidate] fix(web): follow upstream pull-request listing behind the project scope seam (project-windows)
    behaviour-overlap: weak hunk overlap: apps/web/src/routes/_chat.pull-requests.tsx@394-406
    394, apps/web/src/routes/_chat.pull-requests.tsx@394-406397
    [candidate] refactor(web): read physical sidebar scope from an ambient provider (project-windows)
    behaviour-overlap: weak hunk overlap: apps/web/src/components/Sidebar.tsx@6
    1-6
    [candidate] refactor(zmux-estate): move fork policy behind boundary modules upstream does not touch (zmux-estate)
    behaviour-overlap: weak hunk overlap: apps/server/src/orchestration/Layers/ProjectionPipeline.ts@41-4439, apps/server/src/orchestration/Layers/ProjectionPipeline.ts@614,0609-612, apps/server/src/orchestration/Layers/ProjectionPipeline.ts@839834-921, apps/server/src/orchestration/Layers/ProjectionPipeline.ts@853-854834-921, packages/client-runtime/src/operations/commands.ts@47-4947-48, packages/client-runtime/src/operations/commands.ts@258257-274, packages/client-runtime/src/state/threadCommands.ts@64,067
    [candidate] refactor(worktrunk-hooks): move the thread-mode fork boundary behind fork-owned modules (worktrunk-hooks)
    behaviour-overlap: weak hunk overlap: apps/server/src/orchestration/projector.ts@41
    44-46, packages/contracts/src/orchestration.ts@691-693622-695
    [candidate] chore(fork-sync): repair additive after v0.0.41-nightly.20260908.1414 (fork-meta)
    behaviour-overlap: weak hunk overlap: apps/server/src/pullRequest/PullRequestService.test.ts@1557-1574
    1576-1858, apps/web/src/routes/_chat.pull-requests.tsx@389390, apps/web/src/routes/_chat.pull-requests.tsx@391390, apps/web/src/routes/_chat.pull-requests.tsx@391~394

    upstream-watch against v0.0.41-nightly.20260910.1473

    #145 [waiting] [📡#110] preview_open answers "open failed on client" when the reused tab cannot load the page
    #154 [uncited] [📡#110] Bulk thread deletion prompts for every orphaned worktree
    #182 [waiting] [📡#110] Repo-local skills are missing from Codex and Claude command menus
    #199 [waiting] [📍] A duplicate desktop instance runs a second server on the same data directory and shows an empty hub
    #206 [fix-uncited] [📥] play video uploads in place in the pull request Summary tab (review evidence without leaving the app)
    #240 [uncited] hyprws CI Test Server 2 job goes red then passes on rerun from upstream's ProviderRegistry re-probe test [📡#110]
    #367 [uncited] hyprws CI Test job goes red on fork-only commits from upstream's composer inline token perf budget [📡#110]
    #385 [ready] Claude model catalog moves to the remote manifest upstream; fork waits instead of patching [📡#110]
    #414 [fix-uncited] Dead Claude adapter session leaves thread un-settleable until deleted [📡#110]
    #415 [waiting] Moved project folder fails every thread with a generic runtime error and cannot be repointed [📡#110]
    #735 [waiting] desktop attaches to a backend it did not spawn [📡#734]
    #737 [waiting] two servers can open one state directory [📡#734]
    #740 [waiting] desktop exits silently on Hyprland with no crash diagnostics [📍]

    Fork commits

    Exact subject Domain Class summary Action Grounding claim Decided by
    refactor(web): centralize thread route navigation project-windows orientation: keep keep n/a — no product grounding claim human
    feat(web): open project windows from hub actions project-windows orientation: keep keep n/a — no product grounding claim human
    feat(server): bind thread worktrees to a managed zmux session zmux-estate orientation: keep keep n/a — no product grounding claim human
    feat(agents): select custom main-thread agents (#31) custom-agents orientation: candidate; retire-candidate; target-tree: @effect/vitest at apps/desktop/package.json:35; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    feat(web): scope pull requests to project windows project-windows orientation: candidate; retire-candidate; target-tree: @t3tools/contracts at apps/desktop/src/app/DesktopAppActivation.test.ts:12; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    feat(issues): add GitHub Issues surface scoped to project windows github-issues orientation: keep keep n/a — no product grounding claim human
    feat(web): make issue handoff prompt configurable (#118) github-issues orientation: candidate; retire-candidate; target-tree: @t3tools/contracts at apps/desktop/src/app/DesktopAppActivation.test.ts:12 keep n/a — no product grounding claim human
    feat(server): run Worktrunk hooks around thread worktrees worktrunk-hooks orientation: keep keep n/a — no product grounding claim human
    fix(web): returning to a thread focuses the composer, not its terminal upstream-fixes orientation: keep keep n/a — no product grounding claim human
    feat(web): move Worktrunk hook controls onto the worktree surfaces worktrunk-hooks orientation: keep keep n/a — no product grounding claim human
    feat: New worktrunk thread mode replaces the Worktrunk hook switches worktrunk-hooks orientation: keep keep n/a — no product grounding claim human
    fix(web): add Issues to right-panel launchers (#193) github-issues orientation: candidate; retire-candidate; target-tree: absent; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    fix(web): retain completed thread timing upstream-fixes orientation: keep keep n/a — no product grounding claim human
    fix(server): bound child-work detail responses custom-agents orientation: candidate; retire-candidate; target-tree: effect/Schema at apps/desktop/src/app/DesktopApp.ts:5 keep n/a — no product grounding claim human
    feat(web): add GitHub link destination controls (#178) github-issues orientation: keep; human; human; human; human keep n/a — no product grounding claim human
    fix(web): upload media in pull request descriptions upstream-fixes orientation: partial partial n/a — no product grounding claim human
    feat(server): preserve child result and diff detail custom-agents orientation: candidate; retire-candidate; target-tree: effect/Schema at apps/desktop/src/app/DesktopApp.ts:5; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    feat(web): open child work from the Agents panel custom-agents orientation: candidate; retire-candidate; target-tree: @t3tools/contracts at apps/desktop/package.json:21; inherited from v0.0.38-nightly.20260831.1236 keep n/a — no product grounding claim inherited (v0.0.38-nightly.20260831.1236)
    fix(contracts): released clients decode threads from a worktrunk server (#233) worktrunk-hooks orientation: keep keep n/a — no product grounding claim human
    fix(web): make sidebar group drops forgiving thread-ordering orientation: candidate; retire-candidate; target-tree: absent; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    fix(web): preview sidebar group dissolution thread-ordering orientation: candidate; retire-candidate; target-tree: absent; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    ci(fork): run the matrix on merge_group, not on ready distribution orientation: candidate; retire-candidate; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    docs(fork): read the blocked issue body at gate 1 distribution orientation: candidate; retire-candidate; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    fix(fork): name the real nightly condition in orientation distribution orientation: candidate; retire-candidate; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    docs(fork): name the rehearsal lane after the head it replays distribution orientation: candidate; retire-candidate; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    docs(fork): restore the lockfile before the rehearsed rebase distribution orientation: candidate; retire-candidate; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    docs(fork): assign the target tag inside the gate 1 block distribution orientation: candidate; retire-candidate; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    docs(fork): install before the gate 3 scan distribution orientation: candidate; retire-candidate; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    docs(fork): tell registry drift from manifest drift after the replay distribution orientation: candidate; retire-candidate; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    fix(fork): print the repair each scan gap class needs distribution orientation: candidate; retire-candidate; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    docs(fork): keep fork tests in fork-owned files thread-ordering orientation: candidate; retire-candidate; target-tree: @t3tools/contracts at apps/desktop/src/app/DesktopAppActivation.test.ts:12; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    refactor(web): isolate project-window pull request scope project-windows orientation: candidate; retire-candidate; target-tree: @t3tools/contracts at apps/desktop/src/app/DesktopAppActivation.test.ts:12 keep n/a — no product grounding claim human
    refactor(sidebar): isolate physical scope from upstream derivation project-windows orientation: candidate; retire-candidate; target-tree: @t3tools/contracts at apps/desktop/src/app/DesktopAppActivation.test.ts:12; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    fix(server): reconcile managed sessions after branch changes zmux-estate orientation: candidate; retire-candidate; target-tree: effect/Effect at apps/desktop/src/app/DesktopApp.ts:2; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    feat(server): coordinate durable checkout moves zmux-estate orientation: candidate; retire-candidate; target-tree: @t3tools/contracts at apps/desktop/package.json:21; human; human; human; human; human; human; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    feat(web): follow coordinated checkout moves zmux-estate orientation: candidate; retire-candidate; target-tree: @t3tools/contracts at apps/desktop/src/app/DesktopAppActivation.test.ts:12; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    fix(web): follow upstream pull-request listing behind the project scope seam project-windows orientation: candidate; retire-candidate; target-tree: @t3tools/contracts at apps/desktop/src/app/DesktopAppActivation.test.ts:12 keep n/a — no product grounding claim human
    refactor(web): read physical sidebar scope from an ambient provider project-windows orientation: candidate; retire-candidate; target-tree: @t3tools/contracts at apps/desktop/src/app/DesktopAppActivation.test.ts:12; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    refactor(zmux-estate): move fork policy behind boundary modules upstream does not touch zmux-estate orientation: candidate; retire-candidate; target-tree: effect/Effect at apps/desktop/src/app/DesktopApp.ts:2; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    refactor(worktrunk-hooks): move the thread-mode fork boundary behind fork-owned modules worktrunk-hooks orientation: candidate; retire-candidate; target-tree: @t3tools/contracts at apps/desktop/package.json:21; inherited from v0.0.41-nightly.20260908.1414 keep n/a — no product grounding claim inherited (v0.0.41-nightly.20260908.1414)
    chore(fork-sync): repair additive after v0.0.41-nightly.20260908.1414 fork-meta orientation: candidate; retire-candidate; target-tree: @t3tools/contracts at apps/desktop/src/app/DesktopAppActivation.test.ts:12; retire-candidate keep n/a — no product grounding claim human

    Silent seams

    • apps/server/src/githubIssue/GitHubIssueService.ts [type]: upstream moved repositoryIdentityOf to sourceControlRepositorySelector in @t3tools/shared/sourceControl with a byte-identical body; the fork import follows it
    • apps/server/src/orchestration/decider.checkoutMove.fork.test.ts [type]: upstream added the required pullRequests field to the thread shell; the fork fixture declares it empty
    • apps/server/src/pullRequest/PullRequestService.fork.test.ts [type]: upstream added PullRequestReadCache to the service context; the fork harness provides the same memory-backed layer as the shared test
    • apps/web/src/components/CommandPalette.tsx [type]: upstream added buildThreadRouteParams beside resolveThreadRouteTarget; the dropped import is restored
    • apps/web/src/components/CommandPalette.logic.test.ts [type]: upstream removed the browseInputEndPaddingClass describe from the shared file; the fork copy in CommandPalette.logic.fork.test.ts is the surviving one
    • apps/web/src/components/RightPanelTabs.fork.test.tsx [type]: upstream added the onAddPullRequests and pullRequestsAvailable props; the fork render declares both
    • apps/web/src/components/sidebar/SidebarPhysicalScope.fork.test.ts [type]: upstream renamed searchSidebarThreadsByTitle to searchSidebarThreads; the fork test follows the rename
    • apps/web/src/worktreeCleanup.fork.test.ts [type]: upstream added the required pullRequests field to EnvironmentThread; the fork fixture declares it empty
    • packages/client-runtime/src/state/threadReducer.fork.test.ts [type]: upstream added the required pullRequests field to OrchestrationThread; the fork fixture declares it empty
    • apps/web/src/components/ChatMarkdown.fork.test.tsx [type]: upstream added useServerConfigs to the state/entities surface the shared test already mocks; the fork mock declares it too

    Decisions

    • 4bbd323fd90452352060b4a53cc6df7e75c059fb591d3a35deb78b5d80650235 (conflict, keep-both, machine, 2026-09-10T04:38:26.784Z) at apps/server/src/ws.ts
    • refactor(web): centralize thread route navigation (retire, kept, machine, 2026-09-10T04:38:26.784Z)
    • feat(web): open project windows from hub actions (retire, kept, machine, 2026-09-10T04:38:26.784Z)
    • feat(server): bind thread worktrees to a managed zmux session (retire, kept, machine, 2026-09-10T04:38:26.784Z)
    • feat(issues): add GitHub Issues surface scoped to project windows (retire, kept, machine, 2026-09-10T04:38:26.784Z)
    • feat(server): run Worktrunk hooks around thread worktrees (retire, kept, machine, 2026-09-10T04:38:26.784Z)
    • fix(web): returning to a thread focuses the composer, not its terminal (retire, kept, machine, 2026-09-10T04:38:26.784Z)
    • feat(web): move Worktrunk hook controls onto the worktree surfaces (retire, kept, machine, 2026-09-10T04:38:26.784Z)
    • feat: New worktrunk thread mode replaces the Worktrunk hook switches (retire, kept, machine, 2026-09-10T04:38:26.784Z)
    • fix(web): retain completed thread timing (retire, kept, machine, 2026-09-10T04:38:26.784Z)
    • feat(web): add GitHub link destination controls (#178) (retire, kept, machine, 2026-09-10T04:38:26.784Z)
    • fix(web): upload media in pull request descriptions (retire, partial, machine, 2026-09-10T04:38:26.784Z)
    • fix(contracts): released clients decode threads from a worktrunk server (#233) (retire, kept, machine, 2026-09-10T04:38:26.784Z)

    Repair commits

    • c6a47162883af2c04a0725ca63fe61bb274bcca5 chore(fork-sync): repair typecheck after v0.0.41-nightly.20260910.1473

    Additive

    • pass: true
    • attempts: 1
    • findings: 0
    • fixed: 0

    Verification

    • vp run --no-cache fork:scan --target v0.0.41-nightly.20260910.1473: passed
    • vp run --no-cache fork:delta --check: passed
    • vp run --filter ./apps/mobile typecheck: passed
    • vp run --filter ./apps/server typecheck: passed
    • vp run --filter ./apps/web typecheck: passed
    • vp run --filter ./packages/client-runtime typecheck: passed
    • vp run --filter ./packages/contracts typecheck: passed
    • vp run --filter ./packages/shared typecheck: passed
    • apps/server: vp test run src/auth/RpcAuthorization.fork.test.ts src/auth/RpcAuthorization.test.ts src/environment/ServerEnvironment.test.ts src/orchestration/Layers/OrchestrationEngine.test.ts src/orchestration/Layers/ProjectionPipeline.test.ts src/orchestration/Layers/ProjectionSnapshotQuery.fork.test.ts src/orchestration/Layers/ProjectionSnapshotQuery.test.ts src/orchestration/projector.test.ts src/project/AgentSessionImporter.test.ts src/provider/Layers/CodexAdapter.fork.test.ts src/provider/Layers/CodexAdapter.test.ts src/provider/Layers/CodexSessionRuntime.fork.test.ts src/provider/Layers/CodexSessionRuntime.test.ts src/provider/Layers/ProviderService.fork.test.ts src/provider/Layers/ProviderService.test.ts src/provider/Layers/ProviderSessionReaper.test.ts src/pullRequest/GitHubPullRequestCli.fork.test.ts src/pullRequest/GitHubPullRequestCli.test.ts src/pullRequest/GitHubPullRequestProvider.test.ts src/pullRequest/PullRequestService.fork.test.ts src/pullRequest/PullRequestService.test.ts src/server.test.ts: passed
    • apps/web: vp test run src/components/ChatMarkdown.fork.test.tsx src/components/ChatMarkdown.test.tsx src/components/ChatView.logic.fork.test.ts src/components/ChatView.logic.test.ts src/components/CommandPalette.logic.fork.test.ts src/components/CommandPalette.logic.test.ts src/components/RightPanelTabs.fork.test.tsx src/components/RightPanelTabs.test.tsx src/components/Sidebar.logic.fork.test.ts src/components/Sidebar.logic.test.ts src/components/chat/MessagesTimeline.test.tsx src/lib/openPullRequestLink.fork.test.ts src/lib/openPullRequestLink.test.ts src/rightPanelStore.fork.test.ts src/rightPanelStore.test.ts: passed
    • packages/client-runtime: vp test run src/operations/commands.test.ts src/state/pullRequests.test.ts src/state/threadReducer.fork.test.ts src/state/threadReducer.test.ts: passed
    • packages/contracts: vp test run src/environment.fork.test.ts src/environment.test.ts src/git.test.ts src/orchestration.fork.test.ts src/orchestration.test.ts src/pullRequest.fork.test.ts src/pullRequest.test.ts src/rpc.test.ts: passed
    • vp run --no-cache fork:delta --check: passed

    Nightly review

    • Proposer: TODO
    • Reviewer: TODO
    • Verdict: TODO
    • Review evidence set:
      • generated target
      • blocking marker
      • every non-mechanical verdict
      • rehearsal evidence
      • pushed-lane CI
      • silent seams
      • live expected-old lease
    • Withhold on:
      • undefined fork intent
      • non-equivalent retire
      • user-visible behaviour change
      • fork domain or tier topology change
      • bypass of a gate
      • evidence cannot be verified

    Grounding

    None.

    land

  5. donjor commented on Sep 10, 2026

    @donjor

    Resolved blocking upstream commit afb84898be3bf9b83bd4cb98c608b79c433579cc while rebasing hyprws onto v0.0.41-nightly.20260910.1473; the leased rewrite replaced 1f7f253232ee745791d9f40eab18fe81908009ef. Rehearsal record: #733 (comment)

  6. github-actions commented on Sep 10, 2026

    @github-actions
    Author

    Resolved by hyprws c6a4716.

  7. 9 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

cicontinuous integration and pipelinesrebase-blockedThe fork stack conflicts with newer upstream history

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions