diff --git a/docs/diagrams/heller_state_snapshot_lom.dot b/docs/diagrams/heller_state_snapshot_lom.dot new file mode 100644 index 0000000..fc40681 --- /dev/null +++ b/docs/diagrams/heller_state_snapshot_lom.dot @@ -0,0 +1,117 @@ +digraph avro_lom_schema { + graph [rankdir=LR, splines=ortho, nodesep="0.35", ranksep="0.70", labelloc="b", label="LOM-style Avro schema view: socioprophet.heller.v1.HellerStateSnapshot"]; + node [fontname="Helvetica", fontsize="10"]; + edge [color="black", arrowsize="0.6"]; + lane_0 [shape=plaintext, label="Schema"]; + lane_1 [shape=plaintext, label="Category"]; + lane_2 [shape=plaintext, label="Aggregate Element"]; + lane_3 [shape=plaintext, label="Simple Data Element"]; + lane_4 [shape=plaintext, label="Datatype"]; + lane_5 [shape=plaintext, label="Value"]; + socioprophet_heller_v1_HellerStateSnapshot_0 [shape=box, style="rounded", label="socioprophet.heller.v1\\nHellerStateSnapshot"]; + socioprophet_heller_v1_HellerStateSnapshot_schema_version_1 [shape=box, style="rounded", label="schema_version"]; + socioprophet_heller_v1_HellerStateSnapshot_schema_version_datatype_2 [shape=box, style="solid", label="string"]; + socioprophet_heller_v1_HellerStateSnapshot_schema_version_value_3 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_domain_id_4 [shape=box, style="rounded", label="domain_id"]; + socioprophet_heller_v1_HellerStateSnapshot_domain_id_datatype_5 [shape=box, style="solid", label="string"]; + socioprophet_heller_v1_HellerStateSnapshot_domain_id_value_6 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_scenario_id_7 [shape=box, style="rounded", label="scenario_id"]; + socioprophet_heller_v1_HellerStateSnapshot_scenario_id_datatype_8 [shape=box, style="solid", label="string"]; + socioprophet_heller_v1_HellerStateSnapshot_scenario_id_value_9 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_epoch_10 [shape=box, style="rounded", label="epoch"]; + socioprophet_heller_v1_HellerStateSnapshot_epoch_datatype_11 [shape=box, style="solid", label="int"]; + socioprophet_heller_v1_HellerStateSnapshot_epoch_value_12 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_base_supply_13 [shape=box, style="rounded", label="base_supply"]; + socioprophet_heller_v1_HellerStateSnapshot_base_supply_datatype_14 [shape=box, style="solid", label="record SupplyVector"]; + socioprophet_heller_v1_HellerStateSnapshot_base_supply_value_15 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_delta_supply_16 [shape=box, style="rounded", label="delta_supply"]; + socioprophet_heller_v1_HellerStateSnapshot_delta_supply_datatype_17 [shape=box, style="solid", label="SupplyVector"]; + socioprophet_heller_v1_HellerStateSnapshot_delta_supply_value_18 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_absolute_supply_19 [shape=box, style="rounded", label="absolute_supply"]; + socioprophet_heller_v1_HellerStateSnapshot_absolute_supply_datatype_20 [shape=box, style="solid", label="SupplyVector"]; + socioprophet_heller_v1_HellerStateSnapshot_absolute_supply_value_21 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_knowledge_22 [shape=box, style="rounded", label="knowledge"]; + socioprophet_heller_v1_HellerStateSnapshot_knowledge_datatype_23 [shape=box, style="solid", label="record KnowledgeVector"]; + socioprophet_heller_v1_HellerStateSnapshot_knowledge_value_24 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_valuations_25 [shape=box, style="rounded", label="valuations"]; + socioprophet_heller_v1_HellerStateSnapshot_valuations_datatype_26 [shape=box, style="solid", label="record ValuationVector"]; + socioprophet_heller_v1_HellerStateSnapshot_valuations_value_27 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_signed_shares_28 [shape=box, style="rounded", label="signed_shares"]; + socioprophet_heller_v1_HellerStateSnapshot_signed_shares_datatype_29 [shape=box, style="solid", label="record ShareVector"]; + socioprophet_heller_v1_HellerStateSnapshot_signed_shares_value_30 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_simplex_shares_31 [shape=box, style="rounded", label="simplex_shares"]; + socioprophet_heller_v1_HellerStateSnapshot_simplex_shares_datatype_32 [shape=box, style="solid", label="ShareVector"]; + socioprophet_heller_v1_HellerStateSnapshot_simplex_shares_value_33 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_loop_state_34 [shape=box, style="rounded", label="loop_state"]; + socioprophet_heller_v1_HellerStateSnapshot_loop_state_datatype_35 [shape=box, style="solid", label="array"]; + socioprophet_heller_v1_HellerStateSnapshot_loop_state_value_36 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_open_exposures_37 [shape=box, style="rounded", label="open_exposures"]; + socioprophet_heller_v1_HellerStateSnapshot_open_exposures_datatype_38 [shape=box, style="solid", label="array"]; + socioprophet_heller_v1_HellerStateSnapshot_open_exposures_value_39 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_invariants_40 [shape=box, style="rounded", label="invariants"]; + socioprophet_heller_v1_HellerStateSnapshot_invariants_datatype_41 [shape=box, style="solid", label="record InvariantFlags"]; + socioprophet_heller_v1_HellerStateSnapshot_invariants_value_42 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_event_ids_applied_43 [shape=box, style="rounded", label="event_ids_applied"]; + socioprophet_heller_v1_HellerStateSnapshot_event_ids_applied_datatype_44 [shape=box, style="solid", label="array"]; + socioprophet_heller_v1_HellerStateSnapshot_event_ids_applied_value_45 [shape=plaintext, style="solid", label="..."]; + socioprophet_heller_v1_HellerStateSnapshot_checkpoint_hash_46 [shape=box, style="rounded", label="checkpoint_hash"]; + socioprophet_heller_v1_HellerStateSnapshot_checkpoint_hash_datatype_47 [shape=box, style="solid", label="null | string"]; + socioprophet_heller_v1_HellerStateSnapshot_checkpoint_hash_value_48 [shape=plaintext, style="solid", label="..."]; + { rank=same; lane_0; socioprophet_heller_v1_HellerStateSnapshot_0; } + { rank=same; lane_1; socioprophet_heller_v1_HellerStateSnapshot_schema_version_1; socioprophet_heller_v1_HellerStateSnapshot_domain_id_4; socioprophet_heller_v1_HellerStateSnapshot_scenario_id_7; socioprophet_heller_v1_HellerStateSnapshot_epoch_10; socioprophet_heller_v1_HellerStateSnapshot_base_supply_13; socioprophet_heller_v1_HellerStateSnapshot_delta_supply_16; socioprophet_heller_v1_HellerStateSnapshot_absolute_supply_19; socioprophet_heller_v1_HellerStateSnapshot_knowledge_22; socioprophet_heller_v1_HellerStateSnapshot_valuations_25; socioprophet_heller_v1_HellerStateSnapshot_signed_shares_28; socioprophet_heller_v1_HellerStateSnapshot_simplex_shares_31; socioprophet_heller_v1_HellerStateSnapshot_loop_state_34; socioprophet_heller_v1_HellerStateSnapshot_open_exposures_37; socioprophet_heller_v1_HellerStateSnapshot_invariants_40; socioprophet_heller_v1_HellerStateSnapshot_event_ids_applied_43; socioprophet_heller_v1_HellerStateSnapshot_checkpoint_hash_46; } + { rank=same; lane_4; socioprophet_heller_v1_HellerStateSnapshot_schema_version_datatype_2; socioprophet_heller_v1_HellerStateSnapshot_domain_id_datatype_5; socioprophet_heller_v1_HellerStateSnapshot_scenario_id_datatype_8; socioprophet_heller_v1_HellerStateSnapshot_epoch_datatype_11; socioprophet_heller_v1_HellerStateSnapshot_base_supply_datatype_14; socioprophet_heller_v1_HellerStateSnapshot_delta_supply_datatype_17; socioprophet_heller_v1_HellerStateSnapshot_absolute_supply_datatype_20; socioprophet_heller_v1_HellerStateSnapshot_knowledge_datatype_23; socioprophet_heller_v1_HellerStateSnapshot_valuations_datatype_26; socioprophet_heller_v1_HellerStateSnapshot_signed_shares_datatype_29; socioprophet_heller_v1_HellerStateSnapshot_simplex_shares_datatype_32; socioprophet_heller_v1_HellerStateSnapshot_loop_state_datatype_35; socioprophet_heller_v1_HellerStateSnapshot_open_exposures_datatype_38; socioprophet_heller_v1_HellerStateSnapshot_invariants_datatype_41; socioprophet_heller_v1_HellerStateSnapshot_event_ids_applied_datatype_44; socioprophet_heller_v1_HellerStateSnapshot_checkpoint_hash_datatype_47; } + { rank=same; lane_5; socioprophet_heller_v1_HellerStateSnapshot_schema_version_value_3; socioprophet_heller_v1_HellerStateSnapshot_domain_id_value_6; socioprophet_heller_v1_HellerStateSnapshot_scenario_id_value_9; socioprophet_heller_v1_HellerStateSnapshot_epoch_value_12; socioprophet_heller_v1_HellerStateSnapshot_base_supply_value_15; socioprophet_heller_v1_HellerStateSnapshot_delta_supply_value_18; socioprophet_heller_v1_HellerStateSnapshot_absolute_supply_value_21; socioprophet_heller_v1_HellerStateSnapshot_knowledge_value_24; socioprophet_heller_v1_HellerStateSnapshot_valuations_value_27; socioprophet_heller_v1_HellerStateSnapshot_signed_shares_value_30; socioprophet_heller_v1_HellerStateSnapshot_simplex_shares_value_33; socioprophet_heller_v1_HellerStateSnapshot_loop_state_value_36; socioprophet_heller_v1_HellerStateSnapshot_open_exposures_value_39; socioprophet_heller_v1_HellerStateSnapshot_invariants_value_42; socioprophet_heller_v1_HellerStateSnapshot_event_ids_applied_value_45; socioprophet_heller_v1_HellerStateSnapshot_checkpoint_hash_value_48; } + lane_0 -> lane_1 [style=invis, weight=20]; + lane_1 -> lane_2 [style=invis, weight=20]; + lane_2 -> lane_3 [style=invis, weight=20]; + lane_3 -> lane_4 [style=invis, weight=20]; + lane_4 -> lane_5 [style=invis, weight=20]; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_schema_version_1; + socioprophet_heller_v1_HellerStateSnapshot_schema_version_1 -> socioprophet_heller_v1_HellerStateSnapshot_schema_version_datatype_2; + socioprophet_heller_v1_HellerStateSnapshot_schema_version_1 -> socioprophet_heller_v1_HellerStateSnapshot_schema_version_value_3; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_domain_id_4; + socioprophet_heller_v1_HellerStateSnapshot_domain_id_4 -> socioprophet_heller_v1_HellerStateSnapshot_domain_id_datatype_5; + socioprophet_heller_v1_HellerStateSnapshot_domain_id_4 -> socioprophet_heller_v1_HellerStateSnapshot_domain_id_value_6; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_scenario_id_7; + socioprophet_heller_v1_HellerStateSnapshot_scenario_id_7 -> socioprophet_heller_v1_HellerStateSnapshot_scenario_id_datatype_8; + socioprophet_heller_v1_HellerStateSnapshot_scenario_id_7 -> socioprophet_heller_v1_HellerStateSnapshot_scenario_id_value_9; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_epoch_10; + socioprophet_heller_v1_HellerStateSnapshot_epoch_10 -> socioprophet_heller_v1_HellerStateSnapshot_epoch_datatype_11; + socioprophet_heller_v1_HellerStateSnapshot_epoch_10 -> socioprophet_heller_v1_HellerStateSnapshot_epoch_value_12; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_base_supply_13; + socioprophet_heller_v1_HellerStateSnapshot_base_supply_13 -> socioprophet_heller_v1_HellerStateSnapshot_base_supply_datatype_14; + socioprophet_heller_v1_HellerStateSnapshot_base_supply_13 -> socioprophet_heller_v1_HellerStateSnapshot_base_supply_value_15; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_delta_supply_16; + socioprophet_heller_v1_HellerStateSnapshot_delta_supply_16 -> socioprophet_heller_v1_HellerStateSnapshot_delta_supply_datatype_17; + socioprophet_heller_v1_HellerStateSnapshot_delta_supply_16 -> socioprophet_heller_v1_HellerStateSnapshot_delta_supply_value_18; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_absolute_supply_19; + socioprophet_heller_v1_HellerStateSnapshot_absolute_supply_19 -> socioprophet_heller_v1_HellerStateSnapshot_absolute_supply_datatype_20; + socioprophet_heller_v1_HellerStateSnapshot_absolute_supply_19 -> socioprophet_heller_v1_HellerStateSnapshot_absolute_supply_value_21; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_knowledge_22; + socioprophet_heller_v1_HellerStateSnapshot_knowledge_22 -> socioprophet_heller_v1_HellerStateSnapshot_knowledge_datatype_23; + socioprophet_heller_v1_HellerStateSnapshot_knowledge_22 -> socioprophet_heller_v1_HellerStateSnapshot_knowledge_value_24; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_valuations_25; + socioprophet_heller_v1_HellerStateSnapshot_valuations_25 -> socioprophet_heller_v1_HellerStateSnapshot_valuations_datatype_26; + socioprophet_heller_v1_HellerStateSnapshot_valuations_25 -> socioprophet_heller_v1_HellerStateSnapshot_valuations_value_27; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_signed_shares_28; + socioprophet_heller_v1_HellerStateSnapshot_signed_shares_28 -> socioprophet_heller_v1_HellerStateSnapshot_signed_shares_datatype_29; + socioprophet_heller_v1_HellerStateSnapshot_signed_shares_28 -> socioprophet_heller_v1_HellerStateSnapshot_signed_shares_value_30; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_simplex_shares_31; + socioprophet_heller_v1_HellerStateSnapshot_simplex_shares_31 -> socioprophet_heller_v1_HellerStateSnapshot_simplex_shares_datatype_32; + socioprophet_heller_v1_HellerStateSnapshot_simplex_shares_31 -> socioprophet_heller_v1_HellerStateSnapshot_simplex_shares_value_33; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_loop_state_34; + socioprophet_heller_v1_HellerStateSnapshot_loop_state_34 -> socioprophet_heller_v1_HellerStateSnapshot_loop_state_datatype_35; + socioprophet_heller_v1_HellerStateSnapshot_loop_state_34 -> socioprophet_heller_v1_HellerStateSnapshot_loop_state_value_36; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_open_exposures_37; + socioprophet_heller_v1_HellerStateSnapshot_open_exposures_37 -> socioprophet_heller_v1_HellerStateSnapshot_open_exposures_datatype_38; + socioprophet_heller_v1_HellerStateSnapshot_open_exposures_37 -> socioprophet_heller_v1_HellerStateSnapshot_open_exposures_value_39; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_invariants_40; + socioprophet_heller_v1_HellerStateSnapshot_invariants_40 -> socioprophet_heller_v1_HellerStateSnapshot_invariants_datatype_41; + socioprophet_heller_v1_HellerStateSnapshot_invariants_40 -> socioprophet_heller_v1_HellerStateSnapshot_invariants_value_42; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_event_ids_applied_43; + socioprophet_heller_v1_HellerStateSnapshot_event_ids_applied_43 -> socioprophet_heller_v1_HellerStateSnapshot_event_ids_applied_datatype_44; + socioprophet_heller_v1_HellerStateSnapshot_event_ids_applied_43 -> socioprophet_heller_v1_HellerStateSnapshot_event_ids_applied_value_45; + socioprophet_heller_v1_HellerStateSnapshot_0 -> socioprophet_heller_v1_HellerStateSnapshot_checkpoint_hash_46; + socioprophet_heller_v1_HellerStateSnapshot_checkpoint_hash_46 -> socioprophet_heller_v1_HellerStateSnapshot_checkpoint_hash_datatype_47; + socioprophet_heller_v1_HellerStateSnapshot_checkpoint_hash_46 -> socioprophet_heller_v1_HellerStateSnapshot_checkpoint_hash_value_48; +} diff --git a/tools/check_avro_lom_diagrams.py b/tools/check_avro_lom_diagrams.py index 79b292f..13589f6 100644 --- a/tools/check_avro_lom_diagrams.py +++ b/tools/check_avro_lom_diagrams.py @@ -34,6 +34,11 @@ class DiagramSpec: diagram="docs/diagrams/heller_event_envelope_lom.dot", max_depth=1, ), + DiagramSpec( + schema="fixtures/descriptors/heller/v1/heller_state_snapshot.avsc", + diagram="docs/diagrams/heller_state_snapshot_lom.dot", + max_depth=1, + ), )