xint-data-dir-symlink-required-or-data-lost-on-upgrade
xint writes all runtime data (api-costs.json, reliability-metrics.json, OAuth tokens) to releases/<version>/data/ by default, not the install root. Without intervention, all data is wiped on every version upgrade. Fix: immediately after install, symlink releases/<version>/data → /opt/infra/xint/data/ so the persistent directory survives upgrades.