chore(ci): add issue triage, stale, and Slack PR automation - #725
Merged
Conversation
- add issue forms (bug/feature) with required EW, scope, request-type, and priority fields; disable blank issues - triage-assign: apply `ew` and `scope:*` labels and auto-assign area owners - issue-completeness: flag missing info with `triage-incomplete` plus an OP-tagged comment that clears once the issue is complete - stale: warn then close inactive issues (60d + 21d) and PRs (49d + 14d) - slack-pr-ticker: route core vs outside-contributor PRs to two channels - document the automation in CONTRIBUTING.md Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- change checkbox to "This PR's scope is Experience Workspace" - keep pr-ew-review detection regex in sync with the new wording Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
mhaack
requested changes
Sep 7, 2026
mhaack
reviewed
Sep 7, 2026
…plates - drop the "EW related?" dropdown from bug/feature forms - drop the EW checkbox from the PR template - remove the pr-ew-review workflow and ew labeling in triage-assign Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- drop the placeholder "Heli" scope from bug/feature forms - remove its triage-assign mapping and CONTRIBUTING table row Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Notice #1 (re-engage): no-pressure check-in at the stale threshold - Notice #2 (final): companion step posts a closing-soon warning ~7 days out - close after the grace period - scope to items created on/after 2026-03-01 (start-date) - exempt `hold` and `awaiting-maintainer` labels for PTO / on-us cases Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
mhaack
previously approved these changes
Sep 7, 2026
- explain the two notices (re-engage, then final notice) before close - note `hold` and `awaiting-maintainer` pause stale for PTO / on-us cases - note the flow only applies to items created on/after 2026-03-01 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- triage-assign: apply scope label only, drop auto-assignment (work from the board) - issue forms: replace "Customer request or developer need?" with "Who is affected?" (customer-facing / internal) - issue forms: remove the Priority field - issue-completeness: check "Who is affected?", drop the priority check - CONTRIBUTING: reflect label-only triage and the new field Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Member
Author
|
Thanks @maximilianvoss @mhaack , this is much tighter now. Here's what changed based on the review:
I kept the Scope list as is (MCP and friends included) and the structured |
mhaack
approved these changes
Sep 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this does
This adds a set of GitHub Actions bots and issue/PR templates to help us keep
the backlog tidy without much manual effort. There is no runtime or site-visible
change here, it is all repo automation under
.github/.Included:
"Experience Workspace (EW)" question, a Scope / Area picker, customer-vs-developer,
and priority (P0 to P3). Blank issues are disabled.
ewlabel when EW is selected, adds ascope:*label, and auto-assigns the area owner(s) based on scope.
(description, customer-vs-developer, priority, and for bugs the repro steps and a
repro link). If something is missing it applies
triage-incompleteand leaves asingle comment that tags the reporter and clears once the issue is complete. A
video is prompted but never blocks.
the
ewlabel and requests review from the core team (excluding the PR author).external contributions to separate channels.
then 14). Any activity resets it, and
pinned/security/keep-open/milestoned items are exempt.
Notes before this is fully live
main, so nothing runs from the branch alone (stale can be triggered manually viaworkflow_dispatch to smoke-test).
SLACK_WEBHOOK_CORE_PRSandSLACK_WEBHOOK_COMMUNITY_PRS. It fails safe and just skips if they are absent.better label.
Fix #
Test URLs:
.github/automation.Experience Workspace (EW)