{"record":{"id":"09dacfa45f733edb","repo":"astrid-runtime/astrid","slug":"nightly-channel-version-does-not-embed-its-source","errorCode":null,"errorMessage":"nightly channel version does not embed its source commit","messagePattern":"nightly channel version does not embed its source commit","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/astrid-cli/src/commands/update_channel.rs","lineNumber":522,"sourceCode":"        UpdateChannel::Nightly => ensure!(\n            nightly_commit.is_some() && version.build.is_empty(),\n            \"nightly channel must point to an exact nightly prerelease\"\n        ),\n        UpdateChannel::Stable | UpdateChannel::Dev => ensure!(\n            version.pre.is_empty() && version.build.is_empty(),\n            \"stable and dev channels must point to canonical releases\"\n        ),\n    }\n    ensure!(\n        pointer.release.tag == format!(\"v{version}\"),\n        \"signed channel release tag does not match its version\"\n    );\n    ensure!(\n        is_commit(&pointer.release.source_commit),\n        \"signed channel source commit is invalid\"\n    );\n    if let Some(commit) = nightly_commit {\n        ensure!(\n            commit == pointer.release.source_commit,\n            \"nightly channel version does not embed its source commit\"\n        );\n    }\n    ensure!(\n        pointer.release.metadata_asset == format!(\"astrid-{version}-release.toml\"),\n        \"signed channel release metadata asset is invalid\"\n    );\n    ensure!(\n        is_lower_hex_64(&pointer.release.metadata_blake3),\n        \"signed channel release metadata BLAKE3 is invalid\"\n    );\n    ensure!(\n        pointer.release.release_workflow_identity\n            == format!(\n                \"https://github.com/{REPOSITORY}/.github/workflows/release.yml@refs/tags/v{version}\"\n            ),\n        \"signed channel release workflow identity is invalid\"","sourceCodeStart":504,"sourceCodeEnd":540,"githubUrl":"https://github.com/astrid-runtime/astrid/blob/affd8760f44190dbdfbec23403f4c4b642c33112/crates/astrid-cli/src/commands/update_channel.rs#L504-L540","documentation":"Signature check in validate_pointer for the nightly channel: the version's prerelease/build metadata does not embed the release's source commit, so the pointer cannot prove the nightly binary was built from the commit it claims.","triggerScenarios":"Thrown at crates/astrid-cli/src/commands/update_channel.rs:522 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Re-publish the nightly pointer with a version whose build/pre metadata embeds the source commit","Verify the release pipeline stamps the commit into the version string","Reject the channel update; fall back to the last known-good pointer"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"affd8760f44190dbdfbec23403f4c4b642c33112","analyzedAt":"2026-09-09T21:28:12.402Z","contentChangedAt":"2026-09-09T21:28:12.402Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}