Skip to main content
Version: main 🚧

Issue Triage Dashboard

An interactive snapshot of the repo's open GitHub issues, auto-classified by area (RBAC/Auth, RAG/KB, UI/Admin, …) and type (bug, feature, architecture, docs, chore, ops), plus a Releases by area view that breaks down the merged commits of recent releases across the same areas.

Open the dashboard in a new tab ↗

Point-in-time snapshot

The embedded page is a static snapshot generated from a script — the timestamp in its caption shows when it was last refreshed. Counts and classification are heuristic (derived from labels + title/commit keywords); verify before acting.

Refreshing the snapshot

The dashboard is regenerated manually (no automation yet):

make triage-snapshot

This runs scripts/triage/classify-open-issues.mjs and writes the HTML to docs/static/triage/open-issues.html, which Docusaurus serves at /triage/open-issues.html. Commit the regenerated file to publish it.

Requirements

  • gh CLI, authenticated (gh auth login) — used to fetch open issues.
  • git with tags fetched — used for the per-release "by area" breakdown.
  • Node 18+.

Options

You can run the generator directly for finer control:

node scripts/triage/classify-open-issues.mjs \
--out docs/static/triage/open-issues.html \
--repo cnoe-io/ai-platform-engineering \
--tags 10 \ # initial number of releases shown (in-page slider goes 1–20)
--stale-days 90 # age threshold for the "stale" flag

How classification works

  • Area — first-match-wins keyword rules over labels + title (for issues) or the commit subject (for releases). Anything unmatched falls into Docs/Misc.
  • Type — GitHub labels first (bug, enhancement, documentation, …), then title-keyword heuristics as a fallback.
  • Releases by area — for the last N final-release tags (X.Y.Z, RCs excluded), each release's non-merge commits (minus release-bot version bumps) are classified by area. Bars shows per-release stacked composition; Pie shows the aggregate area share across the selected releases.