pub struct GitSnapshotStageV1 {Show 18 fields
pub schema_version: u32,
pub operation_id: String,
pub isolation_root_identity: String,
pub snapshots_store_identity: String,
pub stage_directory_identity: String,
pub source_repository: String,
pub source_ref: GitSnapshotSourceRef,
pub keepalive_ref: GitSnapshotKeepaliveRef,
pub source_created_at_ms: u64,
pub consent_sha256: String,
pub request_template_sha256: String,
pub manifest_sha256: String,
pub archive: SourceArchive,
pub descriptor_sha256: String,
pub final_request: IosDeviceBuildRequest,
pub archive_file_identity: String,
pub descriptor_file_identity: String,
pub graph: GitSnapshotObjectGraphV1,
}Expand description
Compact create-only metadata that binds a private stage to its canonical graph.
Fields§
§schema_version: u32Stage schema version; currently 1.
operation_id: StringExact operation identifier.
isolation_root_identity: StringFilesystem identity of the private Git isolation root.
snapshots_store_identity: StringFilesystem identity of the fixed snapshots store.
stage_directory_identity: StringFilesystem identity of this operation’s create-only stage directory.
source_repository: StringExact configured public source repository.
source_ref: GitSnapshotSourceRefExact operation-derived source ref.
keepalive_ref: GitSnapshotKeepaliveRefExact operation-derived local keepalive ref.
source_created_at_ms: u64Millisecond timestamp used to derive deterministic commit seconds.
consent_sha256: StringSHA-256 of the exact zero-write plan accepted by the caller.
request_template_sha256: StringCanonical request-template SHA-256 embedded in the descriptor.
manifest_sha256: StringCanonical source-manifest SHA-256.
archive: SourceArchiveExact staged archive size and SHA-256.
descriptor_sha256: StringSHA-256 of the canonical descriptor bytes.
final_request: IosDeviceBuildRequestSecret-free final request whose revision is the exact parentless snapshot commit.
archive_file_identity: StringFilesystem identity of the sealed staged archive.
descriptor_file_identity: StringFilesystem identity of the sealed staged descriptor.
graph: GitSnapshotObjectGraphV1Complete six-object Git graph identity.
Implementations§
Source§impl GitSnapshotStageV1
impl GitSnapshotStageV1
Sourcepub fn validate_for_descriptor(
&self,
descriptor: &GitSnapshotDescriptor,
) -> Result<(), GitSnapshotError>
pub fn validate_for_descriptor( &self, descriptor: &GitSnapshotDescriptor, ) -> Result<(), GitSnapshotError>
Validate compact fields and their exact canonical descriptor binding.
§Errors
Returns a typed snapshot failure for any schema, identity, digest, ref, descriptor, or object-graph mismatch.
Sourcepub fn validate_for_request(
&self,
descriptor: &GitSnapshotDescriptor,
request: &IosDeviceBuildRequest,
) -> Result<(), GitSnapshotError>
pub fn validate_for_request( &self, descriptor: &GitSnapshotDescriptor, request: &IosDeviceBuildRequest, ) -> Result<(), GitSnapshotError>
Require exact binding to the already-durable final request and commit revision.
§Errors
Returns a typed failure for any final-request, descriptor, manifest, template, operation, repository, ref, or commit mismatch.
Sourcepub fn canonical_bytes(
&self,
descriptor: &GitSnapshotDescriptor,
) -> Result<Vec<u8>, GitSnapshotError>
pub fn canonical_bytes( &self, descriptor: &GitSnapshotDescriptor, ) -> Result<Vec<u8>, GitSnapshotError>
Encode strict canonical pretty JSON with one trailing newline.
§Errors
Returns a typed snapshot failure when validation, encoding, or size enforcement fails.
Sourcepub fn decode(
bytes: &[u8],
descriptor: &GitSnapshotDescriptor,
) -> Result<Self, GitSnapshotError>
pub fn decode( bytes: &[u8], descriptor: &GitSnapshotDescriptor, ) -> Result<Self, GitSnapshotError>
Decode strict JSON and require full descriptor binding.
§Errors
Returns a typed snapshot failure for oversized, non-canonical, unknown, duplicate, or descriptor-mismatched metadata.
Sourcepub fn verify_staged_files(
&self,
isolation_root: &Path,
) -> Result<GitSnapshotDescriptor, GitSnapshotError>
pub fn verify_staged_files( &self, isolation_root: &Path, ) -> Result<GitSnapshotDescriptor, GitSnapshotError>
Reopen the exact staged descriptor and archive from this operation’s strict private path.
Both files must retain their persisted single-link filesystem identities. The descriptor must have its exact canonical bytes and SHA-256; the archive must reproduce its exact size and SHA-256. The returned descriptor has already been checked against every stage field.
§Errors
Returns a typed snapshot failure for any path, identity, size, digest, encoding, or binding mismatch.