← Back to issue list

Remove `work_dir` argument from `ProviderService` methods

View original Github issue

Metadata

Project
craft-application
Number
#606
Type
issue
State
open
Author
mattculler
Labels
—
Created
Updated
Closed
—

Current evaluation

ProviderService stores work_dir in __init__ but instance() still requires its own work_dir while clean_instances() uses self._work_dir; refactor requested to remove method argument. No maintainer triage yet.

Suggested action: needs triage

Reason: The issue has no labels, assignee, or substantive maintainer assessment; comments are only the Jira bot link and a joke 'Could not reproduce' reply. Source inspection confirms the inconsistency: instance() requires work_dir while clean_instances() uses self._work_dir, so the report is valid but remains untriaged.

Evaluated by: mr-cal-bot

Impact: 30 Quick Win: 12 Complexity: 45 Confidence: 72 Actionability: 70

Issue body

### Bug Description The `ProviderService` class's `__init__` takes a `work_dir` argument, stored as `self._work_dir`. Some `ProviderService` methods use this, but others take their own `work_dir` and use that instead. This situation is confusing at best, a source of potential bugs at worst. Ideally, all `work_dir` arguments to methods can be removed and replaced with `self._work_dir`. If some method(s) actually do need a different work dir, perhaps the argument should be named something different? Or if it truly should be called `work_dir` and methods need to take their own, comment(s) illuminating the situation should be added. This same situation doesn't exist on other `service` classes. ### To Reproduce `vi craft_application/services/provider.py`

Evaluation history

Date Model Scores Action Summary
~deepseek/deepseek-pro-latest
Impact: 30
Quick Win: 12
Complexity: 45
Confidence: 72
Actionability: 70
needs triage ProviderService stores work_dir in __init__ but instance() still requires its own work_dir while clean_instances() uses self._work_dir; refactor requested to remove method argument. No maintainer triage yet.
stealth/space-bunny-alpha
Impact: 25
Quick Win: 7
Complexity: 40
Confidence: 92
Actionability: 45
needs triage ProviderService still requires work_dir on instance(), while clean_instances() uses self._work_dir, leaving the API inconsistent without maintainer triage.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 19
Complexity: 20
Confidence: 70
Actionability: 80
keep open Refactor ProviderService to remove redundant work_dir method arguments and use self._work_dir consistently
qwen/qwen3.8-27b
Impact: 25
Quick Win: 14
Staleness: 75
Complexity: 45
Confidence: 80
Support Request: 5
needs triage Refactor request to remove redundant work_dir arguments from ProviderService methods in favor of self._work_dir. Open since 593 days ago with only a bot ticket sync and a failed reproduction attempt; no labels or maintainer triage.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 15
Confidence: 90
Support Request: 0
close stale Inconsistency in ProviderService where some methods take a work_dir argument instead of using self._work_dir. Untriaged, inactive for over a year, with no maintainer follow-up.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 20
Confidence: 80
Support Request: 5
needs triage Inconsistency in ProviderService where some methods accept a work_dir argument while others use self._work_dir. Issue is open, unlabelled, and inactive for over a year with no maintainer resolution.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#649 feat(ProviderService): deprecate work_dir on instance craft-application open Maintainer PR deprecating the redundant work_dir argument to ProviderService.instance() (emits a deprecation warning, keeps the arg for a future major release). Approved with no unresolved comments, but stale and CI is red.
74%