pub async fn save(
store: &Arc<dyn PersistenceLayer>,
skill: &Skill,
embedding: &[f32],
) -> Result<()>Expand description
Persist a skill with its embedding so semantic matching works immediately.
The embedding is supplied by the caller rather than computed here: the embedding backend is a runtime concern the admin layer has no business owning, and an embedded device may use a different one than a server.