#!/usr/bin/env bash
set -euo pipefail
source_dir=$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)
python3 - "$source_dir/rcms_preserve" <<'PY'
import datetime,json,os,pwd,shutil,sys
from pathlib import Path
if pwd.getpwuid(os.geteuid()).pw_name!='nampq':
    raise SystemExit('Please run this installer while logged in as nampq.')
source=Path(sys.argv[1])
target=Path('/home/nampq/RUN_RCMs_SFC/rcms_preserve_minimal')
if not target.is_dir():raise SystemExit('Missing confirmed working directory: '+str(target))
files=['rcms.py','operations.py','recovery.py','recover_20260821.py']
for name in files:compile((source/name).read_text(),str(source/name),'exec')
config=json.loads((target/'config.json').read_text())
config['runs_root']='runs'
backup=target/('backup-workspace-fix-'+datetime.datetime.utcnow().strftime('%Y%m%dT%H%M%S%fZ'))
backup.mkdir()
for name in files+['config.json','README.md','WORKSPACE_FIX_20260906.md']:
    if (target/name).exists():shutil.copy2(str(target/name),str(backup/name))
for name in files:shutil.copy2(str(source/name),str(target/name))
(target/'config.json').write_text(json.dumps(config,indent=2)+'\n')
shutil.copy2(str(source/'README.md'),str(target/'README.md'))
shutil.copy2(str(source/'WORKSPACE_FIX_20260906.md'),str(target/'WORKSPACE_FIX_20260906.md'))
print('Installed in:',target)
print('Previous files retained in:',backup)
print('No Slurm jobs changed. Next: python3 recover_20260821.py --execute')
PY
