← Back to issue list

Use craft-application's store service

View original Github issue

Metadata

Project
charmcraft
Number
#1154
Type
issue
State
open
Author
lengau
Labels
Created
Updated
Closed

Current evaluation

Refactor Store class into a craft-application Service and migrate store commands to AppCommand subclasses. Partially done: StoreService exists (PR #1459) and commands are AppCommand subclasses, but the legacy Store class is still used directly in 15+ places in store.py.

Suggested action: keep open

Reason: The store service was created in PR #1459 and commands are already AppCommand subclasses via CharmcraftCommand, but charmcraft/store/store.py still defines the legacy Store class which is instantiated directly 15+ times in application/commands/store.py. The refactoring is partially complete and still relevant; no maintainer has closed or deprioritized it.

Impact: 30 Quick Win: 12.0 Staleness: 55 Complexity: 60 Confidence: 70 Support Request: 0

Issue body

### What needs to get done https://github.com/canonical/charmcraft/blob/main/charmcraft/commands/store/store.py That class needs to be changed to a Service class (which should just be rewriting `__init__` and subclassing `BaseService`). Once that's done, we can migrate the store commands to AppCommand subclasses and use craft-application for them. https://github.com/canonical/charmcraft/blob/main/charmcraft/commands/store/__init__.py ### Why it needs to get done craft-application project

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 30
Quick Win: 12.0
Staleness: 55
Complexity: 60
Confidence: 70
Support Request: 0
keep open Refactor Store class into a craft-application Service and migrate store commands to AppCommand subclasses. Partially done: StoreService exists (PR #1459) and commands are AppCommand subclasses, but the legacy Store class is still used directly in 15+ places in store.py.
qwen/qwen3.6-35b-a3b
Staleness: 75
Complexity: 65
Confidence: 85
Support Request: 5
needs triage Refactor store.py into a BaseService class to integrate with craft-application. Unlabelled, zero comments, inactive for nearly a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 55
Confidence: 75
Support Request: 5
needs triage Architectural refactor to migrate store commands to craft-application service pattern. Issue remains unlabelled, unassigned, and inactive for over three years with no maintainer comments.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 50
Confidence: 75
Support Request: 5
close stale Architectural migration task to refactor the store module into a craft-application service. Over three years old with no comments, labels, or maintainer engagement.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 45
Confidence: 75
Support Request: 5
needs triage Refactor the store class into a BaseService subclass and migrate commands to AppCommand for craft-application integration. Open, inactive for 304 days, and unassigned, requiring triage and assignment.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/charmcraft#1459 (confidence 75%)

    PR 'feat: basic store service' created BaseStoreService and StoreService in charmcraft/services/store.py, addressing the first part of this issue (converting Store to a Service class).

Related issues

Issue Project State Summary Similarity
#1284 Migrate store commands to craft-application charmcraft closed Closed without resolution or comments after over three years. The store command migration to craft-application was abandoned or completed out-of-band.
77%
#1358 feat(craft-application): migrate store commands charmcraft merged Migrated store commands in craft-application. Approved by three reviewers and merged, modifying 29 files with 2859 additions and 344 deletions.
74%