Skip to content

fix(spec): pin the bugfix source name to the topic#516

Merged
leeovery merged 1 commit into
mainfrom
fix/pin-bugfix-source-name
Jul 23, 2026
Merged

fix(spec): pin the bugfix source name to the topic#516
leeovery merged 1 commit into
mainfrom
fix/pin-bugfix-source-name

Conversation

@leeovery

@leeovery leeovery commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • For a bugfix, nothing pinned the canonical {source-name} for the investigation source — the model invented one at register-time and again at incorporate-time. Same-session both match; a cross-session resume can diverge, writing a second sources row and stranding the original pending row that spec-completion.md then blocks sign-off on.
  • Pinned to {topic} at registration (initialize-specification.md), and incorporation (spec-construction.md E.2) now flips the registered key read from the manifest instead of deriving a name.

Test plan

  • Conventions lint green.

🤖 Generated with Claude Code

Stack

  1. feat(engine): discovery-map add-batch — the harvest persists in one call (D7) #505
  2. feat(engine): manifest apply — batched set/delete across one work unit (D7) #506
  3. refactor(prose): task-map family folds onto existing batch forms (D7, stage 3) #507
  4. feat(engine): manifest set — two grammars, never mixed #508
  5. refactor(prose): dump/read folds — subtree gets replace per-topic loops (D7, stage 5) #509
  6. feat(engine): commit --plan — plan storage stages from recorded state (D7, stage 6) #510
  7. fix: batching-stack review round — re-resolve rewired, guards symmetric, hardening pinned #512
  8. fix: deep-dive round 2 — backbone rule flipped, pre-upgrade paths routed, flow bugs closed #513
  9. fix(review-r3): engine hardening + crash-resume seams #514
  10. feat(scoping): promotion routes through first-phase choice + bridge #515
  11. fix(spec): pin the bugfix source name to the topic #516 👈 current
  12. fix(skills): gate-skip sentence accurate in gate-less phases #517
  13. fix(review-entry): name the real upstream — specification and plan #518
  14. fix(shared): strip triage-landing's unreachable superseded-research arm #519
  15. feat(engine): refuse work-unit-level fields that shadow the phases tree #520
  16. fix(discovery): first-written briefs join the full brief lifecycle #521
  17. test(sim): pipeline simulation — engine driven end-to-end as a black box #522
  18. fix(round-4): review findings — backfill keying, ratchet evasion, pull guard #523

@leeovery
leeovery force-pushed the feat/promote-first-phase branch from a48ae64 to 896c4fd Compare July 23, 2026 10:58
@leeovery
leeovery force-pushed the fix/pin-bugfix-source-name branch from a56a07b to 4aba6e5 Compare July 23, 2026 10:58
@leeovery
leeovery force-pushed the feat/promote-first-phase branch from 6ddd863 to 34ca324 Compare July 23, 2026 11:05
@leeovery
leeovery force-pushed the fix/pin-bugfix-source-name branch from 4aba6e5 to 5a17b6a Compare July 23, 2026 11:05
@leeovery
leeovery force-pushed the feat/promote-first-phase branch from 34ca324 to 406c42e Compare July 23, 2026 12:29
@leeovery
leeovery force-pushed the fix/pin-bugfix-source-name branch from 5a17b6a to 2140508 Compare July 23, 2026 12:29
@leeovery
leeovery force-pushed the feat/promote-first-phase branch from 406c42e to 3e55947 Compare July 23, 2026 12:30
@leeovery
leeovery force-pushed the fix/pin-bugfix-source-name branch from 2140508 to 271ca96 Compare July 23, 2026 12:30
@leeovery
leeovery force-pushed the feat/promote-first-phase branch from 3e55947 to 628b585 Compare July 23, 2026 12:31
@leeovery
leeovery force-pushed the fix/pin-bugfix-source-name branch from 271ca96 to d66a6d4 Compare July 23, 2026 12:31
@leeovery
leeovery force-pushed the feat/promote-first-phase branch from 628b585 to 7ed7508 Compare July 23, 2026 12:32
@leeovery
leeovery force-pushed the fix/pin-bugfix-source-name branch from d66a6d4 to 464d786 Compare July 23, 2026 12:32
@leeovery
leeovery force-pushed the feat/promote-first-phase branch from 7ed7508 to 8cb9f14 Compare July 23, 2026 12:33
@leeovery
leeovery force-pushed the fix/pin-bugfix-source-name branch from 464d786 to ced01eb Compare July 23, 2026 12:33
@leeovery
leeovery force-pushed the feat/promote-first-phase branch from 8cb9f14 to 1b014ff Compare July 23, 2026 12:33
@leeovery
leeovery force-pushed the fix/pin-bugfix-source-name branch from ced01eb to b41ddec Compare July 23, 2026 12:33
@leeovery
leeovery force-pushed the feat/promote-first-phase branch from 1b014ff to d7845b3 Compare July 23, 2026 12:34
@leeovery
leeovery force-pushed the fix/pin-bugfix-source-name branch from b41ddec to 225f777 Compare July 23, 2026 12:34
@leeovery
leeovery force-pushed the feat/promote-first-phase branch from d7845b3 to 0777542 Compare July 23, 2026 12:35
@leeovery
leeovery force-pushed the fix/pin-bugfix-source-name branch from 225f777 to 521bbd1 Compare July 23, 2026 12:35
@leeovery
leeovery force-pushed the feat/promote-first-phase branch from 0777542 to fff2d4a Compare July 23, 2026 12:35
@leeovery
leeovery force-pushed the fix/pin-bugfix-source-name branch from 521bbd1 to 037d158 Compare July 23, 2026 12:35
@leeovery
leeovery changed the base branch from feat/promote-first-phase to main July 23, 2026 12:36
No reference named the canonical {source-name} for a bugfix's
investigation source — register-time and incorporate-time each invented
one independently, and a cross-session mismatch strands a pending row
the completion gate then blocks on. The name is now pinned to {topic}
at registration, and incorporation flips the registered key rather
than deriving a name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@leeovery
leeovery force-pushed the fix/pin-bugfix-source-name branch from 037d158 to 49d20b7 Compare July 23, 2026 12:36
@leeovery
leeovery merged commit 9600f45 into main Jul 23, 2026
@leeovery
leeovery deleted the fix/pin-bugfix-source-name branch July 23, 2026 12:43
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.

1 participant