test_001_v0_p01_import_96_nodes (test_dynamic_field.TestDynamicField.test_001_v0_p01_import_96_nodes) ... ok
test_002_v0_p01_eight_dimensions (test_dynamic_field.TestDynamicField.test_002_v0_p01_eight_dimensions) ... ok
test_003_v0_p01_twenty_one_links (test_dynamic_field.TestDynamicField.test_003_v0_p01_twenty_one_links) ... ok
test_004_p01_source_sha_preserved (test_dynamic_field.TestDynamicField.test_004_p01_source_sha_preserved) ... ok
test_005_p01_original_unmodified (test_dynamic_field.TestDynamicField.test_005_p01_original_unmodified) ... ok
test_006_all_states_valid (test_dynamic_field.TestDynamicField.test_006_all_states_valid) ... ok
test_007_all_snapshots_immutable_by_next (test_dynamic_field.TestDynamicField.test_007_all_snapshots_immutable_by_next) ... ok
test_008_time_monotonic (test_dynamic_field.TestDynamicField.test_008_time_monotonic) ... ok
test_009_7_events_8_snapshots (test_dynamic_field.TestDynamicField.test_009_7_events_8_snapshots) ... ok
test_010_event_receipts_source_match (test_dynamic_field.TestDynamicField.test_010_event_receipts_source_match) ... ok
test_011_events_parent_reference (test_dynamic_field.TestDynamicField.test_011_events_parent_reference) ... ok
test_012_full_replay_exact (test_dynamic_field.TestDynamicField.test_012_full_replay_exact) ... ok
test_013_replay_rejects_bogus_receipt (test_dynamic_field.TestDynamicField.test_013_replay_rejects_bogus_receipt) ... ok
test_014_state_digest_order_independent_for_nodes (test_dynamic_field.TestDynamicField.test_014_state_digest_order_independent_for_nodes) ... ok
test_015_state_digest_order_independent_for_axes (test_dynamic_field.TestDynamicField.test_015_state_digest_order_independent_for_axes) ... ok
test_016_event_base_is_hard_gate (test_dynamic_field.TestDynamicField.test_016_event_base_is_hard_gate) ... ok
test_017_event_tick_is_hard_gate (test_dynamic_field.TestDynamicField.test_017_event_tick_is_hard_gate) ... ok
test_018_event_does_not_mutate_on_success (test_dynamic_field.TestDynamicField.test_018_event_does_not_mutate_on_success) ... ok
test_019_event_does_not_mutate_on_failure (test_dynamic_field.TestDynamicField.test_019_event_does_not_mutate_on_failure) ... ok
test_020_introduction_requires_all_nodes (test_dynamic_field.TestDynamicField.test_020_introduction_requires_all_nodes) ... ok
test_021_introduction_requires_all_axes (test_dynamic_field.TestDynamicField.test_021_introduction_requires_all_axes) ... ok
test_022_witness_cannot_claim_certified_transfer (test_dynamic_field.TestDynamicField.test_022_witness_cannot_claim_certified_transfer) ... ok
test_023_split_retired_parent (test_dynamic_field.TestDynamicField.test_023_split_retired_parent) ... ok
test_024_split_two_distinct_children (test_dynamic_field.TestDynamicField.test_024_split_two_distinct_children) ... ok
test_025_split_copies_no_default_values (test_dynamic_field.TestDynamicField.test_025_split_copies_no_default_values) ... ok
test_026_split_missing_edge_archiving_rejected (test_dynamic_field.TestDynamicField.test_026_split_missing_edge_archiving_rejected) ... ok
test_027_split_unexpected_edge_archiving_rejected (test_dynamic_field.TestDynamicField.test_027_split_unexpected_edge_archiving_rejected) ... ok
test_028_split_archives_existing_links (test_dynamic_field.TestDynamicField.test_028_split_archives_existing_links) ... ok
test_029_add_sixteen_new_directed_links (test_dynamic_field.TestDynamicField.test_029_add_sixteen_new_directed_links) ... ok
test_030_no_inferred_old_link_relabeling (test_dynamic_field.TestDynamicField.test_030_no_inferred_old_link_relabeling) ... ok
test_031_merge_preserves_all_source_axes (test_dynamic_field.TestDynamicField.test_031_merge_preserves_all_source_axes) ... ok
test_032_merge_preserves_unknown_if_operand_missing (test_dynamic_field.TestDynamicField.test_032_merge_preserves_unknown_if_operand_missing) ... ok
test_033_merge_archives_frontier_edges (test_dynamic_field.TestDynamicField.test_033_merge_archives_frontier_edges) ... ok
test_034_merge_without_affected_edges_fails (test_dynamic_field.TestDynamicField.test_034_merge_without_affected_edges_fails) ... ok
test_035_retirement_preserves_future_unknown (test_dynamic_field.TestDynamicField.test_035_retirement_preserves_future_unknown) ... ok
test_036_retired_axis_cannot_be_updated (test_dynamic_field.TestDynamicField.test_036_retired_axis_cannot_be_updated) ... ok
test_037_observed_zero_is_distinct_from_unknown (test_dynamic_field.TestDynamicField.test_037_observed_zero_is_distinct_from_unknown) ... ok
test_038_not_applicable_distinct_from_unknown (test_dynamic_field.TestDynamicField.test_038_not_applicable_distinct_from_unknown) ... ok
test_039_bad_unknown_with_value_fails (test_dynamic_field.TestDynamicField.test_039_bad_unknown_with_value_fails) ... ok
test_040_bad_na_with_value_fails (test_dynamic_field.TestDynamicField.test_040_bad_na_with_value_fails) ... ok
test_041_ratio_boolean_ambiguity_rejected (test_dynamic_field.TestDynamicField.test_041_ratio_boolean_ambiguity_rejected) ... ok
test_042_out_of_range_measurement_rejected (test_dynamic_field.TestDynamicField.test_042_out_of_range_measurement_rejected) ... ok
test_043_duplicate_node_rejected (test_dynamic_field.TestDynamicField.test_043_duplicate_node_rejected) ... ok
test_044_alias_dimension_rejected (test_dynamic_field.TestDynamicField.test_044_alias_dimension_rejected) ... ok
test_045_lineage_requires_preexisting_parent (test_dynamic_field.TestDynamicField.test_045_lineage_requires_preexisting_parent) ... ok
test_046_self_parent_forbidden (test_dynamic_field.TestDynamicField.test_046_self_parent_forbidden) ... ok
test_047_retired_edge_cannot_be_revived_by_flag (test_dynamic_field.TestDynamicField.test_047_retired_edge_cannot_be_revived_by_flag) ... ok
test_048_retired_dimension_reuse_rejected (test_dynamic_field.TestDynamicField.test_048_retired_dimension_reuse_rejected) ... ok
test_049_missing_new_dimension_scope_rejected (test_dynamic_field.TestDynamicField.test_049_missing_new_dimension_scope_rejected) ... ok
test_050_no_malformed_join_id (test_dynamic_field.TestDynamicField.test_050_no_malformed_join_id) ... ok
test_051_reposition_changes_geometry_not_measures (test_dynamic_field.TestDynamicField.test_051_reposition_changes_geometry_not_measures) ... ok
test_052_bogus_reposition_outside_bounds_rejected (test_dynamic_field.TestDynamicField.test_052_bogus_reposition_outside_bounds_rejected) ... ok
test_053_policy_accepts_active_numeric_axes (test_dynamic_field.TestDynamicField.test_053_policy_accepts_active_numeric_axes) ... ok
test_054_policy_rejects_retired_fill_axis (test_dynamic_field.TestDynamicField.test_054_policy_rejects_retired_fill_axis) ... ok
test_055_policy_rejects_nominal_fill_axis (test_dynamic_field.TestDynamicField.test_055_policy_rejects_nominal_fill_axis) ... ok
test_056_policy_rejects_invalid_hex_color (test_dynamic_field.TestDynamicField.test_056_policy_rejects_invalid_hex_color) ... ok
test_057_projection_all_states_valid (test_dynamic_field.TestDynamicField.test_057_projection_all_states_valid) ... ok
test_058_rendered_svg_parses_and_metadata (test_dynamic_field.TestDynamicField.test_058_rendered_svg_parses_and_metadata) ... ok
test_059_schema_version_in_receipt (test_dynamic_field.TestDynamicField.test_059_schema_version_in_receipt) ... ok
test_060_projection_policy_does_not_mutate_source (test_dynamic_field.TestDynamicField.test_060_projection_policy_does_not_mutate_source) ... ok
test_061_same_state_two_policies_distinct_results (test_dynamic_field.TestDynamicField.test_061_same_state_two_policies_distinct_results) ... ok
test_062_retired_source_still_part_of_historical_axis_list (test_dynamic_field.TestDynamicField.test_062_retired_source_still_part_of_historical_axis_list) ... ok
test_063_svg_output_stable_bytes (test_dynamic_field.TestDynamicField.test_063_svg_output_stable_bytes) ... ok
test_064_wrong_projection_edge_endpoint_rejected (test_dynamic_field.TestDynamicField.test_064_wrong_projection_edge_endpoint_rejected) ... ok
test_065_wrong_projection_glyph_rejected (test_dynamic_field.TestDynamicField.test_065_wrong_projection_glyph_rejected) ... ok
test_066_wrong_projection_histogram_rejected (test_dynamic_field.TestDynamicField.test_066_wrong_projection_histogram_rejected) ... ok
test_067_invalid_json_duplicate_keys_rejected (test_dynamic_field.TestDynamicField.test_067_invalid_json_duplicate_keys_rejected) ... ok
test_068_nonfinite_json_rejected (test_dynamic_field.TestDynamicField.test_068_nonfinite_json_rejected) ... ok
test_069_unsupported_event_rejected (test_dynamic_field.TestDynamicField.test_069_unsupported_event_rejected) ... ok
test_070_archival_edges_count_final (test_dynamic_field.TestDynamicField.test_070_archival_edges_count_final) ... ok
test_071_all_frames_stored_match_source_state_digest (test_dynamic_field.TestDynamicField.test_071_all_frames_stored_match_source_state_digest) ... ok
test_072_frame_receipts_link_projections (test_dynamic_field.TestDynamicField.test_072_frame_receipts_link_projections) ... ok
test_073_historical_axis_measurement_never_erased (test_dynamic_field.TestDynamicField.test_073_historical_axis_measurement_never_erased) ... ok
test_074_infinite_is_open_design_not_unbounded_claim (test_dynamic_field.TestDynamicField.test_074_infinite_is_open_design_not_unbounded_claim) ... ok
test_075_no_policy_only_update_in_event_log (test_dynamic_field.TestDynamicField.test_075_no_policy_only_update_in_event_log) ... ok

----------------------------------------------------------------------
Ran 75 tests in 2.429s

OK
