pub mod pipeline;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ContributeFilter {
All,
Op(&'static str),
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum StageStatus {
Pass,
Fail,
Skip,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Finding {
pub message: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ContributeResult {
pub stage_name: String,
pub duration_ms: u64,
pub status: StageStatus,
pub findings: Vec<Finding>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ContributeReport {
pub op_id: String,
pub total_duration_ms: u64,
pub stages: Vec<ContributeResult>,
pub overall_status: StageStatus,
}