from core.bridge import to_canonical, from_canonical from core.contracts import LocalProblem def test_bridge_round_trip_local_problem(): lp = LocalProblem(asset_id="robot-01", payload={"speed": 1.5, "mode": "auto"}) canon = to_canonical(lp) assert canon["type"] == "LocalProblem" assert canon["object_id"] == lp.asset_id assert canon["data"] == lp.payload lp_back = from_canonical(canon) assert isinstance(lp_back, LocalProblem) assert lp_back.asset_id == lp.asset_id assert lp_back.payload == lp.payload