← Back to issue list

Use Craft Application's Linter Service

View original Github issue

Metadata

Project
snapcraft
Number
#5971
Type
issue
State
open
Author
mr-cal
Labels
Status: Triaged Type: Refactor
Created
Updated
Closed

Current evaluation

Refactor to migrate snapcraft linters to craft-application's LinterService. Triaged and labeled; upstream framework (craft-application#907) is merged, but no code changes yet. Supersedes closed #5542.

Suggested action: keep open

Reason: The issue is triaged (labeled Status: Triaged, Type: Refactor) and remains valid: no LinterService references exist in snapcraft code, and the upstream dependency craft-application#907 is now merged, unblocking the migration. The superseded issue #5542 was closed without implementation, and a parallel issue charmcraft#2546 is also open, confirming this is an active cross-project refactor.

Impact: 45 Quick Win: 13.5 Staleness: 60 Complexity: 70 Confidence: 75 Support Request: 5

Issue body

### Check existing issues - [x] I've verified that this request isn't described by any existing issues. ### Request Migrate to the Linter Service as implemented at https://github.com/canonical/craft-application/issues/782 * All linters are implementations of the Craft Application class * The lint command uses the LinterService * Any other uses of linters use the LinterService ### The problem it solves Snapcraft and Charmcraft lint snaps and charms respectively at the end of the lifecycle. These linters don’t share common code and don’t have a similar UX. Additionally, there isn’t a way to add linters to other *craft apps without significant code duplication. Supersedes #5542

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 45
Quick Win: 13.5
Staleness: 60
Complexity: 70
Confidence: 75
Support Request: 5
keep open Refactor to migrate snapcraft linters to craft-application's LinterService. Triaged and labeled; upstream framework (craft-application#907) is merged, but no code changes yet. Supersedes closed #5542.
qwen/qwen3.6-35b-a3b
Staleness: 60
Complexity: 75
Confidence: 90
Support Request: 10
keep open Refactor to migrate snapcraft and charmcraft linters to the shared Craft Application LinterService. Triaged by a maintainer but inactive for approximately six months with only automated Jira sync comments.
qwen3.6-35b-a3b-mtp-q6
Staleness: 65
Complexity: 45
Confidence: 85
Support Request: 0
keep open Refactor to migrate linters to the shared Craft Application LinterService. Triaged by a maintainer but inactive for ~5.5 months with only automated Jira sync comments.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 45
Confidence: 90
Support Request: 0
keep open Refactor to migrate linters to the shared Craft Application LinterService, unifying UX and eliminating code duplication across snapcraft and charmcraft. Currently triaged, inactive for 145 days, and awaiting assignment.

Update history

No update history recorded yet.

Related work

  • Related To: craft-application#907 (confidence 90%)

    Upstream PR that implemented the LinterService framework; merged and available for adoption.

  • Duplicate Of: snapcraft#5542 (confidence 85%)

    This issue explicitly supersedes #5542, which was closed without implementation after its bounty expired.

  • Related To: charmcraft#2546 (confidence 80%)

    Parallel issue in charmcraft for the same LinterService migration; also triaged and open.

Related issues

Issue Project State Summary Similarity
#2546 Use Craft Application's Linter Service charmcraft open Refactor to migrate charmcraft's linters to craft-application's shared LinterService for consistent lint UX across craft apps. Triaged and open; upstream framework (craft-application#907) is merged, but no code changes yet and no human activity for ~7 months.
91%
#2315 Use Craft Application's Linter Service charmcraft closed The bounty for migrating to the Craft Application Linter Service was closed, abandoning the issue. Implementation remained blocked by upstream dependency resolution, and no code changes were merged.
83%
#5542 Use Craft Application's Linter Service snapcraft closed Abandoned without implementation. Migrating linters to the Craft Application LinterService was blocked by the upstream dependency, and the associated $400 bounty was closed.
82%
#907 feat(linter): add linter service framework craft-application merged Merged a shared Linter Service framework for craft-application, enabling consistent linting across downstream apps. Approved by three reviewers, passed all CI checks, and closed issue #782.
78%