← 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

Store interactions now use a craft-application AppService, and all store commands inherit AppCommand; completed by commit 5dcad2af and related craft-application migration work.

Suggested action: close resolved

Reason: Commit 5dcad2af (charmcraft#1459) introduced the basic store service. The current BaseStoreService subclasses craft_application.AppService, CharmcraftCommand subclasses craft_application.commands.AppCommand, and every store command inherits CharmcraftCommand.

Evaluated by: mr-cal-bot

Impact: 42 Quick Win: 19 Complexity: 54 Confidence: 99 Actionability: 98

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
stealth/space-bunny-alpha
Impact: 42
Quick Win: 19
Complexity: 54
Confidence: 99
Actionability: 98
close resolved Store interactions now use a craft-application AppService, and all store commands inherit AppCommand; completed by commit 5dcad2af and related craft-application migration work.
qwen/qwen3.6-35b-a3b
Impact: 10
Quick Win: 9
Complexity: 10
Confidence: 100
Actionability: 100
close resolved Store service migration to craft-application's AppService pattern is complete. StoreService exists and commands use it.
qwen/qwen3.8-27b
Impact: 30
Quick Win: 12
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.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: charmcraft#1459 (confidence 99%)

    Commit 5dcad2af introduced the craft-application-based store service now present in charmcraft/services/store.py.

  • Likely Fixed By: charmcraft#1399 (confidence 88%)

    Commit 3ba803d1 performed a craft-application rebase that contributed to the AppCommand-based command architecture.

Related issues

Issue Project State Summary Similarity
#1284 Migrate store commands to craft-application charmcraft closed Store commands were migrated to craft-application in merged PR #1358 (commit 5cb01186); commit 9da46c37 later removed the unused legacy implementations.
81%
#1358 feat(craft-application): migrate store commands charmcraft merged Merged PR #1358 migrated Charmcraft store commands to craft-application, completing #1284; 5cb01186 contains the mechanical migration, and 9da46c37 later removed legacy implementations.
77%
#1459 feat: basic store service charmcraft merged Merged in canonical/charmcraft#1459 (5dcad2af), adding a craft-application-style StoreService for store commands with Charmcraft-specific defaults.
73%