Feature: Update hooks and skills for BoardItemType 'issue' to 'ticket' rename #191
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/claude-custom#191
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?
Type
Feature
Lineage
Child of
forgejo_admin/claude-custom#181(parent decomposition ticket).Deploy order: D of 4 -- depends on Tickets A, B, C merging first. Last consumer to update.
Repo
forgejo_admin/claude-customUser Story
As an agent,
I want hooks and skills to validate and reference
ticketinstead ofissuefor board item types,So that enforcement logic matches the API's canonical enum value.
Context
The full-stack rename of
BoardItemType.issuetoBoardItemType.ticketpropagates through API (A), SDK (B), MCP (C), and finally hooks/skills (D). This is the last ticket in the chain.The
check-board-item.shhook validatescreate_board_itemcalls and has acase issue)branch. Thereview-ticket/SKILL.mdlists valid item_type values in its routing logic. Both must use the new canonical value.The API's transition alias means hooks work during rollout, but should use the canonical value once upstream is stable.
File Targets
Files the agent should modify:
hooks/check-board-item.shline 9 -- comment:"issue items have forgejo_issue_url"->"ticket items..."hooks/check-board-item.shline 53 -- case branch:issue)->ticket)hooks/check-board-item.shline 55 -- error message:"Issue-type board items require..."->"Ticket-type board items require..."skills/review-ticket/SKILL.mdline 27 -- item_type list:(phase, issue, incident, repo)->(phase, ticket, repo)(also removes phantomincident-- see bug ticket)skills/review-ticket/SKILL.mdline 42 -- routing header:**For issue items with forgejo_issue_url:**->**For ticket items...**Files the agent should NOT touch:
hooks/board-item-on-merge.sh-- uses "issue" only for Forgejo issue number extraction, not BoardItemTypehooks/check-note-template.sh-- uses "issue" as a NoteType tag, not BoardItemTypeAcceptance Criteria
check-board-item.shvalidatesticketinstead ofissuein the case branchcheck-board-item.shcomments and error messages referenceticketSKILL.mditem_type list usesticketinstead ofissueSKILL.mdrouting logic referencesticketitemsTest Expectations
create_board_item(item_type="ticket", forgejo_issue_url="https://...", labels="type:feature,arch:board-api,story:test")passes hook validationcreate_board_item(item_type="issue", ...)is rejected by the hook (or accepted during transition -- document which behavior is chosen)/review-ticketskill routes ticket-type items correctlybash -n hooks/check-board-item.sh(syntax check)Constraints
ticketandissueduring transition (match API behavior) or enforceticketonly (strict)Checklist
Related
forgejo_admin/claude-custom#181-- parent decomposition ticketforgejo_admin/pal-e-apiTicket A -- API enum rename (transitive dependency)forgejo_admin/pal-e-sdkTicket B -- SDK update (transitive dependency)forgejo_admin/pal-e-mcpTicket C -- MCP update (direct dependency)pal-e-agency-- project this affects