fix(project): name the actual base when rejecting 'architectures'
Metadata
Current evaluation
PR #6447 was closed unmerged without review, leaving the hardcoded core24 error in place; issue #6322 remains open and no replacement fix was found.
Resolution: closed stale
Reason: The PR was abandoned with review still pending and no maintainer explanation. Issue #6322 remains open, and the hardcoded core24 message persists in snapcraft/models/project.py, confirming that no fix landed.
Evaluated by: mr-cal-bot
No scores available.
Issue body
`Core26Project` and `DevelBaseProject` inherit the `architectures` field from `Core24Project`, and its custom error had `core24` hardcoded. With the project from the issue, Snapcraft reported:
```
- 'architectures' key is not supported for base 'core24'. Use 'platforms' key instead. (in field 'has-base.core26.architectures', ...)
```
The error now uses the project's `base`, or its `build-base` for bare snaps:
```
- 'architectures' key is not supported for base 'core26'. Use 'platforms' key instead. (in field 'has-base.core26.architectures', ...)
```
The message for core24 projects is unchanged, and the generated JSON schema is identical.
Fixes #6322
---
- [x] I've followed the [contribution guidelines](https://github.com/canonical/snapcraft/blob/main/CONTRIBUTING.md).
- [x] I've signed the [CLA](http://www.ubuntu.com/legal/contributors/).
- [x] I've successfully run `make lint && make test`.
- [ ] I've added or updated any relevant documentation.
- [ ] In documents I changed, I [added a meta description](https://canonical-starflow.readthedocs-hosted.com/how-to/add-a-page-meta-description/) if one was missing.
- [ ] I've updated the relevant release notes.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed stale | PR #6447 was closed unmerged without review, leaving the hardcoded core24 error in place; issue #6322 remains open and no replacement fix was found. | |
| qwen/qwen3.8-27b | — | closed stale | PR #6447 (wak327) fixed #6322 by making the 'architectures' rejection error report the project's actual base instead of hardcoding 'core24'. Closed unmerged with 0 reviewers; the hardcoded 'core24' string remains in models/project.py and #6322 stays open. | |
| stealth/space-bunny-alpha |
Impact:
34
Quick Win:
18
Complexity:
29
Confidence:
89
Actionability:
76
|
needs review | Fixes core26, devel, and bare project validation to report the actual base when legacy architectures is rejected. Fresh, unreviewed PR with no failing or pending checks. |
Update history
| Date | Change |
|---|---|
| closed | |
| updated | |
| created |
Related work
-
Related To:
canonical/snapcraft#6322
(confidence 100%)
This is the unresolved bug that PR #6447 proposed to fix.
-
Related To:
canonical/snapcraft#5846
(confidence 90%)
Its per-base project models introduced the inheritance that exposed the incorrect shared error message.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4667 feat(project): add get_archs_list for Architecture model | snapcraft | closed | PR #4667 was closed unmerged because the legacy Architecture model is no longer used in core24. |