use async_trait::async_trait;
use crate::infra::execution::backend::interface::{
ExecutionBackend, ExecutionBackendKind, ExecutionError, ExecutionRequest,
};
use crate::infra::execution::handle::ExecutionHandle;
#[derive(Debug, Clone, Default)]
pub struct ResidentLocalBackend;
#[async_trait]
impl ExecutionBackend for ResidentLocalBackend {
fn id(&self) -> &'static str {
"execution.resident_local"
}
fn kind(&self) -> ExecutionBackendKind {
ExecutionBackendKind::ResidentLocal
}
async fn execute(&self, request: ExecutionRequest) -> Result<ExecutionHandle, ExecutionError> {
let _ = request;
Err(ExecutionError::new(
"EXECUTION_BACKEND_UNWIRED",
"resident local backend scaffold exists but is not wired to pipeline execution yet",
))
}
}