bd rename's reference rewrite (updateReferencesInAllIssues, cmd/bd/rename.go:103-152 at v1.3.0, unchanged on main 448c4b8) only touches title/description/design/notes/acceptance_criteria of OTHER issues, matching \b<full-id>\b:
- close_reason is never rewritten
- comment text is never rewritten
- the renamed issue's own text keeps the old id: rename.go:86 sets oldIssue.ID = newID and passes the old text to UpdateIssueID, and the loop skips issue.ID == newID (:114-116)
- short forms don't match -
12x.39, how people write sibling refs under an epic
where it bit: i used rename to repair a cross-machine child-id collision (#4796), renumbering one side's abc-12x.38..42 to .47..51. afterwards a close_reason on another bead still said abc-12x.39, which after the renumber names a different bead. nothing flags it.
#4844's bd dolt rebase has the same class: at head 1f9a0ba it renumbers through UpdateIssueIDInTx and doesn't rewrite text elsewhere (it does print the old -> new mapping).
fix shape: add close_reason (and comments, if in scope), rewrite the renamed issue's own fields, optionally match the parent-relative short form. in collision repair both sides' text meant different beads, so reporting what wasn't rewritten may beat rewriting everything
bd rename's reference rewrite (updateReferencesInAllIssues, cmd/bd/rename.go:103-152 at v1.3.0, unchanged on main 448c4b8) only touches title/description/design/notes/acceptance_criteria of OTHER issues, matching
\b<full-id>\b:12x.39, how people write sibling refs under an epicwhere it bit: i used rename to repair a cross-machine child-id collision (#4796), renumbering one side's abc-12x.38..42 to .47..51. afterwards a close_reason on another bead still said abc-12x.39, which after the renumber names a different bead. nothing flags it.
#4844's
bd dolt rebasehas the same class: at head 1f9a0ba it renumbers through UpdateIssueIDInTx and doesn't rewrite text elsewhere (it does print the old -> new mapping).fix shape: add close_reason (and comments, if in scope), rewrite the renamed issue's own fields, optionally match the parent-relative short form. in collision repair both sides' text meant different beads, so reporting what wasn't rewritten may beat rewriting everything