Files

33 lines
1.0 KiB
Python

import os, sys
scripts_dir = '/home/hmo/.hermes/profiles/position-analyst/scripts'
fixed, skipped, errors = 0, 0, []
for name in os.listdir(scripts_dir):
p = os.path.join(scripts_dir, name)
if not os.path.islink(p):
skipped += 1
continue
target = os.path.realpath(p)
if not os.path.exists(target):
errors.append(f"{name}: broken symlink -> {target}")
continue
try:
os.unlink(p)
os.link(target, p) # hardlink: same inode, .resolve() stays in scripts_dir
fixed += 1
except Exception as e:
errors.append(f"{name}: {e}")
print(f"fixed: {fixed}, skipped (non-symlink): {skipped}, errors: {len(errors)}")
for e in errors:
print(' ', e)
# verify with the scheduler's own check
from pathlib import Path
scripts_resolved = Path(scripts_dir).resolve()
test = (Path(scripts_dir) / 'meta_growth.py').resolve()
try:
test.relative_to(scripts_resolved)
print('VERIFY OK: meta_growth.py now passes relative_to check')
except ValueError:
print('VERIFY FAIL: still resolves outside')