Review: Expand check-note-template.sh for new types (r2)
Verdict: NEEDS_REFINEMENT
Template Completeness
Checked against
template-issue-feature (Type = Feature):- [x] Type
- [x] Lineage
- [x] Repo
- [x] User Story
- [x] Context
- [x] File Targets
- [x] Acceptance Criteria
- [x] Test Expectations
- [x] Constraints
- [x] Checklist
- [x] Related
All required sections present. Bonus sections (Required Headings Per Type, Routing Mechanism, Heading Format, Review History) add helpful implementation detail.
Traceability
- [x] story:pm-scope label -- present on board item #483
- [x] arch:hooks label -- present on board item #483
- [x] Forgejo issue -- forgejo_admin/claude-custom#183, open
All three legs of the traceability triangle are satisfied.
File Targets
- [x]
hooks/check-note-template.sh-- verified exists at/home/ldraney/claude-custom/hooks/check-note-template.sh(128 lines, currently routes on tags only for project-page and issue types) - [x]
hooks/check-issue-template.sh-- correctly excluded (validates Forgejo issues, not notes) - [x]
hooks/check-board-item.sh-- correctly excluded (board items are separate)
File targets are accurate and specific.
Repo Placement
OK. Issue filed on
forgejo_admin/claude-custom, all work is in that repo. Single-repo scope.Dependencies
- [x] Board item #478 (Spike: Note type system audit, issue #180) -- in_progress. This is the parent spike. Ticket can proceed once spike completes.
- [x] Board item #486 (Create template notes for new types, issue #185) -- done. All 6 templates confirmed to exist in pal-e-docs: template-review, template-architecture, template-user-story, template-sop, template-convention, template-validation.
Dependencies are satisfied (templates exist) or documented (parent spike in progress).
Acceptance Criteria
8 AC total, all testable via manual hook invocation. Each maps to a concrete create_note call with missing headings that should be blocked. AC 7 (doc passthrough) and AC 8 (project-page regression) are negative/regression tests.
Count exceeds the 5-AC threshold but all 8 are structurally identical (add case branch, verify block). An agent can verify each in seconds.
Blast Radius
Low. Single file modification in a single repo. No downstream consumers are affected. The sibling hook
check-issue-template.sh validates Forgejo issues (not notes) and uses a completely different routing mechanism. No shared library code between the two hooks.Decomposition Assessment
1 file target, 1 repo, 8 AC (structurally repetitive). Estimated agent time: 3-5 minutes. The work is a single case/esac expansion with 6 near-identical branches. No decomposition needed.
Recommendation
[BODY]Fix validation type heading list: add "Discovered Issues" as 5th required heading. The actualtemplate-validationcode block has headings: Ticket, Environment, Checks, Verdict, Discovered Issues. The issue only lists the first 4.[BODY]Fix Constraints section: issue states "Hook runs as PreToolUse on create_note and update_note" butsettings.jsononly wiresmcp__pal-e-docs__create_note. Either (a) add a note that wiringupdate_noteis out of scope for this ticket, or (b) addupdate_noteto the scope and add a 9th AC for it. Current claim is inaccurate.