test_approach_exact_difference_boundaries (test_model.ModelTests.test_approach_exact_difference_boundaries) ... ok
test_bounds_after_large_heat_and_dry_air (test_model.ModelTests.test_bounds_after_large_heat_and_dry_air) ... ok
test_comparison_removes_only_diffusion (test_model.ModelTests.test_comparison_removes_only_diffusion) ... ok
test_diffusion_all_bounded_triplets_conserve_and_reflect (test_model.ModelTests.test_diffusion_all_bounded_triplets_conserve_and_reflect) ... ok
test_exact_published_levels (test_model.ModelTests.test_exact_published_levels) ... ok
test_forecast_is_non_mutating_and_exact (test_model.ModelTests.test_forecast_is_non_mutating_and_exact) ... ok
test_growth_inclusive_all_endpoints (test_model.ModelTests.test_growth_inclusive_all_endpoints) ... ok
test_growth_uses_final_not_intermediate_marks (test_model.ModelTests.test_growth_uses_final_not_intermediate_marks) ... ok
test_heat_soil_then_vent_then_diffuse_then_clamp (test_model.ModelTests.test_heat_soil_then_vent_then_diffuse_then_clamp) ... ok
test_hot_outside_air_is_not_unlimited_cooling (test_model.ModelTests.test_hot_outside_air_is_not_unlimited_cooling) ... ok
test_invalid_decision_does_not_change_state (test_model.ModelTests.test_invalid_decision_does_not_change_state) ... ok
test_level_and_state_immutable (test_model.ModelTests.test_level_and_state_immutable) ... ok
test_negative_diffusion_rounding (test_model.ModelTests.test_negative_diffusion_rounding) ... ok
test_no_initial_growth (test_model.ModelTests.test_no_initial_growth) ... ok
test_oracle_many_full_policies_and_intermediates (test_model.ModelTests.test_oracle_many_full_policies_and_intermediates) ... ok
test_rain_window_can_add_humidity_then_remove_it (test_model.ModelTests.test_rain_window_can_add_humidity_then_remove_it) ... ok
test_record_json_roundtrip_digest_and_determinism (test_model.ModelTests.test_record_json_roundtrip_digest_and_determinism) ... ok
test_simultaneous_middle_in_out_and_through (test_model.ModelTests.test_simultaneous_middle_in_out_and_through) ... ok
test_tampered_record_rejected (test_model.ModelTests.test_tampered_record_rejected) ... ok
test_target_three_boundary (test_model.ModelTests.test_target_three_boundary) ... ok
test_tick_eight_no_ninth_weather_access_or_history_loss (test_model.ModelTests.test_tick_eight_no_ninth_weather_access_or_history_loss) ... ok
test_unchanged_forecast_has_explicit_conditional_semantics (test_model.ModelTests.test_unchanged_forecast_has_explicit_conditional_semantics) ... ok
test_undo_restores_window_weather_and_complete_state (test_model.ModelTests.test_undo_restores_window_weather_and_complete_state) ... ok
test_window_persistence_and_switch_count (test_model.ModelTests.test_window_persistence_and_switch_count) ... ok
test_all_four_exhaustive_audits_and_histogram_counts (test_experiments.ExperimentTests.test_all_four_exhaustive_audits_and_histogram_counts) ... ok
test_c_all_closed_is_retained_as_success (test_experiments.ExperimentTests.test_c_all_closed_is_retained_as_success) ... ok
test_every_saved_representative_replays_exactly (test_experiments.ExperimentTests.test_every_saved_representative_replays_exactly) ... ok
test_import_has_no_writes (test_experiments.ExperimentTests.test_import_has_no_writes) ... ok
test_saved_independent_audit_matches_source (test_experiments.ExperimentTests.test_saved_independent_audit_matches_source) ... ok
test_shared_comparison_input_succeeds_under_both_rules (test_experiments.ExperimentTests.test_shared_comparison_input_succeeds_under_both_rules) ... ok

----------------------------------------------------------------------
Ran 30 tests in 0.295s

OK
