Skip to content

feat(code): enable branch linking for local tasks#1595

Merged
adboio merged 1 commit into
mainfrom
04-09-feat_code_enable_branch_linking_for_local_tasks
Apr 13, 2026
Merged

feat(code): enable branch linking for local tasks#1595
adboio merged 1 commit into
mainfrom
04-09-feat_code_enable_branch_linking_for_local_tasks

Conversation

@adboio
Copy link
Copy Markdown
Contributor

@adboio adboio commented Apr 9, 2026

Problem

to build a good task wrap-up flow, we need to know which branch belongs to a given task

Changes

adds automatic branch linking for local tasks. no UI/UX around this yet, nothing uses this data yet, just storing it

agent scenarios:

scenario current linkedBranch agent editing on... result
agent edits on feature branch null feat-a linkedBranch = feat-a
agent edits on same linked branch feat-a feat-a no change
agent switches to a new feature branch feat-a feaet-b linkedBranch = feat-b
agent edits on default branch feat-a main no change
agent edits on default branch, never linked null main no change

ui scenarios:

scenario result
"new branch" button linkedBranch = new branch
"create PR" flow creates a branch linkedBranch = new branch
"create PR" flow on existing branch linkedBranch = new branch
branch creation fails no change
PR creation fails no change

How did you test this?

manually

Copy link
Copy Markdown
Contributor Author

adboio commented Apr 9, 2026

@adboio adboio force-pushed the 04-09-feat_code_enable_branch_linking_for_local_tasks branch from 0b99da5 to 920a050 Compare April 9, 2026 18:35
@adboio adboio force-pushed the 04-09-feat_code_add_linked_branch_db_model branch 2 times, most recently from 42b9a45 to c513b99 Compare April 9, 2026 18:36
@adboio adboio force-pushed the 04-09-feat_code_enable_branch_linking_for_local_tasks branch 2 times, most recently from 3851b2a to 9deb3b7 Compare April 9, 2026 18:37
@adboio adboio force-pushed the 04-09-feat_code_add_linked_branch_db_model branch from c513b99 to 473e4f5 Compare April 9, 2026 18:37
@adboio adboio marked this pull request as ready for review April 9, 2026 18:39
@adboio adboio requested a review from a team April 9, 2026 18:39
const defaultBranch = await getDefaultBranch(folderPath);
if (branchName === defaultBranch) return;
} catch {
// If we can't determine the default branch, still allow linking
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if that's the right choice here. Maybe we can fall back to a more sensible catch all here (e.g. main/master etc) :thinking_face:

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good looks, wasn't sure if this was best option... maybe we can just block linking in this case? i expect it'd be rare, i can pop a posthog event here so we can monitor

@adboio adboio changed the base branch from 04-09-feat_code_add_linked_branch_db_model to graphite-base/1595 April 10, 2026 15:35
@adboio adboio force-pushed the graphite-base/1595 branch from 473e4f5 to 817e5e0 Compare April 10, 2026 15:36
@adboio adboio force-pushed the 04-09-feat_code_enable_branch_linking_for_local_tasks branch from 9deb3b7 to 804359b Compare April 10, 2026 15:36
@graphite-app graphite-app Bot changed the base branch from graphite-base/1595 to main April 10, 2026 15:36
@adboio adboio force-pushed the 04-09-feat_code_enable_branch_linking_for_local_tasks branch from 804359b to ab59a63 Compare April 10, 2026 15:36
@adboio adboio force-pushed the 04-09-feat_code_enable_branch_linking_for_local_tasks branch from ab59a63 to 75a5057 Compare April 13, 2026 16:29
@adboio adboio merged commit de8c55d into main Apr 13, 2026
16 checks passed
Copy link
Copy Markdown
Contributor Author

adboio commented Apr 13, 2026

Merge activity

@adboio adboio deleted the 04-09-feat_code_enable_branch_linking_for_local_tasks branch April 13, 2026 16:35
adboio added a commit that referenced this pull request Apr 20, 2026
## Problem

we want task isolation, but we can only do so much with local tasks, since they are simply not in an isolated environment

downstack #1594 + #1595 add automatic branch linking to tasks, so when an agent touches a file, or an agent/human creates a branch from posthog code, we associate that branch to that task

now, we need a way to keep the user in the loop on what's happening, and steer them in the right direction

<!-- Who is this for and what problem does it solve? -->

<!-- Closes #ISSUE_ID -->

## Changes

adds a UI warning if you send a prompt in a task that has a linked branch, but that branch is not currently checked out

details:

- hooks into tiptap with a new `onBeforeSend`so prompt is never lost if you cancel
- the warning is "blocking" in the sense that you have to make a decision. you can:
    - "continue anyway" -> ignore the warning, agent works in your current branch
        - automatic branch linking will still occur and maybe overwrite the current link, per the standard rules (see #1595 )
    - "switch branch" - checks out the task's linked branch
        - warns if there are uncommitted changes on current branch. this does not block, and surfaces errors from the switch (if any) in the dialog

<!-- What did you change and why? -->

<!-- If there are frontend changes, include screenshots. -->

## How did you test this?

manually

<!-- Describe what you tested -- manual steps, automated tests, or both. -->

<!-- If you're an agent, only list tests you actually ran. -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants