============================= test session starts ============================== platform darwin -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- [LOCAL_WORKSPACE]/KINDYNOS/KINDYNOS APPS/KAILA/backend/venv/bin/python cachedir: .pytest_cache rootdir: [LOCAL_WORKSPACE]/KINDYNOS/KINDYNOS APPS/KAILA/backend plugins: anyio-4.12.1 collecting ... collected 47 items sdk/tests/test_data_contracts.py::TestRiskSignal::test_valid_signal_with_hazard_rate PASSED [ 2%] sdk/tests/test_data_contracts.py::TestRiskSignal::test_valid_signal_with_probability PASSED [ 4%] sdk/tests/test_data_contracts.py::TestRiskSignal::test_missing_hazard_specification PASSED [ 6%] sdk/tests/test_data_contracts.py::TestRiskSignal::test_probability_without_horizon PASSED [ 8%] sdk/tests/test_data_contracts.py::TestRiskSignal::test_negative_hazard_rate PASSED [ 10%] sdk/tests/test_data_contracts.py::TestRiskSignal::test_probability_out_of_range PASSED [ 12%] sdk/tests/test_data_contracts.py::TestRiskSignal::test_confidence_out_of_range PASSED [ 14%] sdk/tests/test_data_contracts.py::TestRiskSignal::test_missing_model_source PASSED [ 17%] sdk/tests/test_data_contracts.py::TestRiskSignal::test_serialization_determinism PASSED [ 19%] sdk/tests/test_data_contracts.py::TestRiskSignal::test_canonical_hash PASSED [ 21%] sdk/tests/test_data_contracts.py::TestRiskSignal::test_default_versioning_fields PASSED [ 23%] sdk/tests/test_data_contracts.py::TestBoundEvent::test_valid_bound_event PASSED [ 25%] sdk/tests/test_data_contracts.py::TestBoundEvent::test_invalid_origin PASSED [ 27%] sdk/tests/test_data_contracts.py::TestBoundEvent::test_asset_distribution_normalization PASSED [ 29%] sdk/tests/test_data_contracts.py::TestBoundEvent::test_entity_distribution_normalization PASSED [ 31%] sdk/tests/test_data_contracts.py::TestBindingResult::test_valid_binding PASSED [ 34%] sdk/tests/test_data_contracts.py::TestBindingResult::test_missing_binding_id PASSED [ 36%] sdk/tests/test_data_contracts.py::TestBindingResult::test_canonical_json PASSED [ 38%] sdk/tests/test_data_contracts.py::TestDependencySnapshot::test_valid_snapshot PASSED [ 40%] sdk/tests/test_data_contracts.py::TestDependencySnapshot::test_missing_correlation PASSED [ 42%] sdk/tests/test_data_contracts.py::TestScenarioIntervention::test_valid_forced_jump PASSED [ 44%] sdk/tests/test_data_contracts.py::TestScenarioIntervention::test_invalid_intervention_type PASSED [ 46%] sdk/tests/test_data_contracts.py::TestSimulationControlCommand::test_valid_start_command PASSED [ 48%] sdk/tests/test_data_contracts.py::TestSimulationControlCommand::test_invalid_action PASSED [ 51%] sdk/tests/test_data_contracts.py::TestHazardSeries::test_valid_series PASSED [ 53%] sdk/tests/test_data_contracts.py::TestHazardSeries::test_negative_hazard PASSED [ 55%] sdk/tests/test_data_contracts.py::TestSDKModelBoundaryReport::test_valid_report PASSED [ 57%] sdk/tests/test_data_contracts.py::TestSDKModelBoundaryReport::test_invalid_approval_status PASSED [ 59%] sdk/tests/test_data_contracts.py::TestTrendDistribution::test_to_dict PASSED [ 61%] sdk/tests/test_data_contracts.py::TestJointHints::test_always_soft_constraint PASSED [ 63%] sdk/tests/test_version_negotiation.py::TestValidateSchemaVersion::test_matching_major PASSED [ 65%] sdk/tests/test_version_negotiation.py::TestValidateSchemaVersion::test_matching_major_different_minor PASSED [ 68%] sdk/tests/test_version_negotiation.py::TestValidateSchemaVersion::test_different_major_rejected PASSED [ 70%] sdk/tests/test_version_negotiation.py::TestValidateSchemaVersion::test_empty_string_rejected PASSED [ 72%] sdk/tests/test_version_negotiation.py::TestValidateSchemaVersion::test_none_treated_as_falsy PASSED [ 74%] sdk/tests/test_version_negotiation.py::TestValidateEngineVersion::test_current_version_compatible PASSED [ 76%] sdk/tests/test_version_negotiation.py::TestValidateEngineVersion::test_previous_version_compatible PASSED [ 78%] sdk/tests/test_version_negotiation.py::TestValidateEngineVersion::test_incompatible_version_rejected PASSED [ 80%] sdk/tests/test_version_negotiation.py::TestValidateEngineVersion::test_empty_string_rejected PASSED [ 82%] sdk/tests/test_version_negotiation.py::TestValidateEngineVersion::test_single_part_version_rejected PASSED [ 85%] sdk/tests/test_version_negotiation.py::TestValidateEngineVersion::test_future_version_rejected PASSED [ 87%] sdk/tests/test_version_negotiation.py::TestValidateMessageVersions::test_compatible_message PASSED [ 89%] sdk/tests/test_version_negotiation.py::TestValidateMessageVersions::test_object_without_version_fields PASSED [ 91%] sdk/tests/test_version_negotiation.py::TestValidateMessageVersions::test_schema_failure_short_circuits PASSED [ 93%] sdk/tests/test_version_negotiation.py::TestEnforceVersionCompatibility::test_compatible_message_passes PASSED [ 95%] sdk/tests/test_version_negotiation.py::TestEnforceVersionCompatibility::test_incompatible_raises_version_conflict PASSED [ 97%] sdk/tests/test_version_negotiation.py::TestEnforceVersionCompatibility::test_version_conflict_to_dict PASSED [100%] ============================== 47 passed in 0.04s ==============================