Fork PRs downgrade GITHUB_TOKEN to read-only, causing 403 when
applying labels. pull_request_target runs in the base repo context
and grants the declared write permissions.
- Fetch labels dynamically from GitHub API at runtime
- Group labels by prefix (area:, type:, format:, other)
- Use llama3.1:8b model for accurate classification
- Normalize label spacing (handle "area:x" vs "area: x")
- Use env vars to safely pass LLM response (avoids template string issues)
- Add workflow_dispatch for manual testing on existing issues
Tested: 8B model correctly identifies tinytorch vs book issues.
1B/3B models had accuracy issues with area classification.
- Remove all static label definitions
- Fetch labels at runtime via GitHub API (listLabelsForRepo)
- Group labels by prefix (area:, type:, format:, other)
- Pass dynamic label lists to LLM for analysis
- Validate LLM response against actual repo labels only
- Add workflow_dispatch trigger for manual testing on existing issues/PRs
Now adding/removing labels in GitHub automatically updates the workflow
without any code changes.
- LLM-powered labeler (auto-label.yml): Uses Ollama llama3.2:1b to analyze
issue/PR content and apply project + type labels automatically
- Path-based PR labeler (pr-labeler.yml): Fast fallback using file paths
- Updated doc emoji title to 'Word Wizard'
This enables all-contributors to auto-detect projects from labels.