Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save jasonLaster/f7866702e56178f04031ac7caa003fcb to your computer and use it in GitHub Desktop.

Select an option

Save jasonLaster/f7866702e56178f04031ac7caa003fcb to your computer and use it in GitHub Desktop.
Mechanical refactor transform: mirror multi-turn rollout tests
#!/usr/bin/env python3
"""Reproducible transform for mirroring multi-turn rollout tests.
Run from the repo root: python3 /tmp/transform_multiturn_rollout_test_layout.py
"""
import sys
from pathlib import Path
sys.path.append(".claude/skills/mechanical-refactor-verify")
from mechanical_refactor_verify_utils import git_add_and_commit, verify_mechanical_refactor
BASE_COMMIT = "23eb002571d220f3d06150d2fcdc4a727c4383a3"
TARGET_COMMIT = "5ed76dbb2345a38ad35f2b3e2a10ca1971f9a3b8"
def replace(path: Path, old: str, new: str) -> None:
"""Apply one targeted path replacement."""
path.write_text(path.read_text().replace(old, new))
def transform(dir_root: Path) -> None:
"""Move multi-turn tests and update import and documentation paths."""
tests_dir = dir_root / "autonomy/tests"
rollouts_dir = tests_dir / "rollouts"
fixtures_dir = tests_dir / "fixtures"
(tests_dir / "test_rollout.py").rename(rollouts_dir / "test_multi_turn_vlm.py")
(tests_dir / "test_nova_act_prompt_golden.py").rename(rollouts_dir / "test_nova_act_prompt_golden.py")
(tests_dir / "test_total_generation_length.py").rename(rollouts_dir / "test_total_generation_length.py")
(tests_dir / "fake_env.py").rename(fixtures_dir / "fake_env.py")
old_import = "autonomy.tests.fake_env"
new_import = "autonomy.tests.fixtures.fake_env"
replace(rollouts_dir / "test_multi_turn_vlm.py", old_import, new_import)
replace(rollouts_dir / "test_nova_act_prompt_golden.py", old_import, new_import)
old_test_path = "autonomy/tests/test_rollout.py"
new_test_path = "autonomy/tests/rollouts/test_multi_turn_vlm.py"
replace(dir_root / "autonomy/runbook.md", old_test_path, new_test_path)
replace(dir_root / "autonomy/README_CLAUDE.md", old_test_path, new_test_path)
readme = dir_root / "autonomy/README_CLAUDE.md"
replace(readme, "│ ├── test_rollout.py", "│ ├── rollouts/test_multi_turn_vlm.py")
replace(readme, "│ ├── fake_env.py", "│ ├── fixtures/fake_env.py")
replace(
readme,
"[test_rollout.py](tests/test_rollout.py)",
"[test_multi_turn_vlm.py](tests/rollouts/test_multi_turn_vlm.py)",
)
replace(
readme,
"[fake_env.py](tests/fake_env.py)",
"[fake_env.py](tests/fixtures/fake_env.py)",
)
replace(
dir_root / "autonomy/tests/run_tests.sh",
"autonomy/tests/test_rollout.py",
"autonomy/tests/rollouts/test_multi_turn_vlm.py",
)
git_add_and_commit("mechanical: mirror multi-turn rollout tests", cwd=str(dir_root))
if __name__ == "__main__":
verify_mechanical_refactor(
base_commit=BASE_COMMIT,
target_commit=TARGET_COMMIT,
transform=transform,
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment