# Canonical Pi field paths (no spaces). Sourced by prod launchers, supervisors, sync.
#
#   ~/EtherGold/prod/      field/listen runtime (only tree production may use)
#   ~/EtherGold/dev/       workshop — bench only; never a listen/field runtime
#   ~/EtherGold/sync/      pull/rclone scripts
#   ~/EtherGold/logs/      errors.jsonl / supervisor.log
#
# /etc/ethergold/runtime.env (listen stock) pins ETHERGOLD_RUNTIME to prod.

ETHERGOLD_ROOT="${ETHERGOLD_ROOT:-/home/topbox/EtherGold}"
ETHERGOLD_DEV="${ETHERGOLD_DEV:-${ETHERGOLD_ROOT}/dev}"
ETHERGOLD_PROD="${ETHERGOLD_PROD:-${ETHERGOLD_ROOT}/prod}"
ETHERGOLD_SYNC="${ETHERGOLD_SYNC:-${ETHERGOLD_ROOT}/sync}"
ETHERGOLD_LOGS="${ETHERGOLD_LOGS:-${ETHERGOLD_ROOT}/logs}"
ETHERGOLD_PROGRESSIVES_CSV="${ETHERGOLD_PROGRESSIVES_CSV:-${ETHERGOLD_ROOT}/progressives.csv}"
ETHERGOLD_STAGING="${ETHERGOLD_STAGING:-${HOME}/EtherGold-Staging}"
ETHERGOLD_ROLLBACK="${ETHERGOLD_ROLLBACK:-${HOME}/EtherGold-Rollback}"
ETHERGOLD_PENDING_FLAG="${ETHERGOLD_PENDING_FLAG:-${ETHERGOLD_ROOT}/run/staging-pending}"
export ETHERGOLD_STAGING ETHERGOLD_ROLLBACK ETHERGOLD_PENDING_FLAG

if [[ -f /etc/ethergold/runtime.env ]]; then
  # shellcheck disable=SC1091
  source /etc/ethergold/runtime.env
fi

# Active runtime: listen/field = prod only. Bench may fall back to workshop dev.
if [[ -z "${ETHERGOLD_RUNTIME:-}" ]]; then
  _listen_stock=0
  if [[ -f /etc/ethergold/LISTEN_STOCK ]] || grep -qs '^ETHERGOLD_ROLE=listen' /etc/ethergold/role.env 2>/dev/null; then
    _listen_stock=1
  fi
  if [[ "${_listen_stock}" -eq 1 ]]; then
    ETHERGOLD_RUNTIME="${ETHERGOLD_PROD}"
  elif [[ -d "${ETHERGOLD_PROD}" ]] && [[ -f "${ETHERGOLD_PROD}/run_bridge_prod.sh" || -f "${ETHERGOLD_PROD}/run_listen_prod.sh" ]]; then
    ETHERGOLD_RUNTIME="${ETHERGOLD_PROD}"
  else
    ETHERGOLD_RUNTIME="${ETHERGOLD_DEV}"
  fi
  unset _listen_stock
fi

# Back-compat aliases — legacy scripts/systemd units still reference these. Flat layout
# maps both to the active runtime tree (was bridge/jun11-good + Daemon).
ETHERGOLD_BRIDGE="${ETHERGOLD_BRIDGE:-${ETHERGOLD_RUNTIME}}"
ETHERGOLD_DAEMON="${ETHERGOLD_DAEMON:-${ETHERGOLD_RUNTIME}}"

export ETHERGOLD_ROOT ETHERGOLD_DEV ETHERGOLD_PROD ETHERGOLD_SYNC ETHERGOLD_LOGS
export ETHERGOLD_PROGRESSIVES_CSV ETHERGOLD_RUNTIME ETHERGOLD_BRIDGE ETHERGOLD_DAEMON
export ETHERGOLD_STAGING ETHERGOLD_ROLLBACK ETHERGOLD_PENDING_FLAG
