From 7fcaa2ea1e71fbf7314ac633cc274d63dafdd06d Mon Sep 17 00:00:00 2001 From: "celo-template-sync[bot]" <318017900+celo-template-sync[bot]@users.noreply.github.com> Date: Tue, 18 Aug 2026 14:49:13 +0000 Subject: [PATCH] chore(kit): synced file(s) with celo-org/pm-kit --- .claude/shared/engineering-rules.md | 2 +- .github/ISSUE_TEMPLATE/bug_report.yml | 8 ++++++++ .github/ISSUE_TEMPLATE/task.yml | 8 ++++++++ .github/ISSUE_TEMPLATE/user_story.yml | 8 ++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/.claude/shared/engineering-rules.md b/.claude/shared/engineering-rules.md index 716faabda..4dd01984a 100644 --- a/.claude/shared/engineering-rules.md +++ b/.claude/shared/engineering-rules.md @@ -35,7 +35,7 @@ The two rules that hold everything else together: **When your issue turns out wrong, correct it in-thread:** what was wrong, what's true, and who downstream inherited it — name the affected PRs. Retitle when scope narrows. One home per work item. -**Priority lives in labels** — `priority:critical|high|medium|low` — not board fields. `priority:critical` = money correctness, security, or user-visible wrong data. Don't inflate it. The same label set exists in every repo (created by `pm-kit/protection/create-labels.sh`; never invent labels or alternative schemes like `P0`/bare `high`). The issue forms make Priority a required dropdown, and the `issue-priority-label` workflow converts the selection into the label automatically — so a filed issue carries its priority from minute one; if you file an issue without the form, add the label yourself. **Every issue lands on the team project board automatically** (the board's auto-add workflow watches these repos) — never file-and-forget an issue off the board; if you see one without a board entry or priority label, that's a defect in the process, fix it and say so. +**Priority lives in labels** — `priority:critical|high|medium|low` — not board fields. `priority:critical` = money correctness, security, or user-visible wrong data. Don't inflate it. The same label set exists in every repo (created by `pm-kit/protection/create-labels.sh`; never invent labels or alternative schemes like `P0`/bare `high`). The issue forms make Priority a required dropdown, and the `issue-priority-label` workflow converts the selection into the label automatically — so a filed issue carries its priority from minute one; if you file an issue without the form, add the label yourself. **Size the work at filing** — `size:S` (hours) / `size:M` (a day-ish) / `size:L` (multi-day) via the form's Size dropdown, auto-labeled the same way; before picking L, ask whether it splits (same-diff / different-schedule tests above). **Assign an owner at filing** — default to the person most recently active in the code the issue touches; an unassigned issue is a queue nobody reads. **Every issue lands on the team project board automatically** (the board's auto-add workflow watches these repos) — never file-and-forget an issue off the board; if you see one without a board entry, priority, size, or owner, that's a defect in the process, fix it and say so. --- diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 6a65ee5b3..8eeb50fd4 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -77,3 +77,11 @@ body: description: Console output, error messages, screenshots, tx hashes. validations: required: false + - type: dropdown + id: size + attributes: + label: Size + description: "T-shirt estimate of the fix. If you'd pick L, first ask whether it splits." + options: ["S — hours", "M — a day-ish", "L — multi-day (split it if you can)"] + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/task.yml b/.github/ISSUE_TEMPLATE/task.yml index f17880c8c..8f16a84be 100644 --- a/.github/ISSUE_TEMPLATE/task.yml +++ b/.github/ISSUE_TEMPLATE/task.yml @@ -26,3 +26,11 @@ body: options: ["critical — money correctness, security, or user-visible wrong data", "high", "medium", "low"] validations: required: true + - type: dropdown + id: size + attributes: + label: Size + description: "T-shirt estimate of the fix. If you'd pick L, first ask whether it splits." + options: ["S — hours", "M — a day-ish", "L — multi-day (split it if you can)"] + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/user_story.yml b/.github/ISSUE_TEMPLATE/user_story.yml index ba72f90ab..34d522927 100644 --- a/.github/ISSUE_TEMPLATE/user_story.yml +++ b/.github/ISSUE_TEMPLATE/user_story.yml @@ -58,3 +58,11 @@ body: description: Links to designs, affected files or modules, API changes, migration needs. validations: required: false + - type: dropdown + id: size + attributes: + label: Size + description: "T-shirt estimate of the fix. If you'd pick L, first ask whether it splits." + options: ["S — hours", "M — a day-ish", "L — multi-day (split it if you can)"] + validations: + required: true