use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct InvestigationStep {
pub step_id: String,
pub description: String,
pub command: Option<String>,
pub command_type: Option<String>,
pub possible_outcomes: std::collections::HashMap<String, PossibleOutcome>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PossibleOutcome {
pub implication: String,
pub next_step_id: Option<String>,
pub evidence_expected: bool,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct ExpectedFinding {
pub description: String,
pub category: String,
pub would_confirm: bool,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct DiagnosticStrategy {
pub initial_hypothesis: String,
pub investigation_plan: Vec<InvestigationStep>,
pub expected_findings: Vec<String>,
pub success_criteria: String,
}