Public declaration syntax from harness-sdk/src/harness/evidence.rs Original source SHA-256: 1e21a2476409c3a5aed0b379004b84bce97cb73c4ce17def78c6d0dfe9a21864 Function bodies and constant values are omitted. This is not the complete implementation. Source line 35 #[derive(Debug, Error)] pub enum EvidenceCorpusError { /// I/O error reaching disk. #[error("evidence corpus io: {0}")] Io(#[from] io::Error), /// Path escapes the iteration root (e.g. `..` segment). #[error("path {0} escapes the iteration root")] PathEscape(PathBuf), } Source line 47 #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct TaskAnalysis { /// Task name (matches `TaskOutcomeMap` keys). pub task: String, /// The per-iteration outcome being analyzed. pub outcome: TaskOutcome, /// One-line summary used in the overview. pub summary: String, /// Root cause hypothesis (free text). pub root_cause: String, /// Markdown body — the full evidence the Evolve Agent reads. pub body_markdown: String } Source line 64 #[must_use] pub fn render_markdown(&self) -> String; Source line 105 #[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] pub struct OverviewReport { /// Iteration number. pub iteration: u32, /// Total tasks run. pub total: usize, /// Tasks that passed. pub passes: usize, /// Tasks that failed. pub fails: usize, /// Tasks that did not run. pub not_run: usize, /// Optional headline finding for the iteration. #[serde(default)] pub headline: String, /// Optional markdown body (themes, top failure clusters, etc.). #[serde(default)] pub body_markdown: String } Source line 127 #[must_use] pub fn render_markdown(&self) -> String; Source line 156 #[derive(Debug, Clone)] pub struct EvidenceCorpus { } Source line 165 pub fn open(runs_root: impl AsRef, iteration: u32) -> Result; Source line 174 #[must_use] pub fn root(&self) -> &Path; Source line 180 #[must_use] pub fn iteration(&self) -> u32; Source line 186 pub fn task_analysis_path(&self, task: &str) -> Result; Source line 197 #[must_use] pub fn overview_path(&self) -> PathBuf; Source line 203 pub fn trace_path(&self, task: &str, run_idx: u32) -> Result; Source line 212 pub fn write_task_analysis( &self, analysis: &TaskAnalysis, ) -> Result; Source line 225 pub fn write_overview( &self, overview: &OverviewReport, ) -> Result; Source line 240 pub fn write_trace( &self, task: &str, run_idx: u32, contents: &str, ) -> Result; Source line 256 pub fn read_task_analysis_markdown( &self, task: &str, ) -> Result, EvidenceCorpusError>; Source line 269 pub fn read_overview_markdown(&self) -> Result, EvidenceCorpusError>; Source line 279 pub fn list_analyzed_tasks(&self) -> Result, EvidenceCorpusError>; Source line 300 pub fn list_traces(&self) -> Result, EvidenceCorpusError>;