¡Por fin lo he resuelto!
@pfaffman
bootstrap no actualiza el launcher, y un launcher puede fijar una imagen base antigua.
git pullactualiza esa fijación para que el próximo bootstrap use la imagen más reciente. (rebuild normalmente hace pull automáticamente.)
Ahí lo tenéis: esta es la razón por la que a veces es necesario git pull: ¡el proceso de bootstrap no actualiza el launcher!
Si todo lo que hacéis es ejecutar bootstrap y recrear, nunca saldréis de este bucle.
Me pregunto si esto debería alinearse con rebuild.