Vapora/crates/vapora-agents/src/persistence_trait.rs
Jesús Pérez dd68d190ef ci: Update pre-commit hooks configuration
- Exclude problematic markdown files from linting (existing legacy issues)
- Make clippy check less aggressive (warnings only, not -D warnings)
- Move cargo test to manual stage (too slow for pre-commit)
- Exclude SVG files from end-of-file-fixer and trailing-whitespace
- Add markdown linting exclusions for existing documentation

This allows pre-commit hooks to run successfully on new code without
blocking commits due to existing issues in legacy documentation files.
2026-01-11 21:32:56 +00:00

26 lines
755 B
Rust

// Execution persistence abstraction for decoupling executor from KG
// Allows different persistence strategies
use async_trait::async_trait;
/// Execution record to persist
#[derive(Clone, Debug)]
pub struct ExecutionRecord {
pub task_id: String,
pub agent_id: String,
pub task_type: String,
pub success: bool,
pub duration_ms: u64,
pub input_tokens: u32,
pub output_tokens: u32,
pub error_message: Option<String>,
}
/// Abstraction for persisting execution records.
/// Decouples executor from knowledge graph implementation.
#[async_trait]
pub trait ExecutionPersistence: Send + Sync {
/// Record task execution with results.
async fn record_execution(&self, record: ExecutionRecord) -> anyhow::Result<()>;
}