from local_train.check import check_metadata, sha256_file from local_train.constants import METADATA_FILES from local_train.duel import go_nogo from local_train.export import _copy_genesis_metadata, _strip_disallowed def test_copy_genesis_metadata_is_byte_identical(tmp_path): genesis = tmp_path / "genesis" dest = tmp_path / "out" genesis.mkdir() dest.mkdir() for name in METADATA_FILES: (genesis / name).write_bytes(f"{name}-bytes\n".encode()) (dest / "tokenizer.json").write_text("{}\n") # would fail if we reserialize _copy_genesis_metadata(genesis, dest) for name in METADATA_FILES: assert sha256_file(dest / name) == sha256_file(genesis / name) report = check_metadata(dest, genesis) assert report["ok"] def test_strip_removes_hf_extras(tmp_path): (tmp_path / "config.json").write_text("{}") (tmp_path / "special_tokens_map.json").write_text("{}") (tmp_path / "merges.txt").write_text("a") (tmp_path / "modeling.py").write_text("x") (tmp_path / "model-00001-of-00002.safetensors").write_bytes(b"x") removed = _strip_disallowed(tmp_path) names = {p.name for p in tmp_path.iterdir()} assert "special_tokens_map.json" in removed assert "merges.txt" in removed assert "modeling.py" in removed assert "model-00001-of-00002.safetensors" in names def test_go_nogo_rejects_zero_submit(): report = go_nogo( { "run_id": "x", "sample_count": 8, "challenger_gate_pass_rate": 1.0, "score_challenger": 0.80, "score_king": 0.66, } ) assert report["go"] is False assert any("submit" in reason for reason in report["reasons"])