Remove `work_dir` argument from `ProviderService` methods
Metadata
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. |