from pathlib import Path
import subprocess
import sys

p = Path('autoload/game_state.gd')
original = p.read_bytes()
old = b'set_scoped_value("meta", "dimension_index", DataCatalog.cycle_dimension_ids().find(dimension))'
broken = original.replace(old, b'pass # Regression probe: omit progression dimension change', 1)
assert broken != original
p.write_bytes(broken)
try:
    result = subprocess.run([sys.executable, 'tools/dev/dev.py', 'check', '--area', 'debug_progression', '--timeout', '90'])
    print('RED_EXPECTED_FAILURE', result.returncode)
finally:
    assert p.read_bytes() == broken, 'Concurrent change: refusing to overwrite'
    p.write_bytes(original)
