Review: Convention updates — kanban alignment from Capacitor dogfood
Verdict: READY
Template Completeness
Issue type: Feature. Checked against
template-issue-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. Template complete.
Traceability
- [x] story:pm-scope label — Betty Sue PM scoping story
- [x] arch:board-api label — board API component
- [x] Forgejo issue — forgejo_admin/pal-e-platform#183, open
Traceability triangle complete.
File Targets
- [x]
template-ticket— verified: "assigns points" still present in Ticket Lifecycle code block (PATH 1 line "assigns points", PATH 2 line "adds labels, points"). Field table already clean. - [x]
sop-board-workflow— verified: triage step 3 still says "add labels, assign points." Needs "assign points" removed and WIP limit guidance added. - [x]
convention-kanban-over-plans— verified: note exists with 7 sections. No "Cross-Repo Pipeline Boards" section. No consumer:X mention. Addition is valid. - [x]
convention-architecture-ids— verified: Deployment Components table has 4 rows (ci-pipeline, k8s-deploy, postgres, tailscale-funnel). No arch:tailscale-subnet. Row addition is valid. - [x]
sop-capacitor-mobile-lifecycle— verified: currently ends at Stage 4 (Production Deploy). No Stage 5 or Stage 6 headings. Stages 5-6 and Gates 3-5 are valid additions. - [x] NEW:
convention-pipeline-stages— verified: does not exist (404). Creation is valid. - [x] NEW:
convention-blocker-labels— verified: does not exist (404). Creation is valid.
All 7 file targets verified. No invalid paths or stale references.
Repo Placement
Issue filed on
forgejo_admin/pal-e-platform but all changes are pal-e-docs note updates via MCP tools. The issue acknowledges this explicitly: "conventions live in pal-e-docs, but tracked here as platform scope." Acceptable — conventions are organizational scope owned by platform governance.Dependencies
- No blocking dependencies in
in_progresscolumn. - Board item #397 ("Update 11 SOPs/conventions for kanban-over-plans") is
done— prior work already removed points from template-ticket field table. This ticket covers remaining "assigns points" references in lifecycle diagrams. No conflict. - Board item #398 ("Board hygiene — label unlabeled items") is
done— label conventions are stable. - Board item #487 ("Update template-board, template-ticket, template-project-page") is
done— template-ticket was recently updated. The lifecycle code block was not touched in that work, so no conflict.
Acceptance Criteria
7 acceptance criteria across 3 sub-tickets. Each is verifiable by reading the relevant note after update:
- [x] "Points removed from template-ticket and sop-board-workflow" — verifiable via get_note + search for "points"
- [x] "consumer:X and blocker:X label rows added to template-ticket" — verifiable via get_section on Label Conventions table
- [x] "Cross-repo board pattern documented" — verifiable via get_section on convention-kanban-over-plans
- [x] "consumer:X label pattern documented" — verifiable via get_section
- [x] "Pipeline stages convention created" — verifiable via get_note(slug=convention-pipeline-stages)
- [x] "Blocker label convention created" — verifiable via get_note(slug=convention-blocker-labels)
- [x] "Capacitor SOP expanded with Stages 5-6" — verifiable via get_note_toc showing Stage 5 and Stage 6 headings
All criteria are agent-verifiable. Test Expectations have been improved since the prior review — now reference concrete note content checks rather than behavioral assertions.
Blast Radius
- Points references: Only 2 notes contain "assign points" (template-ticket lifecycle, sop-board-workflow triage step 3). Confirmed via semantic_search — no other notes affected.
- Hook downstream:
claude-custom/hooks/session-start-context.shline 291 still says "with points and labels." Issue documents this in "Downstream Blast Radius" section and calls for a separate claude-custom follow-up issue. Properly scoped out. - Discovered scope: template-ticket Ticket Lifecycle PATH 1 still references obsolete "Plan-driven" flow with sync_board. Issue documents this in "Discovered Scope (out of band)" section. Properly scoped out.
- Existing board items: Some legacy items still carry points values (items #322, #360, etc.). Issue notes "additive changes only" — convention removal from docs while API field persists is fine.
- Rollback: All changes are additive note updates via MCP. Rollback is straightforward via note revision history.
Decomposition Assessment
The prior review (review-403-2026-03-27) flagged NEEDS DECOMPOSITION. The issue has been updated with a 3 sub-ticket decomposition:
- Sub-ticket 1: Points cleanup — 2 targets, 2 AC, ~2 min. Under all thresholds.
- Sub-ticket 2: Convention updates — 3 targets, 3 AC, ~5 min. At threshold but each target is a single section/row add. Acceptable.
- Sub-ticket 3: New conventions + label table — 3 targets (2 new notes + 1 table update), 3 AC, ~5 min. At threshold but acceptable.
Each sub-ticket fits the three-thing limit and five-minute rule. No independent subtasks remain that could be further parallelized — the 3 sub-tickets ARE the parallelization. No further decomposition needed.
Prior Review Remediation
All 5 recommendations from
review-403-2026-03-27 (NEEDS_REFINEMENT) have been addressed:- [x]
[DECOMPOSE]— Issue now has 3-ticket decomposition section - [x]
[BODY]consumer:X + blocker:X — Added to Sub-ticket 3 scope - [x]
[BODY]Downstream blast radius — New "Downstream Blast Radius" section added - [x]
[BODY]Weak test expectations — Replaced with verifiable note content checks - [x]
[BODY]PATH 1 lifecycle — New "Discovered Scope (out of band)" section added
Recommendation
No action needed. Scope is solid, decomposition is clean, all file targets verified, traceability complete. Ready for sub-ticket creation and dispatch.