Convention updates — kanban alignment from Capacitor dogfood #183

Open
opened 2026-03-26 23:13:11 +00:00 by forgejo_admin · 5 comments

Type

Feature

Lineage

standalone — discovered scope from Capacitor pipeline dogfood (2026-03-26)

Repo

forgejo_admin/pal-e-platform (conventions live in pal-e-docs, but tracked here as platform scope)

User Story

As Betty Sue
I want kanban conventions updated to reflect what we learned building the Capacitor pipeline
So that future work follows proven patterns

Context

During the Capacitor pipeline session (2026-03-26), we discovered 8 convention gaps. These need to be formalized in pal-e-docs convention notes and SOPs.

Review Status

NEEDS_REFINEMENT — review review-403-2026-03-27

Decomposition into 3 sub-tickets recommended by review — execute after scope approval.

Decomposition (3 sub-tickets)

Sub-ticket 1: Points cleanup (~2 min, 2 targets)

  • template-ticket — remove points field description, remove "assign points" from triage
  • sop-board-workflow — remove "assign points" from triage step 3, add WIP limit guidance

Sub-ticket 2: Convention updates (~5 min, 3 targets)

  • convention-kanban-over-plans — add section for cross-repo pipeline boards, document consumer:X label pattern
  • convention-architecture-ids — add arch:tailscale-subnet component
  • sop-capacitor-mobile-lifecycle — add Stages 5-6 (iOS Build Pipeline, App Store Submission) with Gates 3-5

Sub-ticket 3: New conventions + label table updates (~5 min, 2 new notes + 1 table update)

  • NEW: convention-pipeline-stages — document the 4 pipeline stages (Playground → Svelte Sandbox → App → App Store), naming convention ({project}-playground, {project}-svelte-playground, {project}-app, {project}-api), "stages" not "phases"
  • NEW: convention-blocker-labels — document blocker:external and blocker:internal label patterns
  • template-ticket Label Conventions table — add consumer:X and blocker:X label rows

Downstream Blast Radius

  • claude-customsession-start-context.sh line 291 — still says "with points and labels". Must be updated in a separate claude-custom issue to remove "points" reference after Sub-ticket 1 lands. Without this, agents will continue to set points on new board items, contradicting feedback_no_points.md.

Discovered Scope (out of band)

  • template-ticket Ticket Lifecycle still references obsolete "Plan-driven" PATH 1 with phase/sync_board references. This is a separate cleanup — track as its own Forgejo issue in the appropriate repo.

File Targets

pal-e-docs notes to update (via MCP tools, not file edits):

  1. template-ticket — remove points field description, remove "assign points" from triage, add consumer:X and blocker:X to Label Conventions table
  2. sop-board-workflow — remove "assign points" from triage step 3, add WIP limit guidance
  3. convention-kanban-over-plans — add section for cross-repo pipeline boards, document consumer:X label pattern
  4. convention-architecture-ids — add arch:tailscale-subnet component
  5. sop-capacitor-mobile-lifecycle — add Stages 5-6 (iOS Build Pipeline, App Store Submission) with Gates 3-5
  6. NEW: convention-pipeline-stages — document the 4 pipeline stages (Playground → Svelte Sandbox → App → App Store), naming convention ({project}-playground, {project}-svelte-playground, {project}-app, {project}-api), "stages" not "phases"
  7. NEW: convention-blocker-labels — document blocker:external and blocker:internal label patterns

Acceptance Criteria

  • Points removed from template-ticket and sop-board-workflow
  • consumer:X and blocker:X label rows added to template-ticket Label Conventions table
  • Cross-repo board pattern documented
  • consumer:X label pattern documented
  • Pipeline stages convention created
  • Blocker label convention created
  • Capacitor SOP expanded with Stages 5-6

Test Expectations

  • template-ticket note contains no mention of "points" in field descriptions or triage steps
  • sop-board-workflow triage step 3 does not reference point assignment
  • template-ticket Label Conventions table includes rows for consumer:X and blocker:X
  • convention-pipeline-stages note exists with all 4 stage names and naming convention
  • convention-blocker-labels note exists with blocker:external and blocker:internal definitions
  • convention-kanban-over-plans contains a "Cross-Repo Pipeline Boards" section
  • convention-architecture-ids contains arch:tailscale-subnet
  • sop-capacitor-mobile-lifecycle contains Stages 5 and 6 with Gates 3-5

Constraints

  • These are pal-e-docs note updates, not code changes
  • Each convention change should be its own commit for traceability
  • Don't break existing board items — additive changes only
  • Each sub-ticket must stay within the 3-target / 5-criteria threshold

Checklist

  • Decomposition approved by Betty Sue
  • 3 sub-tickets created after approval
  • All 7 convention updates applied (across sub-tickets)
  • No contradictions between updated notes
  • claude-custom follow-up issue created for session-start-context.sh blast radius
  • project-pal-e-agency — owns conventions
  • project-capacitor-mobile — dogfood source
  • feedback_no_points.md — behavioral memory confirming no points
  • feedback_pipeline_stages_not_phases.md — behavioral memory confirming stages naming
  • claude-custom session-start-context.sh line 291 — downstream blast radius
### Type Feature ### Lineage standalone — discovered scope from Capacitor pipeline dogfood (2026-03-26) ### Repo `forgejo_admin/pal-e-platform` (conventions live in pal-e-docs, but tracked here as platform scope) ### User Story As Betty Sue I want kanban conventions updated to reflect what we learned building the Capacitor pipeline So that future work follows proven patterns ### Context During the Capacitor pipeline session (2026-03-26), we discovered 8 convention gaps. These need to be formalized in pal-e-docs convention notes and SOPs. ### Review Status **NEEDS_REFINEMENT** — review `review-403-2026-03-27` Decomposition into 3 sub-tickets recommended by review — execute after scope approval. ### Decomposition (3 sub-tickets) **Sub-ticket 1: Points cleanup** (~2 min, 2 targets) - `template-ticket` — remove `points` field description, remove "assign points" from triage - `sop-board-workflow` — remove "assign points" from triage step 3, add WIP limit guidance **Sub-ticket 2: Convention updates** (~5 min, 3 targets) - `convention-kanban-over-plans` — add section for cross-repo pipeline boards, document `consumer:X` label pattern - `convention-architecture-ids` — add `arch:tailscale-subnet` component - `sop-capacitor-mobile-lifecycle` — add Stages 5-6 (iOS Build Pipeline, App Store Submission) with Gates 3-5 **Sub-ticket 3: New conventions + label table updates** (~5 min, 2 new notes + 1 table update) - **NEW: convention-pipeline-stages** — document the 4 pipeline stages (Playground → Svelte Sandbox → App → App Store), naming convention (`{project}-playground`, `{project}-svelte-playground`, `{project}-app`, `{project}-api`), "stages" not "phases" - **NEW: convention-blocker-labels** — document `blocker:external` and `blocker:internal` label patterns - `template-ticket` Label Conventions table — add `consumer:X` and `blocker:X` label rows ### Downstream Blast Radius - **`claude-custom` → `session-start-context.sh` line 291** — still says "with points and labels". Must be updated in a separate `claude-custom` issue to remove "points" reference after Sub-ticket 1 lands. Without this, agents will continue to set points on new board items, contradicting `feedback_no_points.md`. ### Discovered Scope (out of band) - `template-ticket` Ticket Lifecycle still references obsolete "Plan-driven" PATH 1 with phase/sync_board references. This is a separate cleanup — track as its own Forgejo issue in the appropriate repo. ### File Targets pal-e-docs notes to update (via MCP tools, not file edits): 1. **template-ticket** — remove `points` field description, remove "assign points" from triage, add `consumer:X` and `blocker:X` to Label Conventions table 2. **sop-board-workflow** — remove "assign points" from triage step 3, add WIP limit guidance 3. **convention-kanban-over-plans** — add section for cross-repo pipeline boards, document `consumer:X` label pattern 4. **convention-architecture-ids** — add `arch:tailscale-subnet` component 5. **sop-capacitor-mobile-lifecycle** — add Stages 5-6 (iOS Build Pipeline, App Store Submission) with Gates 3-5 6. **NEW: convention-pipeline-stages** — document the 4 pipeline stages (Playground → Svelte Sandbox → App → App Store), naming convention (`{project}-playground`, `{project}-svelte-playground`, `{project}-app`, `{project}-api`), "stages" not "phases" 7. **NEW: convention-blocker-labels** — document `blocker:external` and `blocker:internal` label patterns ### Acceptance Criteria - [ ] Points removed from template-ticket and sop-board-workflow - [ ] `consumer:X` and `blocker:X` label rows added to template-ticket Label Conventions table - [ ] Cross-repo board pattern documented - [ ] consumer:X label pattern documented - [ ] Pipeline stages convention created - [ ] Blocker label convention created - [ ] Capacitor SOP expanded with Stages 5-6 ### Test Expectations - [ ] `template-ticket` note contains no mention of "points" in field descriptions or triage steps - [ ] `sop-board-workflow` triage step 3 does not reference point assignment - [ ] `template-ticket` Label Conventions table includes rows for `consumer:X` and `blocker:X` - [ ] `convention-pipeline-stages` note exists with all 4 stage names and naming convention - [ ] `convention-blocker-labels` note exists with `blocker:external` and `blocker:internal` definitions - [ ] `convention-kanban-over-plans` contains a "Cross-Repo Pipeline Boards" section - [ ] `convention-architecture-ids` contains `arch:tailscale-subnet` - [ ] `sop-capacitor-mobile-lifecycle` contains Stages 5 and 6 with Gates 3-5 ### Constraints - These are pal-e-docs note updates, not code changes - Each convention change should be its own commit for traceability - Don't break existing board items — additive changes only - Each sub-ticket must stay within the 3-target / 5-criteria threshold ### Checklist - [ ] Decomposition approved by Betty Sue - [ ] 3 sub-tickets created after approval - [ ] All 7 convention updates applied (across sub-tickets) - [ ] No contradictions between updated notes - [ ] `claude-custom` follow-up issue created for session-start-context.sh blast radius ### Related - `project-pal-e-agency` — owns conventions - `project-capacitor-mobile` — dogfood source - `feedback_no_points.md` — behavioral memory confirming no points - `feedback_pipeline_stages_not_phases.md` — behavioral memory confirming stages naming - `claude-custom` `session-start-context.sh` line 291 — downstream blast radius
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-403-2026-03-27
Ticket scope is well-written and all 7 file targets verified, but exceeds the 5-minute rule for a single agent pass.

Issues found:

  • 7 file targets across 5 existing notes + 2 new notes (exceeds 3-target threshold)
  • 6 acceptance criteria (exceeds 5-criteria threshold)
  • Missing consumer:X and blocker:X additions to template-ticket Label Conventions table
  • template-ticket Ticket Lifecycle still has "Plan-driven" PATH 1 with phase/sync_board references (discovered scope, not this ticket)

Recommend decomposition into 3 child tickets:

  1. Points cleanup (template-ticket lifecycle + sop-board-workflow triage) — ~2 min
  2. Convention updates (kanban-over-plans cross-repo + architecture-ids + capacitor SOP stages 5-6) — ~5 min
  3. New conventions (convention-pipeline-stages + convention-blocker-labels + label table updates) — ~5 min
## Scope Review: NEEDS_REFINEMENT Review note: `review-403-2026-03-27` Ticket scope is well-written and all 7 file targets verified, but exceeds the 5-minute rule for a single agent pass. **Issues found:** - 7 file targets across 5 existing notes + 2 new notes (exceeds 3-target threshold) - 6 acceptance criteria (exceeds 5-criteria threshold) - Missing `consumer:X` and `blocker:X` additions to `template-ticket` Label Conventions table - `template-ticket` Ticket Lifecycle still has "Plan-driven" PATH 1 with phase/sync_board references (discovered scope, not this ticket) **Recommend decomposition into 3 child tickets:** 1. Points cleanup (template-ticket lifecycle + sop-board-workflow triage) — ~2 min 2. Convention updates (kanban-over-plans cross-repo + architecture-ids + capacitor SOP stages 5-6) — ~5 min 3. New conventions (convention-pipeline-stages + convention-blocker-labels + label table updates) — ~5 min
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-403-2026-03-27

Ticket is well-formed (all template sections present, traceability triangle complete, all 7 file targets verified) but exceeds decomposition thresholds.

Issues:

  • 7 file targets (threshold: 3) and 6 AC (threshold: 5) — estimated 10-15 min agent work
  • consumer:X and blocker:X label patterns not included in template-ticket Label Conventions table update
  • session-start-context.sh line 291 still says "with points and labels" — needs separate follow-up in claude-custom
  • Test Expectations are behavioral/aspirational, not machine-verifiable from note content alone
  • template-ticket Ticket Lifecycle still references obsolete "Plan-driven" PATH 1 — discovered scope

Recommend decomposition via template-board into 3 sub-tickets:

  1. Points cleanup (2 targets, ~2 min)
  2. Convention updates (3 targets, ~5 min)
  3. New conventions (2 targets, ~5 min)
## Scope Review: NEEDS_REFINEMENT Review note: `review-403-2026-03-27` Ticket is well-formed (all template sections present, traceability triangle complete, all 7 file targets verified) but exceeds decomposition thresholds. **Issues:** - 7 file targets (threshold: 3) and 6 AC (threshold: 5) — estimated 10-15 min agent work - `consumer:X` and `blocker:X` label patterns not included in `template-ticket` Label Conventions table update - `session-start-context.sh` line 291 still says "with points and labels" — needs separate follow-up in claude-custom - Test Expectations are behavioral/aspirational, not machine-verifiable from note content alone - `template-ticket` Ticket Lifecycle still references obsolete "Plan-driven" PATH 1 — discovered scope **Recommend decomposition via template-board into 3 sub-tickets:** 1. Points cleanup (2 targets, ~2 min) 2. Convention updates (3 targets, ~5 min) 3. New conventions (2 targets, ~5 min)
Author
Owner

Issue Body Refined — Dottie (doc librarian)

Addressed all findings from review-403-2026-03-27:

  1. Decomposition — Added "Decomposition (3 sub-tickets)" section with scope/time estimates per sub-ticket. Noted: "execute after scope approval."
  2. Missing label table updates — Added consumer:X and blocker:X rows to Sub-ticket 3 scope and to File Target #1 (template-ticket). Added matching AC line.
  3. Downstream blast radius — New "Downstream Blast Radius" section documenting claude-customsession-start-context.sh line 291 ("with points and labels"). Needs separate claude-custom issue after Sub-ticket 1 lands.
  4. Weak test expectations — Replaced aspirational expectations with 8 concrete, machine-verifiable assertions (note content checks, section existence, field absence).
  5. Discovered scope — Called out template-ticket obsolete "Plan-driven" PATH 1 as out-of-band work.
  6. Checklist — Updated to gate on decomposition approval and blast-radius follow-up issue.

Status remains NEEDS_REFINEMENT pending Betty Sue's decomposition approval.

## Issue Body Refined — Dottie (doc librarian) Addressed all findings from `review-403-2026-03-27`: 1. **Decomposition** — Added "Decomposition (3 sub-tickets)" section with scope/time estimates per sub-ticket. Noted: "execute after scope approval." 2. **Missing label table updates** — Added `consumer:X` and `blocker:X` rows to Sub-ticket 3 scope and to File Target #1 (template-ticket). Added matching AC line. 3. **Downstream blast radius** — New "Downstream Blast Radius" section documenting `claude-custom` → `session-start-context.sh` line 291 ("with points and labels"). Needs separate claude-custom issue after Sub-ticket 1 lands. 4. **Weak test expectations** — Replaced aspirational expectations with 8 concrete, machine-verifiable assertions (note content checks, section existence, field absence). 5. **Discovered scope** — Called out `template-ticket` obsolete "Plan-driven" PATH 1 as out-of-band work. 6. **Checklist** — Updated to gate on decomposition approval and blast-radius follow-up issue. Status remains **NEEDS_REFINEMENT** pending Betty Sue's decomposition approval.
Author
Owner

Decomposition Complete

3 child issues created per the decomposition plan:

# Ticket Scope Targets
1 pal-e-platform#219 Points cleanup template-ticket, sop-board-workflow
2 pal-e-platform#220 Convention updates (cross-repo boards, arch IDs, Capacitor stages) convention-kanban-over-plans, convention-architecture-ids, sop-capacitor-mobile-lifecycle
3 pal-e-platform#221 New conventions + label table NEW convention-pipeline-stages, NEW convention-blocker-labels, template-ticket label table

All child issues reference this parent in Lineage. No deploy order dependency between sub-tickets — they can be executed in parallel.

## Decomposition Complete 3 child issues created per the decomposition plan: | # | Ticket | Scope | Targets | |---|--------|-------|---------| | 1 | [`pal-e-platform#219`](https://forgejo.tail5b443a.ts.net/forgejo_admin/pal-e-platform/issues/219) | Points cleanup | `template-ticket`, `sop-board-workflow` | | 2 | [`pal-e-platform#220`](https://forgejo.tail5b443a.ts.net/forgejo_admin/pal-e-platform/issues/220) | Convention updates (cross-repo boards, arch IDs, Capacitor stages) | `convention-kanban-over-plans`, `convention-architecture-ids`, `sop-capacitor-mobile-lifecycle` | | 3 | [`pal-e-platform#221`](https://forgejo.tail5b443a.ts.net/forgejo_admin/pal-e-platform/issues/221) | New conventions + label table | NEW `convention-pipeline-stages`, NEW `convention-blocker-labels`, `template-ticket` label table | All child issues reference this parent in Lineage. No deploy order dependency between sub-tickets — they can be executed in parallel.
Author
Owner

Scope Review: READY

Review note: review-403-2026-03-28
Re-review after NEEDS_REFINEMENT remediation. All 5 prior recommendations addressed: decomposition into 3 sub-tickets, consumer:X/blocker:X added to scope, downstream blast radius documented, test expectations strengthened, discovered scope tracked. All 7 file targets verified, traceability triangle complete, each sub-ticket fits the 5-minute rule. Ready for sub-ticket creation and dispatch.

## Scope Review: READY Review note: `review-403-2026-03-28` Re-review after NEEDS_REFINEMENT remediation. All 5 prior recommendations addressed: decomposition into 3 sub-tickets, consumer:X/blocker:X added to scope, downstream blast radius documented, test expectations strengthened, discovered scope tracked. All 7 file targets verified, traceability triangle complete, each sub-ticket fits the 5-minute rule. Ready for sub-ticket creation and dispatch.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/pal-e-platform#183
No description provided.