From c426b47e1a515cfc60c78b78bc215266b44f7bdf Mon Sep 17 00:00:00 2001 From: IanoNjuguna Date: Wed, 12 Aug 2026 15:34:38 +0300 Subject: [PATCH 1/7] docs: publish triage cadence documentation --- TRIAGE.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 TRIAGE.md diff --git a/TRIAGE.md b/TRIAGE.md new file mode 100644 index 0000000..426010c --- /dev/null +++ b/TRIAGE.md @@ -0,0 +1,58 @@ +# Issue & PR Triage Cadence + +This document defines how issues and pull requests in this repository are triaged, how often, and by whom. It exists so contributors know what to expect and maintainers share one consistent process. + +## Cadence + +| Activity | Frequency | When | +| --- | --- | --- | +| Triage new issues and PRs | Weekly | Ahead of each Developer Experience Working Group session | +| Review open PRs | Within 48 hours of submission | Rolling | +| Revisit stale items | Monthly | First week of each month | + +Triage happens alongside the weekly working group sessions, so newly raised items are discussed while the group is already together. + +## Triage checklist + +For every new issue or PR, the triaging maintainer: + +1. **Acknowledge** — leave a short comment thanking the contributor and setting expectations. +2. **Label** — apply at least one type label (`documentation`, `enhancement`, `bug`) and, where useful, a status label (`triage`, `needs-info`, `good first issue`, `help wanted`). +3. **Assess scope** — small, well-defined items can be approved on the spot; larger proposals are routed to a Developer Advocate for discussion, per the [submission process](CONTRIBUTING.md#submission-process). +4. **Assign or park** — assign an owner, or mark `help wanted` / `good first issue` for community pickup. +5. **Link work** — ensure every PR is linked back to its issue. + +## Labels + +| Label | Meaning | +| --- | --- | +| `triage` | New item not yet reviewed by a maintainer | +| `needs-info` | Waiting on the reporter for details; may go stale if unanswered | +| `good first issue` | Suitable for newcomers | +| `help wanted` | Maintainers would like community help here | +| `stale` | Applied automatically after prolonged inactivity (see automation below) | +| `pinned` | Exempt from stale automation | + +## Response-time expectations (SLAs) + +- **New issues**: first maintainer response within **1 week**. +- **New PRs**: first review within **48 hours**, as stated in `CONTRIBUTING.md`. +- **Agreed work**: PR submitted within **1 week** of scope agreement, per `CONTRIBUTING.md`. + +## Stale automation + +The [`stale.yml`](.github/workflows/stale.yml) workflow enforces the inactivity part of this cadence: + +- **Issues** are marked `stale` after **30 days** without activity and closed **14 days** later if still inactive. +- **PRs** are marked `stale` after **21 days** without activity and closed **7 days** later if still inactive. +- Items labelled `pinned` or `security` are never marked stale. +- Any comment or update resets the clock. + +## Roles + +- **Triagers**: Developer Advocates and repository maintainers. +- **Escalation**: scope or priority disagreements go to the Developer Experience Working Group during its weekly session. + +## Reviewing this document + +This cadence is reviewed quarterly by the working group. Propose changes via a PR that updates this file. From 9c5593c642b3a2a1693e36d2377cd5da60ef9c7c Mon Sep 17 00:00:00 2001 From: IanoNjuguna Date: Wed, 12 Aug 2026 15:35:36 +0300 Subject: [PATCH 2/7] docs: add triage cadence information to contributing guidelines --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index eb798de..c3c8d80 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -150,6 +150,8 @@ Brief description of changes made. 3. Address any feedback or requested changes 4. Once approved, your PR will be merged +Issues and PRs are triaged on a regular cadence — see [TRIAGE.md](TRIAGE.md) for the schedule, labels, response-time expectations, and stale-item policy. + ## Content Guidelines ### Documentation Structure From bbbaedaa9eba8ba11f4c7a6e551df48788373e44 Mon Sep 17 00:00:00 2001 From: IanoNjuguna Date: Wed, 12 Aug 2026 15:36:41 +0300 Subject: [PATCH 3/7] feat: add workflow to mark stale issues and PRs --- .github/workflows/stale.yml | 43 +++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 .github/workflows/stale.yml diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000..c37ae93 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,43 @@ +name: Mark stale issues and PRs + +# Enforces the inactivity windows defined in TRIAGE.md + +on: + schedule: + - cron: "17 6 * * *" # Daily at 06:17 UTC + workflow_dispatch: + +permissions: + issues: write + pull-requests: write + +jobs: + stale: + name: Stale triage + runs-on: ubuntu-latest + steps: + - name: Mark stale items + uses: actions/stale@v9 + with: + stale-issue-message: > + Is this issue abandoned? It had no activity for 30 days. + It has been marked stale and will be closed in 14 days if no further activity occurs. + Add an update to keep it open. + See TRIAGE.md for our triage cadence. + close-issue-message: > + This issue was automatically closed due to continued inactivity. + stale-pr-message: > + Is this pull request abandoned? It had no activity for 21 days. + It has been marked stale and will be closed in 7 days if no further activity occurs. + Add a comment or push a commit to keep it open. + See TRIAGE.md for our triage cadence. + close-pr-message: > + This pull request was automatically closed due to continued inactivity. + days-before-issue-stale: 30 + days-before-issue-close: 14 + days-before-pr-stale: 21 + days-before-pr-close: 7 + stale-issue-label: stale + stale-pr-label: stale + exempt-issue-labels: pinned,security + exempt-pr-labels: pinned,security From 7376fae562a3c0d67aa7c8d02646e3f7a1791cf1 Mon Sep 17 00:00:00 2001 From: IanoNjuguna Date: Wed, 12 Aug 2026 15:45:24 +0300 Subject: [PATCH 4/7] docs: update roles and escalation matrix --- TRIAGE.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/TRIAGE.md b/TRIAGE.md index 426010c..597f9da 100644 --- a/TRIAGE.md +++ b/TRIAGE.md @@ -50,9 +50,5 @@ The [`stale.yml`](.github/workflows/stale.yml) workflow enforces the inactivity ## Roles -- **Triagers**: Developer Advocates and repository maintainers. -- **Escalation**: scope or priority disagreements go to the Developer Experience Working Group during its weekly session. - -## Reviewing this document - -This cadence is reviewed quarterly by the working group. Propose changes via a PR that updates this file. +- **Triagers**: Developer Advocates and the repository maintainers listed in [CODEOWNERS](CODEOWNERS). +- **Escalation**: Scope or priority disagreements are resolved in the weekly working-group session. From 8a766b6d0de250eb78a8ea1d5ad591f381d94d3c Mon Sep 17 00:00:00 2001 From: IanoNjuguna Date: Wed, 12 Aug 2026 15:54:53 +0300 Subject: [PATCH 5/7] docs: add appreciation note and membership information to triage document --- TRIAGE.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/TRIAGE.md b/TRIAGE.md index 597f9da..f86a90f 100644 --- a/TRIAGE.md +++ b/TRIAGE.md @@ -52,3 +52,9 @@ The [`stale.yml`](.github/workflows/stale.yml) workflow enforces the inactivity - **Triagers**: Developer Advocates and the repository maintainers listed in [CODEOWNERS](CODEOWNERS). - **Escalation**: Scope or priority disagreements are resolved in the weekly working-group session. + +--- + +Thank you for helping make Cardano more accessible to developers worldwide! 🚀 + +*For questions about contributing, first become a member at [Intersect](https://www.intersectmbo.org/) and register at [members.intersectmbo.org](https://members.intersectmbo.org/registration) to get voting rights and access to our Discord community's #developer-experience channel. See our [Intersect Membership Guide](docs/intersect-membership-guide.md) for all membership benefits.* From fcb3ff31359840080d94474d5f2c19c2dd545080 Mon Sep 17 00:00:00 2001 From: IanoNjuguna Date: Wed, 12 Aug 2026 21:01:32 +0300 Subject: [PATCH 6/7] docs: update membership guide in triage docs --- TRIAGE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TRIAGE.md b/TRIAGE.md index f86a90f..e0ce1fa 100644 --- a/TRIAGE.md +++ b/TRIAGE.md @@ -45,7 +45,7 @@ The [`stale.yml`](.github/workflows/stale.yml) workflow enforces the inactivity - **Issues** are marked `stale` after **30 days** without activity and closed **14 days** later if still inactive. - **PRs** are marked `stale` after **21 days** without activity and closed **7 days** later if still inactive. -- Items labelled `pinned` or `security` are never marked stale. +- Items labelled `pinned` or `Security` are never marked stale. - Any comment or update resets the clock. ## Roles @@ -57,4 +57,4 @@ The [`stale.yml`](.github/workflows/stale.yml) workflow enforces the inactivity Thank you for helping make Cardano more accessible to developers worldwide! 🚀 -*For questions about contributing, first become a member at [Intersect](https://www.intersectmbo.org/) and register at [members.intersectmbo.org](https://members.intersectmbo.org/registration) to get voting rights and access to our Discord community's #developer-experience channel. See our [Intersect Membership Guide](docs/intersect-membership-guide.md) for all membership benefits.* +*For questions about contributing, first become a member at [Intersect](https://www.intersectmbo.org/) and register at [members.intersectmbo.org](https://members.intersectmbo.org/registration) to get voting rights and access to our Discord community's #developer-experience channel. See our [Intersect Membership Guide](website/docs/intersect-membership-guide.md) for all membership benefits.* From ee2ae527f7e9e4f643e848b989bdb551fd886999 Mon Sep 17 00:00:00 2001 From: IanoNjuguna Date: Wed, 12 Aug 2026 21:02:59 +0300 Subject: [PATCH 7/7] docs: correct casing for exempt labels in stale workflow --- .github/workflows/stale.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index c37ae93..06c6cec 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -39,5 +39,5 @@ jobs: days-before-pr-close: 7 stale-issue-label: stale stale-pr-label: stale - exempt-issue-labels: pinned,security - exempt-pr-labels: pinned,security + exempt-issue-labels: pinned,Security + exempt-pr-labels: pinned,Security