Repository navigation
Session Handoff [auto-1235]: Qualify local_review's Remote-Tracking Target per #1235 #2090
Copy link
Copy link
Closed
Labels
blockedBlocked on another issue: one in another repository, or a decision issue here for a parked handoffBlocked on another issue: one in another repository, or a decision issue here for a parked handoffhandoffA link in the session handoff chain, one open issue per trackA link in the session handoff chain, one open issue per track
Description
Next steps, in priority order
Re-read #1235 and scripts/local_review.py on develop rather than trusting this summary.
- local_review.py: target_ref returns a bare name a same-named local branch can shadow #1235: stop a same-named local branch shadowing a remote-tracking target.
target_ref()returns the bare short name whenrefs/remotes/<target>resolves, andmerge_base()hands that bare name togit merge-base. Git's short-name disambiguation triesrefs/heads/<name>beforerefs/remotes/<name>, so a local branch literally named like the remote-tracking ref (for exampleupstream/main) silently defines the review scope instead. Oncetarget_ref()has chosen a remote-tracking ref, return it fully qualified (refs/remotes/<target>), and qualify theorigin/<target>branch the same way (refs/remotes/origin/<target>), since it carries the same exposure against a local branch namedorigin/<target>. Leave the last, resolves-as-written fallback returning the name as written, since that path exists for a value that is not a remote-tracking ref.merge_base()is the only consumer of the return value ondevelop, andscripts/canonical_review.pyreaches it only throughlocal_review.merge_base, so confirm no message or stamp prints the returned string before changing its form. Update the docstring to say why the value is qualified. Add a test intests/test_local_review.pywith a throwaway repository holding a remote-tracking ref and a same-named local branch on different commits, asserting the merge base comes from the remote-tracking one, and prove it by reverting the fix and seeing it fail. Done looks like a develop pull request whose body carriesCloses on promotion: #1235, merged.
External blockers
None known at creation.
Internal dependencies
None. scripts/local_review.py was last changed by #1328, and no open pull request or open handoff touches it.
State
- No branch, worktree, or pull request exists for this lane yet. Create
feature/auto-1235fromdevelopin a worktree of its own. - Unattended run, scope
develop.
The parked decision queue
Zero decisions parked by this lane.
What the last round did
Nothing yet. The picker created this link from the open backlog.
What not to repeat
Nothing recorded yet.
New learnings
None yet.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
blockedBlocked on another issue: one in another repository, or a decision issue here for a parked handoffBlocked on another issue: one in another repository, or a decision issue here for a parked handoffhandoffA link in the session handoff chain, one open issue per trackA link in the session handoff chain, one open issue per track
Activity
ptr727 commentedon Sep 29, 2026
Parked on decision #2092.
feature/auto-1235, worktree left standing at /home/pieter/repos/worktrees/auto-1235. Commit 28fd524f is local, not pushed, no pull request..github/actions/build-nuget-default/(from a mistakengit stash popof another task's stash, which is still intact) trips the prose gate on commit. Deleting it was refused by the executor.Closes on promotion: #1235, drive it, close the lane.git stash popin a shared repo, stashes are repo-wide; use a scratch copy to prove a revert.ptr727 commentedon Sep 29, 2026
Lane closed out by an attended session. Decision #2092 was answered (option 1) and closed.
target_reflooks remote-tracking targets up by exact name withshow-ref --verifyand returns them qualified asrefs/remotes/.... Review: six local strict passes, Copilot clean on the final head, and CodeRabbit's one finding fixed with no actionable comments through the final head.--targetspellings andsame_target).remote_tracking_ref's docstring says "rejects" where a git failure also returns None. Neither reviewer bot raised them.feature/auto-1235are removed locally and remotely. The other task's stash entry, which holds the reusable-workflow edits, was left untouched.