use super::{ProtocolError, ProtocolManifest, ProtocolValidator};
pub fn load_manifest_validated(bytes: &[u8]) -> Result<ProtocolManifest, ProtocolError> {
let validator = ProtocolValidator::new()?;
let manifest: ProtocolManifest = serde_yaml::from_slice(bytes)
.map_err(|e| ProtocolError::Internal(format!("Failed to parse manifest YAML: {}", e)))?;
validator.validate(&manifest)?;
Ok(manifest)
}