pub struct EddValidator { /* private fields */ }Expand description
EDD Validator for checking compliance with the four pillars.
Implementations§
Source§impl EddValidator
impl EddValidator
Sourcepub fn violations(&self) -> &[EddViolation]
pub fn violations(&self) -> &[EddViolation]
Get collected violations.
Sourcepub fn has_critical_violations(&self) -> bool
pub fn has_critical_violations(&self) -> bool
Check if any critical violations exist.
Sourcepub fn has_errors(&self) -> bool
pub fn has_errors(&self) -> bool
Check if any errors exist (including critical).
Sourcepub fn validate_simulation_has_emc(
&self,
emc: Option<&EquationModelCard>,
) -> EddResult<()>
pub fn validate_simulation_has_emc( &self, emc: Option<&EquationModelCard>, ) -> EddResult<()>
Sourcepub fn validate_emc_has_equation(
&self,
emc: &EquationModelCard,
) -> EddResult<()>
pub fn validate_emc_has_equation( &self, emc: &EquationModelCard, ) -> EddResult<()>
Sourcepub fn validate_emc_has_citation(
&self,
emc: &EquationModelCard,
) -> EddResult<()>
pub fn validate_emc_has_citation( &self, emc: &EquationModelCard, ) -> EddResult<()>
Sourcepub fn validate_emc_has_tests(&self, emc: &EquationModelCard) -> EddResult<()>
pub fn validate_emc_has_tests(&self, emc: &EquationModelCard) -> EddResult<()>
Sourcepub fn validate_emc(
&mut self,
emc: &EquationModelCard,
) -> Result<(), Vec<EddViolation>>
pub fn validate_emc( &mut self, emc: &EquationModelCard, ) -> Result<(), Vec<EddViolation>>
Sourcepub fn validate_has_falsification_criteria(
&self,
spec: &ExperimentSpec,
) -> EddResult<()>
pub fn validate_has_falsification_criteria( &self, spec: &ExperimentSpec, ) -> EddResult<()>
Sourcepub fn validate_experiment(
&mut self,
spec: &ExperimentSpec,
) -> Result<(), Vec<EddViolation>>
pub fn validate_experiment( &mut self, spec: &ExperimentSpec, ) -> Result<(), Vec<EddViolation>>
Validate an experiment specification fully.
§Errors
Returns list of violations if any validation checks fail (error severity or higher).
Sourcepub fn validate_verification_tests<F>(
&mut self,
emc: &EquationModelCard,
evaluator: F,
) -> Result<(), Vec<EddViolation>>
pub fn validate_verification_tests<F>( &mut self, emc: &EquationModelCard, evaluator: F, ) -> Result<(), Vec<EddViolation>>
Sourcepub fn validate_conservation_law(
&self,
quantity_name: &str,
initial_value: f64,
current_value: f64,
tolerance: f64,
) -> EddResult<()>
pub fn validate_conservation_law( &self, quantity_name: &str, initial_value: f64, current_value: f64, tolerance: f64, ) -> EddResult<()>
Validate conservation laws are satisfied.
§EDD-08: Conservation laws violated
Monitors quantities that should be conserved (energy, momentum, etc.) and triggers Jidoka (stop-on-error) if drift exceeds tolerance.
§Arguments
quantity_name- Name of the conserved quantity (e.g., “energy”)initial_value- Value at simulation startcurrent_value- Current value during simulationtolerance- Maximum allowed relative drift
§Errors
Returns EDD-08 violation if conservation law is violated.
Sourcepub fn validate_cross_platform_reproducibility(
&self,
platform_a: &str,
platform_b: &str,
result_a: f64,
result_b: f64,
tolerance: f64,
) -> EddResult<()>
pub fn validate_cross_platform_reproducibility( &self, platform_a: &str, platform_b: &str, result_a: f64, result_b: f64, tolerance: f64, ) -> EddResult<()>
Validate cross-platform reproducibility.
§EDD-09: Cross-platform reproducibility failed
Compares simulation results across different platforms to ensure bitwise-identical outputs given the same seed.
§Arguments
platform_a- Name of first platformplatform_b- Name of second platformresult_a- Result from platform Aresult_b- Result from platform Btolerance- Maximum allowed difference (0.0 for exact match)
§Errors
Returns EDD-09 violation if results differ beyond tolerance.
Sourcepub fn validate_tdd_compliance(
&self,
implementation_name: &str,
has_test_file: bool,
test_count: usize,
) -> EddResult<()>
pub fn validate_tdd_compliance( &self, implementation_name: &str, has_test_file: bool, test_count: usize, ) -> EddResult<()>
Validate that implementation has associated failing tests.
§EDD-10: Implementation without failing test
Enforces the TDD principle: no implementation without a failing test. This is verified by checking that test files exist and contain appropriate test cases.
§Arguments
implementation_name- Name of the implementationhas_test_file- Whether a test file existstest_count- Number of tests for this implementation
§Errors
Returns EDD-10 violation if no tests exist.
Sourcepub fn validate_yaml_only_config(
has_yaml_config: bool,
hardcoded_params: &[String],
) -> Result<(), EddViolation>
pub fn validate_yaml_only_config( has_yaml_config: bool, hardcoded_params: &[String], ) -> Result<(), EddViolation>
§EDD-13: YAML-Only Configuration
Validates that no hardcoded parameters exist - all configuration must come from YAML files.
§Arguments
has_yaml_config- Whether the simulation has YAML configurationhardcoded_params- List of detected hardcoded parameters
§Errors
Returns EDD-13 violation if:
- No YAML configuration is provided, or
- Hardcoded parameters are detected
Sourcepub fn validate_probar_tui(
probar_tests_passed: bool,
test_count: usize,
) -> Result<(), EddViolation>
pub fn validate_probar_tui( probar_tests_passed: bool, test_count: usize, ) -> Result<(), EddViolation>
Sourcepub fn validate_probar_wasm(
probar_wasm_passed: bool,
test_count: usize,
) -> Result<(), EddViolation>
pub fn validate_probar_wasm( probar_wasm_passed: bool, test_count: usize, ) -> Result<(), EddViolation>
Sourcepub fn validate_three_pillars(
z3_proofs_passed: bool,
has_yaml_config: bool,
seed_specified: bool,
probar_tui_passed: bool,
probar_tui_test_count: usize,
probar_wasm_passed: bool,
probar_wasm_test_count: usize,
) -> Vec<EddViolation>
pub fn validate_three_pillars( z3_proofs_passed: bool, has_yaml_config: bool, seed_specified: bool, probar_tui_passed: bool, probar_tui_test_count: usize, probar_wasm_passed: bool, probar_wasm_test_count: usize, ) -> Vec<EddViolation>
§Three Pillars Quality Gate
Validates all three pillars of provable simulation:
- Z3 Equation Proofs (EDD-11, EDD-12)
- YAML-Only Configuration (EDD-05, EDD-13)
- Probar UX Verification (EDD-14, EDD-15)
§Arguments
z3_proofs_passed- Whether Z3 proofs passhas_yaml_config- Whether YAML config existsseed_specified- Whether seed is specifiedprobar_tui_passed- Whether Probar TUI tests passprobar_wasm_passed- Whether Probar WASM tests pass
§Returns
A vector of any violations found across all three pillars.