pub struct GithubSignedCleanupEvidenceV1 {Show 18 fields
pub schema_version: u32,
pub provider: String,
pub operation_id: String,
pub job_id: String,
pub execution_repository: String,
pub execution_repository_id: u64,
pub request_sha256: String,
pub source_repository: String,
pub source_revision: String,
pub source_sha256: String,
pub dispatch_revision: String,
pub run: GithubRunIdentityV1,
pub compile_evidence_sha256: String,
pub manifest_sha256: String,
pub signing_report_sha256: String,
pub validation_report_sha256: String,
pub github_artifact_id: u64,
pub github_artifact_api_sha256: String,
}Expand description
Secret-free proof that one exact signed GitHub run attempt completed protected cleanup.
The production verifier creates this envelope only after independently validating the compile handoff, worker manifest, signing report, validation report, and every protected-cleanup flag. It is scoped to the immutable provider-bound attempt; a later GitHub rerun is a distinct attempt and neither replaces nor invalidates this evidence.
Fields§
§schema_version: u32Evidence schema version; currently 1.
provider: StringStable provider identifier.
operation_id: StringCaller operation identifier.
job_id: StringProvider job identifier.
execution_repository: StringCanonical GitHub execution repository URL.
execution_repository_id: u64Stable database ID of the exact execution repository.
request_sha256: StringCanonical SHA-256 of the complete submitted request.
source_repository: StringExact configured source repository URL.
source_revision: StringExact requested source revision.
source_sha256: StringExact verified source-manifest SHA-256.
dispatch_revision: StringExact dispatched commit.
run: GithubRunIdentityV1Full immutable GitHub run identity and attempt that emitted the evidence.
compile_evidence_sha256: StringSHA-256 of canonical serialized compile-phase evidence.
manifest_sha256: StringSHA-256 of the exact immutable worker manifest bytes.
signing_report_sha256: StringSHA-256 of the exact protected signing-report bytes.
validation_report_sha256: StringSHA-256 of the exact independently generated validation-report bytes.
github_artifact_id: u64Stable numeric ID of the exact final GitHub Actions artifact.
github_artifact_api_sha256: StringGitHub API SHA-256 of the exact final outer artifact ZIP.
Implementations§
Source§impl GithubSignedCleanupEvidenceV1
impl GithubSignedCleanupEvidenceV1
Sourcepub fn validate_for_resume(
&self,
resume: &GithubJobResumeV1,
) -> RemoteBuildResult<()>
pub fn validate_for_resume( &self, resume: &GithubJobResumeV1, ) -> RemoteBuildResult<()>
Validate this proof against every durable identity and artifact digest in a resume record.
§Errors
Rejects replay across repositories, requests, sources, dispatches, jobs, runs, attempts, or verified artifact sets.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for GithubSignedCleanupEvidenceV1
impl<'de> Deserialize<'de> for GithubSignedCleanupEvidenceV1
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for GithubSignedCleanupEvidenceV1
impl StructuralPartialEq for GithubSignedCleanupEvidenceV1
Auto Trait Implementations§
impl Freeze for GithubSignedCleanupEvidenceV1
impl RefUnwindSafe for GithubSignedCleanupEvidenceV1
impl Send for GithubSignedCleanupEvidenceV1
impl Sync for GithubSignedCleanupEvidenceV1
impl Unpin for GithubSignedCleanupEvidenceV1
impl UnsafeUnpin for GithubSignedCleanupEvidenceV1
impl UnwindSafe for GithubSignedCleanupEvidenceV1
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.