← Back to issue list

Rewrite default `_providers_base()` command.

View original Github issue

Metadata

Project
craft-application
Number
#348
Type
issue
State
open
Author
mr-cal
Labels
—
Created
Updated
Closed
—

Current evaluation

Maintainer request for Project._providers_base() to translate a bare 'devel' build-base to craft_providers BuilddBaseAlias.DEVEL, and effective_base to match. Still unimplemented at HEAD; no labels, quiet since May 2024.

Suggested action: keep open

Reason: The request is still valid at HEAD: I read craft_application/models/project.py and `_providers_base()` still does a bare `base.split("@")` into `get_base_alias(BaseName(name, channel))`, raising `ValueError(f"Unknown base {base!r}")` for a plain 'devel' string — there is no translation to `BuilddBaseAlias.DEVEL`. It is well-scoped by a maintainer (exact file, line 149, and target symbol) and mr-cal's follow-up comment ('`Project.effective_base` also needs to be updated') explicitly extends the scope. Impact is moderate rather than high because the sibling `DEVEL_BASE_INFOS` path already supports `ubuntu@devel` via craft-providers, so this is a naming-convention convenience plus a behavior change to `effective_base`'s return type that downstream craft-apps would notice. Confidence is held below 80 because grep_repo and git_log_search were unusable in this environment (project resolved to 'charmcraft'), so I could not exhaustively confirm no downstream commit or partial implementation exists.

Evaluated by: mr-cal-bot

Impact: 55 Quick Win: 22 Complexity: 50 Confidence: 76 Actionability: 80

Issue body

### What needs to get done Update [`Project._providers_base()`](https://github.com/canonical/craft-application/blob/13230edae580d62699b76e092076530681e5a40b/craft_application/models/project.py#L149) to translate `devel` to `craft_providers.bases.BuilddBaseAlias.DEVEL`. ### Why it needs to get done Per an offline team conversation, `devel` is the correct naming convention.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 55
Quick Win: 22
Complexity: 50
Confidence: 76
Actionability: 80
keep open Maintainer request for Project._providers_base() to translate a bare 'devel' build-base to craft_providers BuilddBaseAlias.DEVEL, and effective_base to match. Still unimplemented at HEAD; no labels, quiet since May 2024.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 22
Complexity: 10
Confidence: 70
Actionability: 80
keep open Project._providers_base() does not handle the special "devel" base name, which should map to craft_providers.bases.BuilddBaseAlias.DEVEL. Issue is open and unaddressed.
qwen/qwen3.8-27b
Impact: 45
Quick Win: 27
Staleness: 70
Complexity: 40
Confidence: 55
Support Request: 5
needs triage Maintainer task to make Project._providers_base() translate the 'devel' base name to BuilddBaseAlias.DEVEL (and update effective_base). Open since May 2024, last activity May 2024; current code still relies on craft-providers' get_base_alias rather than an explicit devel translation.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 15
Confidence: 80
Support Request: 5
close stale Task to update Project._providers_base() and effective_base to map the devel base alias per team conventions. Open since 2023, last updated over a year ago, awaiting implementation.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 20
Confidence: 80
Support Request: 5
close stale Task to update Project._providers_base() and effective_base to use DEVEL naming convention. Open since 2023, last activity over a year ago, awaiting implementation.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-application#322 (confidence 50%)

    Commit e893f1da 'revert: abstract Project class and `_providers_base()` (#322)' is prior churn in the file/function history on project.py, indicating the method's contract has shifted before.

  • Related To: canonical/craft-application#302 (confidence 45%)

    Commit aeae554e 'feat!: validate devel bases (#302)' introduced the DEVEL_BASE_INFOS/_validate_devel_base machinery that this change must interoperate with.

Related issues

No related issues found above the similarity threshold.