| name | klum-normalize-issues |
| description | Turn confirmed KlumAST curation decisions into structured GitHub issue updates, duplicate closures, and obsolete-issue explanations. Use only after the maintainer has confirmed intent, disposition, and release placement. |
Normalize KlumAST Issues
Apply confirmed decisions while retaining useful issue history.
Verify authorization and context
- Read
AGENTS.md, CONTEXT.md, docs/agents/issue-tracker.md, docs/agents/triage-labels.md, docs/agents/feature-triage.md, and the full target issue bodies and comments.
- Read the confirmed interview summary, curation indexes, linked ADRs, implementation plans, wiki contracts, tests, and release notes.
- Stop and return unresolved points to
$klum-grill-issue when intent, canonical issue, closure reason, or release placement is not confirmed.
Draft canonical issues
Use only sections that add information:
Problem
Motivation
Use case
Current behavior
Desired behavior
Constraints and compatibility
Proposed direction
Acceptance criteria
Open questions
Related issues and decisions
Release target
Maintainer decision
For a newly triaged enhancement, use Use case to record the primary use case, need horizon, workaround viability, and an
optional secondary angle. Derive the minimum accepted scope from the primary use case and keep the secondary angle separate.
When evidence is absent, omit the section or record unknown; this alone does not return the issue to grilling or block
normalization. Previously triaged issues need this addition only when they are already being revisited. A complexity-free
mini-feature may record a quick-win rationale instead.
Use CONTEXT.md vocabulary. Preserve historically useful motivation and discussion through concise summaries and links. Link stable repository artifacts instead of copying their contents.
For a duplicate, identify the canonical issue and explain the overlap. For completed or obsolete work, cite the implementation, release note, or architectural decision that resolves or supersedes it.
Review, then mutate
Every GitHub comment or body produced during triage must start with:
> *This was generated by AI during triage.*
Present the exact proposed body, comments, labels, milestone, and state changes before applying them. Apply only the confirmed mutations using the repository's GitHub workflow. Never broaden a body update into an unconfirmed label, milestone, or closure change.
Finish only when each authorized issue has the confirmed body/disposition, canonical and duplicate issues cross-link, and the local curation cache matches GitHub reality.