use thiserror::Error;
#[derive(Error, Debug)]
pub enum CoreError {
#[error("Invalid ID: {0}")]
InvalidId(String),
#[error("Plan validation failed: {0}")]
PlanValidation(String),
#[error("Step not found: {0}")]
StepNotFound(String),
#[error("Dependency cycle detected: {0}")]
DependencyCycle(String),
#[error("Serialization error: {0}")]
Serialization(#[from] serde_json::Error),
}