Add a basic linter service
Metadata
Current evaluation
Implemented the extensible linter framework in craft-application by merging PR #907 (commit a76bcaa6), providing shared linter registration and execution for downstream apps.
Resolution: closed resolved
Reason: PR #907 merged as commit a76bcaa6 and added AbstractLinter, LinterService, Testcraft integration, and documentation. It also closed the equivalent New Linter Service work in #782.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### What needs to get done
Add a basic linter service that provides an extensible linter framework
### Why it needs to get done
Both snapcraft and charmcraft implement linters in pretty similar ways. We should provide a linter service to take care of most of that so all craft applications can use it.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Implemented the extensible linter framework in craft-application by merging PR #907 (commit a76bcaa6), providing shared linter registration and execution for downstream apps. | |
| stealth/space-bunny-alpha | — | closed resolved | The requested linter framework was implemented in merged craft-application PR #907 (commit a76bcaa6), adding an extensible LinterService for downstream applications. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The proposal to build a shared extensible linter service was deferred to internal Jira ticket CRAFT-2602 and subsequently abandoned. | |
| qwen/qwen3.8-27b |
Impact:
10
Quick Win:
4
Staleness:
80
Complexity:
55
Confidence:
85
Support Request:
0
|
close stale | Feature request for a shared, extensible linter service for craft applications. The LinterService framework was merged in PR #907; the issue is stale (last activity 465 days ago, bot comment only) and can be closed as implemented. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
90
Complexity:
45
Confidence:
85
Support Request:
5
|
close stale | Feature request for a shared linter service across snapcraft and charmcraft. Unlabelled, unassigned, and inactive for over 14 months with no maintainer discussion or progress. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
85
Complexity:
65
Confidence:
70
Support Request:
10
|
needs triage | Feature request to implement a shared linter service for snapcraft and charmcraft. Unassessed, unlabelled, and inactive for over a year. |
Update history
| Date | Change |
|---|---|
| closed |
Related work
-
Likely Fixed By:
canonical/craft-application#907
(confidence 99%)
Merged as commit a76bcaa6, adding the shared extensible linter framework.
-
Duplicate Of:
canonical/craft-application#782
(confidence 85%)
Tracked the same linter-service work and was closed by PR #907.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #907 feat(linter): add linter service framework | craft-application | merged | Merged PR #907 as commit a76bcaa6, adding a shared Linter Service for consistent downstream registration and execution of linters and closing craft-application#782. | |
| #2315 Use Craft Application's Linter Service | charmcraft | closed | LinterService bounty closed without implementation; craft-application#907 delivered the shared service, and Charmcraft migration was retriaged as canonical/charmcraft#2546. | |
| #5542 Use Craft Application's Linter Service | snapcraft | closed | Closed by mr-cal (2026-01-21) as a bounty with no implementation. craft-application#907 (commit a76bcaa6) merged the shared Linter Service, and the migration work was moved to charmcraft#2546, still open. | |
| #5971 Use Craft Application's Linter Service | snapcraft | open | Triaged refactor to replace Snapcraft's bespoke linter runner and reporting with Craft Application's LinterService; the prerequisite is merged, but migration remains unimplemented. | |
| #782 New Linter Service | craft-application | closed | Merged PR #907 (commit a76bcaa6), adding AbstractLinter, LinterService, Testcraft integration, and linter-author documentation; this completed the bounty and closed #782. | |
| #2546 Use Craft Application's Linter Service | charmcraft | open | Charmcraft’s triaged refactor to adopt Craft Application’s merged LinterService remains open; 11 custom checkers still run through Charmcraft’s AnalysisService. |