Skip to content

Set an issue type on every template - #8

Merged
DerekCorniello merged 1 commit into
mainfrom
feat/issue-types
Aug 24, 2026
Merged

Set an issue type on every template#8
DerekCorniello merged 1 commit into
mainfrom
feat/issue-types

Conversation

@DerekCorniello

Copy link
Copy Markdown
Contributor

Part of muxlang/mux-context#19 ("add issue types back").

The org now has five issue types, created and backfilled onto all 15 open issues:

Type For
Bug Something behaves incorrectly, crashes, or produces a wrong answer
Enhancement A new capability, or an existing one made better
Documentation Docs are missing, wrong, or misleading
Chore Maintenance that changes no behaviour: CI, dependencies, refactors, tests
Decision A cross-repo question, or a design choice to record as an ADR

Every template now sets one, so kind is recorded at filing time rather than inferred from the form and re-encoded as a label during triage.

The two mappings worth questioning

  • Syntax spec change -> Enhancement. It asks for the language surface to move, which is not a defect.
  • Grammar sync -> Chore. It re-aligns a grammar with a spec that already moved, so it changes no behaviour of its own.

mux-context's two forms are both Decision: a cross-repo question and an ADR proposal are the same act at different stages of confidence.

What happens to labels

Types take kind. Labels keep the axes a single-select type cannot express:

  • area - stdlib, frontend, playground, grammar, ffi
  • state - blocked, needs testing, needs triage
  • disposition - duplicate, invalid, wontfix, good first issue

What retires is applying a kind label at triage, since it now duplicates the field. enhancement and documentation are the two that overlap; they are left in labels.yml for now rather than deleted out from under existing issues - worth a follow-up once the types have been in use for a bit.

Issue types make kind a first-class field instead of something inferred from
which form was used and then re-encoded as a label at triage. The org now has
five: Bug, Enhancement, Documentation, Chore, Decision.

The mapping follows what each form already means. A syntax spec change asks
for the language surface to move, so it is an Enhancement rather than a
defect; a grammar sync re-aligns with a spec that already moved, so it
changes no behaviour of its own and is a Chore. mux-context's two forms are
both Decision - a cross-repo question and an ADR proposal are the same act at
different stages of confidence.

Labels keep the axes types cannot: area (stdlib, frontend, playground),
state (blocked, needs testing), and disposition (duplicate, wontfix). What
retires is the kind label applied at triage, which now duplicates the field.
@sonarqubecloud

Copy link
Copy Markdown

@greptile-apps

greptile-apps Bot commented Aug 21, 2026

Copy link
Copy Markdown

Greptile Summary

The PR assigns an organization issue type to every managed issue form so issue kind is recorded when an issue is filed.

  • Maps bug, feature, and documentation forms to their corresponding issue types.
  • Maps cross-repository questions and ADR proposals to Decision.
  • Maps syntax specification changes to Enhancement and grammar synchronization to Chore.
  • Preserves existing labels and assignees.

Confidence Score: 5/5

The PR appears safe to merge, with all managed issue forms consistently assigned an existing organization issue type.

The template inventory is complete, blank issues are disabled, and the synchronization path preserves the added metadata without transformation.

Important Files Changed

Filename Overview
templates/mux-context/ISSUE_TEMPLATE/adr_proposal.yml Adds the Decision issue type to ADR and cross-repository design work as described by the PR.
templates/mux-context/ISSUE_TEMPLATE/cross_repo_question.yml Adds the Decision issue type to cross-repository questions without changing existing form behavior.
templates/mux-syntax-highlighting/ISSUE_TEMPLATE/syntax_spec_change.yml Classifies proposed canonical syntax changes as Enhancement.
templates/tree-sitter-mux/ISSUE_TEMPLATE/grammar_sync.yml Classifies synchronization with the existing canonical syntax specification as Chore.
templates/mux-compiler/ISSUE_TEMPLATE/bug_report.yml Adds the Bug issue type while retaining the existing triage label and assignee.
templates/mux-website/ISSUE_TEMPLATE/documentation_fix.yml Adds the Documentation issue type while retaining the existing documentation and triage labels.

Reviews (1): Last reviewed commit: "Set an issue type on every template" | Re-trigger Greptile

@DerekCorniello
DerekCorniello merged commit eeaa78d into main Aug 24, 2026
3 checks passed
@DerekCorniello
DerekCorniello deleted the feat/issue-types branch August 24, 2026 19:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant