fix(github): don't synthesize branch_name, defer to workspace fallback#97
Open
corylanou wants to merge 1 commit into
Open
fix(github): don't synthesize branch_name, defer to workspace fallback#97corylanou wants to merge 1 commit into
corylanou wants to merge 1 commit into
Conversation
The GitHub adapter was synthesizing branch_name as `issue-N-{title-slug}`,
which overrode operator-configured `hooks.after_create` branches and
broke the Symphony Isolation Contract (which expects `symphony/<id>`).
Now the adapter returns `branch_name: nil`, letting workspace.ex's
`fallback_branch_name/1` produce `symphony/<id>`. Operators who want
title-slug branches can set them in their `hooks.after_create`.
Fixes #95.
Author
|
@codex review |
|
Codex Review: Didn't find any major issues. Delightful! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #95.
Context
The GitHub adapter (
elixir/lib/symphony_elixir/github/client.ex:681) was synthesizingbranch_name: derive_branch_name(number, title)for every issue, producing values likeissue-95-regression-workspace-.... This silently overrode the operator'shooks.after_createbranch (symphony/<id>) and broke the Symphony Isolation Contract self-check, causing agents to self-block immediately. Confirmed today on issues #93 and #95 — both required manualgit branch -minterventions to unblock.TL;DR
Stop the GitHub adapter from imposing a synthesized branch name on the workspace. Defer to
workspace.ex's existing fallback (symphony/<id>) so operator hooks aren't overridden.Summary
github/client.ex: changebranch_name: derive_branch_name(number, title)tobranch_name: niland remove the now-unusedderive_branch_name/2definition.workspace.ex:423-427): unchanged. Whenbranch_nameis nil,target_branch_name/1falls through tofallback_branch_name(issue_identifier)→"symphony/#{...}", which matches what operators configure inhooks.after_create.Alternatives
tracker.branch_name_pattern) — rejected; adds YAML surface without a concrete need beyond whathooks.after_createalready covers.workspace.exand prefer it — rejected; requiresworkspace.exto be aware of hook side-effects, leaking abstractions.Test Plan
make -C elixir all— 666 tests, 0 failures from this change (one pre-existing flake inOrchestratorBudgetTestthat passes in isolation, unrelated).github/adapter tests still pass.hooks.after_create, branch named from issue title slug instead ofsymphony/<id>#95 (or any issue) after this lands should produce a worktree onsymphony/<id>per the hook, notissue-N-.... Agent isolation check passes without manual branch rename.