astrid-runtime/astrid · error

release manifest targets do not match the signed channel…

Error message

release manifest targets do not match the signed channel pointer

What it means

Cross-check in verify_release_manifest: the manifest's target list differs from the targets implied by the signed channel pointer, so artifacts for the requested platform may not exist in this release; resolution aborts.

Solutions

  1. Re-publish a manifest whose targets match the pointer's release targets
  2. Confirm the requested platform is actually part of this release
  3. Pin to an earlier release that includes the needed target
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/astrid-cli/src/commands/update_channel.rs:597 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of astrid-runtime/astrid@affd8760f4 (2026-09-09). Data as JSON: /api/errors/cd114c593d09d4d7. Report an issue: GitHub.

Appendix: source

Thrown at crates/astrid-cli/src/commands/update_channel.rs:597

            && manifest.kind == "astrid-release"
            && manifest.product == PRODUCT
            && manifest.repository == REPOSITORY,
        "release manifest identity is invalid"
    );
    ensure!(
        manifest.version == pointer.release.version
            && manifest.tag == pointer.release.tag
            && manifest.source_commit == pointer.release.source_commit
            && manifest.release_workflow_identity == pointer.release.release_workflow_identity,
        "release manifest does not match the signed channel pointer"
    );
    ensure!(
        manifest.contracts.repository == CONTRACTS_REPOSITORY
            && is_commit(&manifest.contracts.commit),
        "release manifest contracts identity is invalid"
    );
    validate_targets(&manifest.targets, &manifest.version)?;
    ensure!(
        manifest.targets == pointer.targets,
        "release manifest targets do not match the signed channel pointer"
    );
    Ok(())
}

fn verify_musl_extension(
    bytes: &[u8],
    legacy_manifest_bytes: &[u8],
    pointer: &ChannelPointer,
    target: &str,
) -> anyhow::Result<String> {
    verify_release_extension(
        bytes,
        legacy_manifest_bytes,
        pointer,
        target,
        "astrid-release-musl-extension",

View on GitHub (pinned to affd8760f4)