← Back to issue list

test: failing reproducer - snap developer-id not asserted

View original Github issue

Metadata

Project
craft-providers
Number
#948
Type
pull request
State
open
Author
lengau
Labels
—
Created
Updated
Closed
—

Current evaluation

Parses developer-id from snap-revision and asserts the developer account in _get_assertions_file (fix for #445); fix added by copilot-swe-agent. CI green, 0 reviewers, 1 unresolved comment, inactive 34 days.

Suggested action: needs review

Reason: The maintainer asked copilot-swe-agent for a fix and it landed (5df1922): '_get_assertions_file()' now parses developer-id from the snap-revision bytes and adds the developer account query, with all 37 snap_installer unit tests passing and Canonical CLA green. Main still lacks the change (grep for 'developer-id' in craft_providers/actions/snap_installer.py returns nothing) and #445 remains open, so this is the live candidate fix. However, review status is pending with 0 reviewers and 1 unresolved comment, the title still says 'failing reproducer' while the diff now contains the fix, and there has been no activity for 34 days, so it needs a maintainer pass rather than a merge now.

Evaluated by: mr-cal-bot

Impact: 62 Quick Win: 22 Complexity: 40 Confidence: 76 Actionability: 58

Issue body

## Reproducer for #445 When a snap changes ownership (e.g. transferred from a personal account to an org), the `snap-revision` assertion contains a `developer-id` that differs from the current publisher. The current code only asserts the publisher's account, not the developer's, causing `snap ack` to fail with: ``` error: cannot assert: assert failed: cannot resolve prerequisite assertion: account (<developer-id>) ``` ### Root cause `_get_assertions_file()` in `snap_installer.py` always queries `account-id=<publisher_id>` but never reads the `developer-id` field from the snap-revision assertion bytes to also fetch `account-id=<developer-id>`. ### Fix Parse the snap-revision assertion to extract `developer-id`. If it differs from the publisher-id, also fetch `["account", "account-id=<developer-id>"]` and include it in the assertion file. Closes #445

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 62
Quick Win: 22
Complexity: 40
Confidence: 76
Actionability: 58
needs review Parses developer-id from snap-revision and asserts the developer account in _get_assertions_file (fix for #445); fix added by copilot-swe-agent. CI green, 0 reviewers, 1 unresolved comment, inactive 34 days.
stealth/space-bunny-alpha
Impact: 50
Quick Win: 26
Complexity: 28
Confidence: 72
Actionability: 72
needs review Fixes snap injection for transferred snaps: parses developer-id from the snap-revision assertion and fetches the developer's account assertion when it differs from the publisher. Closes #445; CI green, awaiting maintainer review.
stealth/space-bunny-alpha
Impact: 52
Quick Win: 19
Complexity: 38
Confidence: 86
Actionability: 58
needs review Updates snap-revision assertion handling to parse developer-id and fetch the developer account when it differs from the publisher. The PR is open with no reviewers, one unresolved comment, and reported checks passing.
qwen3.6-35b-a3b-mtp-q6
Impact: 45
Quick Win: 34
Staleness: 85
Complexity: 25
Confidence: 70
close stale PR claims to fix #445 by parsing developer-id from snap-revision assertions, but the fix (commit 5df1922) does not exist in the codebase and the issue remains open.
qwen/qwen3.6-35b-a3b
Staleness: 55
Complexity: 20
Confidence: 65
needs review Proposed fix for snap developer-id assertion issue #445. Adds a reproducer test and modifies the assertions file function to fetch developer account assertions. Currently pending review with no maintainer feedback for 91 days.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 15
Confidence: 90
close stale Reproducer test for snap developer-id assertion failure. The underlying issue is already resolved in commit 5df1922. PR has been inactive for 79 days.

Update history

Date Change
updated
updated

Related work

  • Related To: canonical/craft-providers#445 (confidence 95%)

    The PR's stated root cause is exactly #445 (snap injection only asserts the publisher account, breaking transferred snaps like rockcraft 1194); the issue is still open and its summary points at PR #948 as the open fix.

Related issues

Issue Project State Summary Similarity
#445 `developer-id` of the `snap-revision` is not asserted craft-providers open Host snap injection still omits the snap-revision developer account, causing transferred snaps such as Rockcraft 1194 to fail assertion; open PR #948 proposes a tested fix.
73%