test_01_declared_macros (test_xpvb02.XPVB02Tests.test_01_declared_macros) ... ok
test_02_round_version (test_xpvb02.XPVB02Tests.test_02_round_version) ... ok
test_03_malformed_round_rejected (test_xpvb02.XPVB02Tests.test_03_malformed_round_rejected) ... ok
test_04_exact_micro_arithmetic (test_xpvb02.XPVB02Tests.test_04_exact_micro_arithmetic) ... ok
test_05_unknown_micro_rejected (test_xpvb02.XPVB02Tests.test_05_unknown_micro_rejected) ... ok
test_06_all_macro_endpoints_one (test_xpvb02.XPVB02Tests.test_06_all_macro_endpoints_one) ... ok
test_07_history_counts (test_xpvb02.XPVB02Tests.test_07_history_counts) ... ok
test_08_history_identity_unique (test_xpvb02.XPVB02Tests.test_08_history_identity_unique) ... ok
test_09_stable_endpoint_different_internal_states (test_xpvb02.XPVB02Tests.test_09_stable_endpoint_different_internal_states) ... ok
test_10_three_phases_partition_9 (test_xpvb02.XPVB02Tests.test_10_three_phases_partition_9) ... ok
test_11_links_9_vs_36 (test_xpvb02.XPVB02Tests.test_11_links_9_vs_36) ... ok
test_12_links_198_vs_630 (test_xpvb02.XPVB02Tests.test_12_links_198_vs_630) ... ok
test_13_links_3384_vs_10296 (test_xpvb02.XPVB02Tests.test_13_links_3384_vs_10296) ... ok
test_14_phase_incompatible_link_rejected (test_xpvb02.XPVB02Tests.test_14_phase_incompatible_link_rejected) ... ok
test_15_self_link_rejected (test_xpvb02.XPVB02Tests.test_15_self_link_rejected) ... ok
test_16_cross_depth_link_rejected (test_xpvb02.XPVB02Tests.test_16_cross_depth_link_rejected) ... ok
test_17_evidence_is_not_transition (test_xpvb02.XPVB02Tests.test_17_evidence_is_not_transition) ... ok
test_18_missing_version_rejected (test_xpvb02.XPVB02Tests.test_18_missing_version_rejected) ... ok
test_19_future_macro_rejected (test_xpvb02.XPVB02Tests.test_19_future_macro_rejected) ... ok
test_20_round_mismatch_rejected (test_xpvb02.XPVB02Tests.test_20_round_mismatch_rejected) ... ok
test_21_base_version_not_retroactive (test_xpvb02.XPVB02Tests.test_21_base_version_not_retroactive) ... ok
test_22_quotient_keeps_provenance_ids (test_xpvb02.XPVB02Tests.test_22_quotient_keeps_provenance_ids) ... ok
test_23_retention_commutes_with_local_links (test_xpvb02.XPVB02Tests.test_23_retention_commutes_with_local_links) ... ok
test_24_unknown_retention_rejected (test_xpvb02.XPVB02Tests.test_24_unknown_retention_rejected) ... ok
test_25_invalid_successor_policy_rejected (test_xpvb02.XPVB02Tests.test_25_invalid_successor_policy_rejected) ... ok
test_26_phase_observation_closed_unrestricted (test_xpvb02.XPVB02Tests.test_26_phase_observation_closed_unrestricted) ... ok
test_27_phase_observation_not_closed_contextual (test_xpvb02.XPVB02Tests.test_27_phase_observation_not_closed_contextual) ... ok
test_28_phase_last_macro_closed_contextual (test_xpvb02.XPVB02Tests.test_28_phase_last_macro_closed_contextual) ... ok
test_29_specific_witness_AA_BC (test_xpvb02.XPVB02Tests.test_29_specific_witness_AA_BC) ... ok
test_30_broadening_observation_recovers_one_step (test_xpvb02.XPVB02Tests.test_30_broadening_observation_recovers_one_step) ... ok
test_31_pre_connect_then_expand_loses_unlifted_links (test_xpvb02.XPVB02Tests.test_31_pre_connect_then_expand_loses_unlifted_links) ... ok
test_32_all_terminals_preserved_4_rounds (test_xpvb02.XPVB02Tests.test_32_all_terminals_preserved_4_rounds) ... ok
test_33_summary_counts_match (test_xpvb02.XPVB02Tests.test_33_summary_counts_match) ... ok
test_34_summary_provenance_and_closure (test_xpvb02.XPVB02Tests.test_34_summary_provenance_and_closure) ... ok
test_35_round_range_limited (test_xpvb02.XPVB02Tests.test_35_round_range_limited) ... ok
test_36_forged_phase_rejected (test_xpvb02.XPVB02Tests.test_36_forged_phase_rejected) ... ok
test_37_missing_source_events_rejected (test_xpvb02.XPVB02Tests.test_37_missing_source_events_rejected) ... ok
test_38_forged_old_version_rejected (test_xpvb02.XPVB02Tests.test_38_forged_old_version_rejected) ... ok

----------------------------------------------------------------------
Ran 38 tests in 0.682s

OK
