Review: Convention updates — kanban alignment from Capacitor dogfood

review-403-2026-03-28 Review

review ready

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_progress column.
  • 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.sh line 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.