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 ↗
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
ghCLI, authenticated (gh auth login) — used to fetch open issues.gitwith 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 intoDocs/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.