"""V31: frozen DINOv2 features through a zero bypass on the V17 L carrier; scripts and branch.""" import importlib.util from pathlib import Path import pytest import torch from test_rgbd_stream_write_v3 import contexts from mcss.dynamic.types import hash_scene_state from mcss.mechanism_pilot import rgbd_long_train_carrier as v17 from mcss.mechanism_pilot import rgbd_pretrained_carrier as v31 SEED = 20260928 SCRIPTS = Path(__file__).parents[1] / "scripts" needs_backbone = pytest.mark.skipif( not v31.backbone_files_present(), reason="the DINOv2 snapshot exists only on the training host" ) def script(name): spec = importlib.util.spec_from_file_location(name.replace(".py", ""), SCRIPTS / name) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) return module def test_shared_parameters_are_the_v17_draw_and_the_global_rng_is_untouched(): base = v17.make_carrier("L", SEED, "cpu") after_base = torch.get_rng_state() mine = v31.make_carrier("L", SEED, "cpu") assert torch.equal(torch.get_rng_state(), after_base) state = mine.state_dict() extra = set(state) - set(base.state_dict()) assert extra == {"feature_projection", "feature_projection_bias", "pretrained_weight"} assert all(torch.equal(state[k], v) for k, v in base.state_dict().items()) assert sum(state[k].numel() for k in extra) == 384 * 24 + 24 + 48 * 64 == 12312 assert not mine.pretrained_weight.any() and not mine.feature_projection_bias.any() assert torch.equal( v31.make_carrier("L", SEED, "cpu").feature_projection, state["feature_projection"] ) assert not torch.equal( v31.make_carrier("L", SEED + 1, "cpu").feature_projection, state["feature_projection"] ) bound = 1 / 384**0.5 assert mine.feature_projection.abs().max() <= bound assert mine.feature_projection.std() > bound / 4 def test_checkpoint_roundtrip_and_schema_and_backbone_guards(tmp_path): carrier = v31.make_carrier("L", SEED, "cpu") path = tmp_path / "step_000100.pt" digest = v31.save_checkpoint(path, carrier, variant="L", seed=SEED, step=100, lock_sha256="x") assert len(digest) == 64 restored, payload = v31.load_checkpoint(path, "cpu") assert isinstance(restored, v31.PretrainedFeatureCarrier) assert payload["backbone"] == v31.BACKBONE and payload["projected"] == v31.PROJECTED == 24 assert all( torch.equal(a, b) for a, b in zip(restored.state_dict().values(), carrier.state_dict().values(), strict=True) ) with pytest.raises(PermissionError): v17.load_checkpoint(path, "cpu") old = tmp_path / "v17.pt" v17.save_checkpoint( old, v17.make_carrier("L", SEED, "cpu"), variant="L", seed=SEED, step=1, lock_sha256="x" ) with pytest.raises(PermissionError): v31.load_checkpoint(old, "cpu") payload["backbone"] = {**payload["backbone"], "weights_sha256": "0" * 64} torch.save(payload, tmp_path / "other_backbone.pt") with pytest.raises(PermissionError): v31.load_checkpoint(tmp_path / "other_backbone.pt", "cpu") @needs_backbone def test_backbone_is_registered_frozen_cached_and_outside_the_state_dict(): assert v31.code_tree_sha256(v31.repository()) == v31.BACKBONE["code_tree_sha256"] model = v31.load_backbone("cpu") assert v31.load_backbone("cpu") is model and not model.training assert not any(p.requires_grad for p in model.parameters()) warm, _, _, _ = contexts() tokens = v31.patch_tokens(warm[0].rgb) assert tokens.shape == (384, 18, 23) and not tokens.requires_grad assert torch.isfinite(tokens).all() assert v31.patch_tokens(warm[0].rgb.clone()) is tokens carrier = v31.make_carrier("L", SEED, "cpu") assert len(carrier.state_dict()) == len(v17.make_carrier("L", SEED, "cpu").state_dict()) + 3 features = carrier.encode(warm[0]) assert features.shape == (32, *warm[0].rgb.shape[-2:]) assert torch.equal(features[:8], v17.make_carrier("L", SEED, "cpu").encode(warm[0])) features[8:].square().sum().backward() assert carrier.feature_projection.grad.abs().sum() > 0 @needs_backbone def test_zero_bypass_builds_the_v17_l_state_and_a_live_bypass_changes_it(): torch.set_num_threads(1) warm, _, bounds, _ = contexts() base = v17.make_carrier("L", SEED, "cpu") mine = v31.make_carrier("L", SEED, "cpu") with torch.no_grad(): expected, anchor = v17.build_state(base, warm, bounds, "e") state, mine_anchor = v31.build_state(mine, warm, bounds, "e") assert hash_scene_state(state) == hash_scene_state(expected) assert torch.equal(anchor, mine_anchor) with torch.no_grad(): mine.pretrained_weight.normal_(0.0, 0.1, generator=torch.Generator().manual_seed(1)) live, _ = v31.build_state(mine, warm, bounds, "e") assert hash_scene_state(live) != hash_scene_state(expected) def test_derived_scripts_change_only_the_carrier_module(): train = (SCRIPTS / "train_rgbd_pretrained_v31.py").read_text() frozen_train = (SCRIPTS / "train_rgbd_long_train_carrier.py").read_text() start, end = "def train(", ' "dynamic_ttt_run": False,\n' assert ( train[train.index(start) : train.index(end)] == frozen_train[frozen_train.index(start) : frozen_train.index(end)] ) assert "rgbd_pretrained_carrier import (" in train and "rgbd_long_train_carrier" not in train evaluate = (SCRIPTS / "evaluate_rgbd_pretrained_eval_v31.py").read_text() frozen_evaluate = (SCRIPTS / "evaluate_rgbd_long_train_eval.py").read_text() line = "build_state, load_checkpoint\n" assert "from mcss.mechanism_pilot.rgbd_pretrained_carrier import " + line in evaluate assert evaluate.split(line, 1)[1] == frozen_evaluate.split(line, 1)[1] def test_branch_needs_both_the_feature_gain_and_the_hybrid_label(): analysis = script("analyze_rgbd_pretrained_v31.py") assert analysis.ARMS == ("G1", "P") assert analysis.branch("SUPPORTED", "ABOVE") == "A" assert analysis.branch("SUPPORTED", "NOT_DISTINGUISHABLE") == "B" assert analysis.branch("PARTIAL", "ABOVE") == "B" assert analysis.branch("NOT_ESTABLISHED", "BELOW") == "C"