design-implement: remove area:design when adding area:design-review #96
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks#96
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
User story
As the operator, I want designer's handoff step to leave the issue with only
area:design-reviewon it — not botharea:designandarea:design-review— so that the next webhook label-event routes todesign-reviewerinstead of re-triggeringdesigner.What happens today
skills/design-implement.mdstep 6 (from PR #86) addsarea:design-reviewto the issue after posting the handoff comment. It does not removearea:design. So the issue ends up with both labels.Forgejo v15's
issues.label_updatedpayload doesn't carry the single just-changed label, sorouteForLabelswalks the full label set and returns the first match. With both present,area:design(first declared inLABEL_TO_ROUTE) wins → the webhook dispatches to designer again instead of design-reviewer. Designer wastefully re-implements.Hit live today on #70 after the designer→design-reviewer loop was wired up: designer finished at 19:14, added
area:design-review, webhook fired, designer got re-dispatched on the same ticket. Had to manually cancel and striparea:designto unblock the design-reviewer dispatch.Fix
Add a step to
skills/design-implement.mdstep 6: afteradd_issue_labels(area:design-review), callremove_issue_labels(area:design). That way the terminal state of the issue after designer finishes is a singlearea:design-reviewlabel, and the label-event route is unambiguous.Acceptance criteria
Skill
skills/design-implement.mdworkflow §6 adds a "then removearea:design" substep usingmcp__forgejo__remove_issue_labels.area:design-reviewand does NOT havearea:design.Regression
area:design— designer runs, posts handoff, label state ends witharea:design-reviewonly, design-reviewer picks up without a designer re-trigger.Out of scope
labelfield when present). Worth considering separately but is a bigger change; skill fix is the cheapest unblock.area:design-reviewon completion per PR #86).References
666c4f5c-5a72-4d2d-bb79-f4f2bdca8fc5dispatched by mistake on #70 at 20:08 UTC, after the real run already finished.skills/design-implement.md— the workflow to amend.src/webhook-routing.ts:LABEL_TO_ROUTE— the order-matters map.Dependencies
area:design→area:design-reviewloops on future design tickets.main.