iridium-db 0.4.0

A high-performance vector-graph hybrid storage and indexing engine
use super::scenario::ContractScenario;

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct AlloyContractReport {
    pub scenario: ContractScenario,
    pub scope: &'static str,
    pub evidence_artifact_name: String,
    pub evidence_report_line: String,
    pub replay_bundle_artifact_name: String,
    pub scenario_manifest_summary: String,
    pub permits_release: bool,
    pub telemetry_scope: &'static str,
    pub health_component: String,
    pub health_readiness: &'static str,
    pub health_liveness: &'static str,
    pub degradation_reason: Option<String>,
    pub trace_operation: String,
    pub trace_id: String,
    pub span_id: String,
    pub parent_span_id: Option<String>,
    pub correlation_id: Option<String>,
    pub baseline_metric_names: Vec<&'static str>,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct RestartRequeryAssertion {
    pub assertion_id: &'static str,
    pub description: &'static str,
    pub required: bool,
    pub outcome: String,
    pub artifact_name: String,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct EvidenceArtifactRef {
    pub artifact_name: String,
    pub media_type: &'static str,
    pub role: &'static str,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct RestartRequeryReplayPayload {
    pub replay_bundle_artifact_name: String,
    pub scenario_manifest_summary: String,
    pub trace_operation: String,
    pub trace_id: String,
    pub span_id: String,
    pub correlation_id: Option<String>,
    pub reproduction_commands: Vec<String>,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct RestartRequeryEvidenceV1 {
    pub schema: &'static str,
    pub assurance_scope: &'static str,
    pub telemetry_scope: &'static str,
    pub workload_identity: WorkloadIdentity,
    pub checked_at_epoch_seconds: u64,
    pub permits_release: bool,
    pub assertions: Vec<RestartRequeryAssertion>,
    pub attached_artifacts: Vec<EvidenceArtifactRef>,
    pub replay_payload: RestartRequeryReplayPayload,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct WorkloadIdentity {
    pub workload_id: &'static str,
    pub workload_label: &'static str,
    pub fixture_id: &'static str,
    pub executor: &'static str,
    pub commit_or_version: String,
    pub planner_surface: &'static str,
}