pub struct ModelSpec {
pub name: String,
pub source_url: String,
pub sha256_hex: String,
pub size_bytes: Option<u64>,
pub license: Option<String>,
pub source: Option<ManifestSource>,
}Expand description
One downloadable GGUF model. The fetch contract is one URL +
expected SHA-256; anything more elaborate (registries, mirrors)
belongs in the operator’s HTTP proxy or a wget step, not here.
Fields§
§name: StringStable identifier, e.g. "gemma-4-e4b". Used as the manifest
filename (<name>.json) and the lock-file basename.
source_url: StringDirect-download HTTPS endpoint. Must be https://. Empty
string is permitted for CLI-only mode where the operator has
pre-placed bytes at a manifest-defined blob path.
sha256_hex: StringLowercase hex SHA-256 of the GGUF bytes. Required.
size_bytes: Option<u64>Advisory total size for progress reporting + manifest. None
= unknown (Content-Length missing); progress frames omit
total_bytes and the manifest records the actually-downloaded
size.
license: Option<String>SPDX-style license id when known. Recorded in the manifest for cross-tool consumers; not consulted at runtime.
source: Option<ManifestSource>Diagnostic provenance for the manifest. Optional — falls back
to a derived shape from source_url if absent.