from pathlib import Path import pytest import torch from mcss.config import load_config from mcss.model.system import build_model def test_frozen_v5_checkpoint_strictly_loads_into_current_model() -> None: project_root = Path(__file__).resolve().parents[1] baseline_root = project_root / "baselines" / "v5_typed_appearance_step4500" checkpoint = baseline_root / "checkpoint" / "step_004500.pt" if not checkpoint.exists(): pytest.skip( "Optional historical V5 step-4500 checkpoint is not distributed in the public " "repository; restore the original checkpoint to run strict compatibility checks" ) config = load_config( baseline_root / "config" / "hypersim_er_v5_appearance2x_overfit.yaml" ) payload = torch.load( checkpoint, map_location="cpu", weights_only=False, ) model = build_model(config.model) assert len(payload["model"]) == len(model.state_dict()) == 92 assert set(payload["model"]) == set(model.state_dict()) result = model.load_state_dict(payload["model"], strict=True) assert result.missing_keys == [] assert result.unexpected_keys == []