← Back to issue list

craftctl: update to comply with specification

View original Github issue

Metadata

Project
craft-parts
Number
#185
Type
pull request
State
merged
Author
cmatsuoka
Labels
—
Created
Updated
Closed

Current evaluation

Merged in commit ac87cd89 via merge 8139ef30; craftctl’s default, set, and get commands were updated to match the specification, including validation and consumption safeguards.

Resolution: closed resolved

Reason: PR #185 was merged after approval, with resolving commit ac87cd89 and merge commit 8139ef30. The merged implementation adds specification-compliant command behavior, name validation, post-consumption protection, and part-scoped variable setting.

Evaluated by: mr-cal-bot

No scores available.

Issue body

The specification of craftctl lists the expected behavior of the `default`, `set`, and `get` commands, including syntax consistent with snapctl (when applicable), name validation, protection against set after consumption, and restricting variable setting to a single application-specified part. Update the existing implementation to follow the specification. Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com> - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? ----- CRAFT-935 CRAFT-75

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged in commit ac87cd89 via merge 8139ef30; craftctl’s default, set, and get commands were updated to match the specification, including validation and consumption safeguards.
stealth/space-bunny-alpha — closed resolved Merged PR #185 (commit ac87cd89) updates craftctl to follow the specification for default, set, and get, including name validation and consumption safeguards.
stealth/space-bunny-alpha — closed resolved Merged in #185 (8139ef30): craftctl now follows its specification for default, set, and get, including snapctl syntax, validation, consumption locking, and single-part writes.
qwen/qwen3.6-35b-a3b — — Merged. Updated craftctl to comply with the specification, aligning default, set, and get commands with snapctl syntax, adding name validation, and enforcing consumption protection and single-part restrictions. Approved by reviewer.
qwen3.6-35b-a3b-mtp-q6 — — Merged update aligning craftctl with the specification for default, set, and get commands. Includes snapctl-compatible syntax, name validation, consumption protection, and single-part variable restrictions. Approved after minor documentation feedback.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-parts#190 (confidence 90%)

    Follow-up merged work further restricted project-variable assignment to the adopting part.

  • Related To: canonical/craft-parts#193 (confidence 90%)

    Follow-up merged work corrected craftctl client error handling.

Related issues

Issue Project State Summary Similarity
#3677 parts: add craftctl support snapcraft merged Merged #3677 added craftctl support, project-variable assignment, and adopt-info configuration in commit 293ac060b.
71%
#193 craftctl: fix client error handling craft-parts merged Merged PR #193 (commit e9787a0c; merge 9ea70b26) makes craftctl return control API errors to clients instead of raising server-side exceptions.
71%
#1091 docs: revamp craftctl how-to craft-parts merged Merged PR #1091 as 44aa6508, revamping the craftctl how-to with upstream Snapcraft guidance and adding a 2.10.0 changelog entry.
70%