Cron Job Fix

personal-dossier-refresh  ·  job_id pd0112e52f8d  ·  30 May 2026

What broke FAILED

Your nightly dossier-refresh job crashed every run with a Python SyntaxError. The script's print(...) statement had its text accidentally split across two physical lines. Python can't span a normal quoted string across line breaks, so it errored out before doing any work — that's the alert you forwarded me.
# line 31-32 — the bug
print("Dossier refresh returned an unexpected payload:
" + json.dumps(data, indent=2))

SyntaxError: EOL while scanning string literal

The fix RESOLVED

Collapsed the broken string onto a single line using a proper \n newline escape instead of a real line break.
# after — one line, escaped newline
print("Dossier refresh returned an unexpected payload:\n" + json.dumps(data, indent=2))

Steps I took

  1. Listed your cron jobs to find the failing one and its script path.
  2. Located the script at ~/.hermes/scripts/personal-dossier-refresh.sh and read it to find the exact broken line.
  3. Applied a targeted one-line patch (escaped the newline).
  4. Verified the embedded Python now compiles cleanly with py_compile.
  5. Ran the script end-to-end — it completed with exit code 0.

Verification

$ python3 py_compile (embedded block)
OK: embedded python compiles

$ bash .hermes/scripts/personal-dossier-refresh.sh
EXIT=0

Status now

Jobpersonal-dossier-refresh
StateWorking — runs clean, exit 0
Next runTonight, 03:30 Asia/Kuala_Lumpur
Schedule30 3 * * * (daily)
NotificationsSilent unless there's a real dossier update or a problem. No news = working as intended.

Generated by Hermes · self-contained record of the fix applied to pd0112e52f8d