@@ -367,6 +367,8 @@ def test_archive_metadata(self) -> None:
367367 "dim_aparam" ,
368368 "dim_chg_spin" ,
369369 "mixed_types" ,
370+ "has_message_passing" ,
371+ "has_comm_artifact" ,
370372 "has_default_fparam" ,
371373 "default_chg_spin" ,
372374 "output_keys" ,
@@ -381,6 +383,8 @@ def test_archive_metadata(self) -> None:
381383 self .assertEqual (metadata ["rcut" ], self .params ["descriptor" ]["rcut" ])
382384 self .assertEqual (list (metadata ["sel" ]), list (self .params ["descriptor" ]["sel" ]))
383385 self .assertTrue (metadata ["mixed_types" ])
386+ self .assertTrue (metadata ["has_message_passing" ])
387+ self .assertFalse (metadata ["has_comm_artifact" ])
384388 self .assertFalse (metadata ["is_spin" ])
385389 self .assertEqual (metadata ["dim_fparam" ], 0 )
386390 self .assertEqual (metadata ["dim_aparam" ], 0 )
@@ -592,6 +596,16 @@ def test_metadata_records_ntypes_when_type_map_is_empty(self) -> None:
592596 self .assertEqual (metadata ["type_map" ], [])
593597 self .assertEqual (metadata ["ntypes" ], model .get_descriptor ().get_ntypes ())
594598
599+ def test_metadata_records_message_passing_contract (self ) -> None :
600+ """PTExpt fail-fast depends on the SeZM-specific metadata contract."""
601+ model = _build_tiny_sezm_model ()
602+
603+ metadata = _collect_metadata (model , ["energy" ])
604+
605+ self .assertTrue (model .has_message_passing ())
606+ self .assertTrue (metadata ["has_message_passing" ])
607+ self .assertFalse (metadata ["has_comm_artifact" ])
608+
595609 def test_charge_spin_export_sample_has_runtime_input_slot (self ) -> None :
596610 """Charge/spin-conditioned exports should not bake defaults into the graph."""
597611 params = _tiny_sezm_model_params ()
@@ -722,6 +736,8 @@ def fake_compile(_exported: torch.export.ExportedProgram, package_path: str):
722736 self .assertTrue (metadata ["is_spin" ])
723737 self .assertEqual (metadata ["type_map" ], params ["type_map" ])
724738 self .assertEqual (metadata ["ntypes" ], len (params ["type_map" ]))
739+ self .assertTrue (metadata ["has_message_passing" ])
740+ self .assertFalse (metadata ["has_comm_artifact" ])
725741 self .assertEqual (metadata ["dim_chg_spin" ], 0 )
726742 self .assertIsNone (metadata ["default_chg_spin" ])
727743 self .assertEqual (metadata ["use_spin" ], params ["spin" ]["use_spin" ])
0 commit comments