kmp_plugin_api/ports/evidence_derivation_plugin.rs
1use crate::application::dto::derivation_request::DerivationRequest;
2use crate::application::dto::derivation_result::DerivationResult;
3use crate::domain::interpretation_error::InterpretationError;
4
5/// Outbound port implemented by a deterministic evidence derivation.
6pub trait EvidenceDerivationPlugin: Send + Sync {
7 fn id(&self) -> &'static str;
8
9 fn derive(&self, request: &DerivationRequest) -> Result<DerivationResult, InterpretationError>;
10}