Review: Review note audit: naming, types, lifecycle
Verdict: NEEDS_REFINEMENT
Template Completeness
- [x] Type — Bug
- [x] Lineage — discovered during westside schedule scoping
- [x] Repo — forgejo_admin/pal-e-api
- [x] What Broke — 4 specific problems listed
- [x] Repro Steps — 4 clear steps with observable outcome
- [x] Expected Behavior — 3 concrete expectations
- [x] Environment — pal-e-docs API, hook path, skill note
- [x] Acceptance Criteria — 5 criteria
- [x] Related — 4 references
All required Bug template sections are present and filled.
Traceability
- [x] story:pm-scope — PM scoping pipeline
- [x] arch:review-pipeline — review pipeline component
- [x] Forgejo issue — forgejo_admin/pal-e-api#246, open
Traceability triangle is complete.
File Targets
- [x]
~/.claude/hooks/check-board-advance.sh— verified exists. Queriesreview-{item_id}-*pattern (lines 52-56). Searches by slug prefix, not note_type. - [x]
skill-review-ticket(pal-e-docs note) — verified exists. Step 12 specifiesreview-{board_item_id}-YYYY-MM-DDslug pattern. - [x]
feedback_active_note_types(MEMORY.md line 83) — verified exists. Lists sop/convention/doc/project-page/board. Review is absent. - [x]
convention-todo-lifecycle— referenced as related only, not a direct target.
All file targets verified. Targets are specific enough for agent execution.
Repo Placement
Issue filed on
forgejo_admin/pal-e-api. Most work is data operations against the pal-e-docs API — correct repo. However, AC4 requires editing ~/.claude/projects/.../MEMORY.md which lives in claude-custom. This is a single-line edit and does not warrant a separate ticket, but should be noted in the issue body.Dependencies
No blocking dependencies found on board-pal-e-agency. Item #591 ("Enhance skill-review-ticket") is related but independent backlog work. Items #581 and #638 (scope-review hooks) are already done. This ticket is independent.
Acceptance Criteria
All 5 criteria are testable by an agent:
- AC1 (fix note_type): Query
list_notes(tags="review"), filternote_type != "review", update each. Current count: 44 need fixing (42 doc + 2 null). Verifiable post-fix. - AC2 (orphan identification): Cross-reference 301 review note slugs against board items. Notes referencing items in
doneor missing items are orphans. Automatable but API-heavy. - AC3 (convention note):
get_note(slug="convention-review-note-lifecycle")— confirmed does not exist yet. Net-new creation. - AC4 (active types): Check MEMORY.md for
reviewin active types. Single line edit in claude-custom. - AC5 (skill verification): Verify skill-review-ticket step 12. Analysis task, inherently subjective but scoped.
Note: AC test commands are implied (MCP queries) rather than explicitly stated. Acceptable for data audit work.
Blast Radius
Low. The
check-board-advance hook searches by slug prefix, NOT by note_type. Fixing note_type from doc/null to review is a pure data quality fix with no downstream behavioral change. No other hooks or skills filter by note_type=review. Rollback is straightforward (revert note_type values).Decomposition Assessment
5 ACs touching primarily one system (pal-e-docs API) plus one line in MEMORY.md. The audit (AC1+AC2) requires iterating 300+ notes via API, which may exceed 5 minutes wall-clock but is logically cohesive. Splitting would create coordination overhead exceeding the work itself. No independent subtasks that benefit from parallelization — all ACs feed the same convention note (AC3). No decomposition needed.
Recommendation
[BODY]Fix inaccurate claim in What Broke #2: "most notes were created as doc or null." Actual data: 257/301 (85%) already have correctnote_type=review. Only 44 need fixing (42 doc + 2 null). Update to reflect accurate numbers.[BODY]Fix overstated slug naming claim in What Broke #1: "agents frequently use Forgejo issue numbers instead." The data shows IDs range 55-653, which IS the board item ID range. The repro example (review-232 for item #629) may be a real case but is not systemic. Clarify that slug naming is mostly correct; the primary issue is the 44 wrong-typed notes.[BODY]Add note under Repo section: AC4 touchesclaude-customMEMORY.md (cross-repo, single line edit).[BODY]Note:template-reviewitself has stale guidance — its Naming Convention section saysNote type: doc (until review is added to NoteType enum)butreviewIS already in the enum. Add a sub-task or note to fixtemplate-reviewas part of this work.