feat: upgrade story: label to hard-block and add Task type routing #171
No reviewers
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!171
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "167-upgrade-story-label-hard-block"
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?
Summary
Upgrades the
story:label from a warning to a hard-block incheck-board-item.sh, completing the traceability triangle (type + arch + story). AddsTasktype routing incheck-issue-template.shso Task-type issues validate againsttemplate-issue-task.Changes
hooks/check-board-item.sh-- story: label enforcement upgraded from WARNINGS to ERRORS (deny on missing)hooks/check-board-item.sh-- line 8 comment header updated from "recommended -- warn, don't block" to "required"hooks/check-board-item.sh-- removed dead WARNINGS infrastructure (variable, advisory output block)hooks/check-issue-template.sh-- addedTask|task)case routing totemplate-issue-taskhooks/check-issue-template.sh-- updated comment header to list Task typeTest Plan
create_board_itemwithoutstory:label is DENIED with actionable message pointing to template-ticketcreate_board_itemwithstory:label still succeeds (exit 0)type:andarch:enforcement unchangedtemplate-issue-tasktemplateReview Checklist
Related
session-start-context.shTask type gapQA Review: PR #171
Scope Verification (issue #167 + comments)
create_board_itemwithoutstory:label is DENIEDcreate_board_itemWITHstory:label still succeedscheck-issue-template.shrecognizes### Type: TaskTask|task)case added routing totemplate-issue-taskReview Nits from Issue Comment 4
Domain Review
trap 'exit 0' ERRat line 17)type:andarch:enforcement logic untouchedVERDICT: APPROVE
All 7 acceptance criteria met. All 3 review nits addressed. No issues found.
PR #171 Review
DOMAIN REVIEW
Domain: Shell/Bash hooks (Claude Code PreToolUse enforcement layer)
Two files changed, both shell scripts that enforce board item and issue template conventions.
hooks/check-board-item.sh(story: label upgrade)The change is clean and surgical. The
WARNINGSvariable and its entire advisory output block are removed. The story: label check is moved from a warning path to the existing error path. The error message is actionable: it tells the user what label is needed, gives an example, explains the "create a user story first" requirement, and points totemplate-ticket. The fail-open pattern (trap 'exit 0' ERR) is preserved. No dead code remains -- theWARNINGSvariable, the advisory JSON output block, and the comment referencing "no warnings" are all cleaned up.hooks/check-issue-template.sh(Task type routing)The
Task|task)case is added, routing totemplate-issue-task. I verified that thetemplate-issue-tasknote exists in pal-e-docs (note ID 721, project: pal-e-agency, tags: active+template) with proper required headings (Type, Scope, Acceptance Criteria, Related). The routing target is valid and the template is well-structured. The case statement alignment changes are cosmetic whitespace normalization -- correct and non-breaking.Correctness check: The default
*)case still maps totemplate-issue-feature, so unknown types continue to fall through to feature. The existing Bug, Spike, and Nit-Bundle routes are unchanged.BLOCKERS
None.
NITS
Discovered scope confirmed: The PR body notes
session-start-context.shhas a Task type gap. Verified at lines 558-562 of that file -- the "Bug/TODO Tracking" section lists Bug, Feature, Spike but not Task. This is tracked separately per the PR body, which is correct process.Alignment inconsistency in check-issue-template.sh case statement: The
Bug|bug)case uses extra spaces for alignment but the pattern width differs fromSpike|spike)andTask|task). After the PR, the alignment looks like:The
Bug|bug)line has more padding than the others (15 spaces vs 11). Extremely minor -- not blocking.SOP COMPLIANCE
167-upgrade-story-label-hard-blockreferences issue #167PROCESS OBSERVATIONS
VERDICT: APPROVED