# Localizar y reabrir sesiones de gentle-shell/pi (y la trampa de la hora UTC en el nombre del fichero)

## Antecedentes

Tras un reinicio del Mac con herdr gestionando mis paneles, me encontré con dos despistes seguidos: los paneles que habían nacido con `gentle-shell` volvieron como `pi` a secas, y cuando quise localizar la sesión de un mensaje concreto no sabía ni de qué hora era ni dónde vivía el fichero. Esta nota es el chuleta que me habría ahorrado el rato perdido.

## Dónde viven las sesiones

- **gentle-shell:** `~/.gentle-shell/agent/sessions/<proyecto>/<fecha>_<id>.jsonl` — un fichero por sesión, agrupados por directorio de trabajo. Ejemplo: `--Users-abkrim-mi-proyecto--`

- **pi clásico:** `~/.pi/agent/sessions/`, con la misma filosofía

Para encontrar la sesión de hoy, lo rápido es ordenar por fecha:

```bash
ls -lt ~/.gentle-shell/agent/sessions/*/ | head
```

## La trampa: la hora del fichero es UTC

El nombre de cada fichero lleva la fecha en formato ISO, pero **en UTC**, no en tu hora local. Un fichero `2026-10-29T05-47-16-683Z` se creó a las **06:47** de España (CET, `+1`). Si buscas «la sesión de las seis y cuarenta y siete» y no la ves, es porque la hora del nombre va una hora (dos en verano) por detrás de tu reloj.

Para no liarte, compara siempre contra el reloj UTC:

```bash
date '+%H:%M %Z'; date -u '+UTC: %H:%M'
```

## Cómo reabrir una sesión

- **Desde el shell**, con `gentle-shell`, que le pasa los argumentos que no conoce al pi de debajo:

```bash
gentle-shell --session ~/.gentle-shell/agent/sessions/<proyecto>/<fichero>.jsonl
```

- **Dentro de un pi vivo:** el comando `/resume` abre el selector de sesiones.

Un matiz importante: reabrir una sesión de esa forma **no es lo mismo que recuperar el hilo de trabajo**. El contexto entre sesiones me lo trae la memoria persistente (Engram), no el fichero de sesión: dos sesiones distintas pueden continuar el mismo trabajo aunque el `.jsonl` de la primera siga cerrado.

## Relacionado — el mismo incidente

- **Tras un reinicio, herdr puede relanzar los paneles de `gentle-shell` como `pi` a secas** (`pi --session <fichero>`), sin las herramientas propias de gentle (subagentes, revisión…), y lo hace en silencio: la conversación continúa en el mismo fichero de sesión y el agente sigue trabajando, así que no hay error que lo delate. Para saber en qué modo corre un panel: `ps -o command= -p $PPID` — `node .../gentle-shell` es modo gentle, `-zsh` es pi pelado. La recuperación es cerrar ese pi y relanzar la sesión con `gentle-shell --session <fichero>`.

- **`herdr update` no se puede lanzar desde dentro de un panel de herdr:** el propio comando lo rechaza. Toca abrir una ventana de terminal fuera de herdr y ejecutarlo ahí.