Create an inner class for LXD variables
Metadata
Current evaluation
Maintainer-filed enhancement to group LXD launcher variables into an inner class/dataclass to shrink launch()'s long parameter lists; still open, approach under discussion.
Suggested action: keep open
Reason: The code still exhibits the exact problem described: craft_providers/lxd/launcher.py:713 `launch()` and :379 `_launch_existing_instance()` both carry `# noqa: PLR0913, too many arguments`, and `_create_instance()` takes 13 keyword arguments passed through from `launch()` twice. The issue is labeled 'Type: Enhancement', authored by a maintainer, and has an active maintainer comment from @cmatsuoka (2026-08-28) proposing an alternative 'launcher context dataclass instead of using a wrapper class', so it is triaged and valid, not stale. Git log for launcher.py shows no commit implementing it (noqas are still present), so it is not resolved. It cannot be closed, but actionability is only moderate because the two design options (inner class vs dataclass) remain undecided and the internal helpers are heavily mocked in tests/unit/lxd/test_launcher.py, so signature changes ripple into the test suite.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
28
Quick Win:
8
Complexity:
48
Confidence:
76
Actionability:
58
|
keep open | Maintainer-filed enhancement to group LXD launcher variables into an inner class/dataclass to shrink launch()'s long parameter lists; still open, approach under discussion. | |
| stealth/space-bunny-alpha |
Impact:
27
Quick Win:
9
Complexity:
46
Confidence:
76
Actionability:
61
|
keep open | Maintainer-proposed LXD refactor to group launcher-related variables in an inner class or context dataclass, reducing long parameter lists; implementation approach remains under discussion. | |
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
50
Quick Win:
32
Staleness:
65
Complexity:
35
Confidence:
70
Support Request:
0
|
keep open | Enhancement to create an inner class or dataclass for LXD variables to reduce parameter lists in launcher.py methods | |
| qwen/qwen3.8-27b |
Impact:
25
Quick Win:
14
Staleness:
5
Complexity:
45
Confidence:
85
Support Request:
0
|
keep open | Enhancement to add an inner class (or launcher context dataclass) in the lxd module to consolidate the huge parameter lists of launcher.launch() and related internal calls. Still unimplemented; recent maintainer comment proposes a dataclass approach. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
90
Complexity:
25
Confidence:
85
Support Request:
0
|
needs triage | Enhancement to group LXD variables into an inner class in the lxd module, reducing large parameter lists in internal methods. Unassigned, no maintainer comments, inactive for over a year. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
90
Complexity:
20
Confidence:
80
Support Request:
0
|
needs triage | Refactoring task to group LXD-related variables into an inner class to reduce parameter lists in internal methods. Unassigned, no maintainer comments, and inactive for over a year. |
Update history
| Date | Change |
|---|---|
| updated |
Related work
-
Related To:
craft-providers#802
(confidence 30%)
Commit d9eae71 'style: add typing and remove noqas (#802)' touched the same launcher functions but only for typing/lint cleanup; it did not introduce a context class or reduce parameter lists.
Related issues
No related issues found above the similarity threshold.