diff --git a/.archon/workflows/repo-triage.yaml b/.archon/workflows/repo-triage.yaml new file mode 100644 index 0000000000..30d1520b98 --- /dev/null +++ b/.archon/workflows/repo-triage.yaml @@ -0,0 +1,1582 @@ +name: repo-triage +description: >- + Periodic repo maintenance — in parallel, triages open issues (labels + + dedup detection + 3-day auto-close) and cross-references open PRs against + open issues (conservative: suggests Closes #X only when a PR fully + addresses an issue, never closes anything itself). State is persisted + under .archon/state/ so prior runs are remembered. Designed for periodic + runs; safe to re-run; idempotent. +interactive: false + +nodes: + # --------------------------------------------------------------------------- + # Issue triage — runs concurrently with pr-link (no depends_on between them). + # --------------------------------------------------------------------------- + - id: triage-issues + model: sonnet + allowed_tools: [Bash, Read, Write, Task] + agents: + brief-gen: + description: >- + Reads a single GitHub issue and returns a concise JSON brief, + plus a template-adherence check if the caller provided template + context. Used for duplicate detection + template-fill reporting. + model: haiku + tools: [Bash, Read] + prompt: | + You are a concise GitHub issue summariser. The caller's prompt + will include an issue number AND (optionally) the issue + templates from `.github/ISSUE_TEMPLATE/`. + + Fetch the issue: + gh issue view --json number,title,body,labels,author + + Return ONLY a single JSON object — no fences, no prose: + + { + "number": , + "summary": "2-3 sentence neutral summary", + "primarySymptom": "one short sentence — the core symptom or ask", + "area": "best-guess tag, e.g. backend, frontend, docs, core, isolation, cli, workflows, providers", + "templateAdherence": { + "templateType": "bug_report | feature_request | other | none", + "sectionsFilled": ["
"], + "sectionsMissing": ["