#!/bin/sh
# byblos-dev post-commit hook (opcional): registra un `episode` por commit en la memoria.
# byblos:post-commit-hook  (marca de propiedad — no la borres; init/update reconocen este hook por ella)
#
# Best-effort y NO-bloqueante: el commit ya ocurrió, así que esto nunca debe fallar ni demorar.
# NO usa `npx`: los hooks de git suelen correr con un PATH recortado (sin /usr/local/bin ni los
# shims de nvm/fnm/volta), así que `npx`/`node` pueden no resolver. En su lugar resolvemos el
# motor local por ruta y `node` por: PATH → ruta bakeada al instalar → ubicaciones comunes.
#
# Para desactivarlo: borrá este archivo (.git/hooks/post-commit).

# BIN y el repo se bakean al instalar (init/update): el hook puede vivir en .git/hooks O en
# .husky/ (core.hooksPath), a profundidades distintas, así que NO se resuelve por ruta relativa.
BIN="__BYBLOS_BIN__"
[ -f "$BIN" ] || exit 0

NODE="$(command -v node 2>/dev/null || true)"
if [ -z "$NODE" ] || [ ! -x "$NODE" ]; then
  for p in "__BYBLOS_NODE__" /usr/local/bin/node /opt/homebrew/bin/node /usr/bin/node; do
    [ -x "$p" ] && NODE="$p" && break
  done
fi

[ -x "$NODE" ] && "$NODE" "$BIN" log-commit >/dev/null 2>&1 || true
