¿Qué hace GitHub fetch?
Un fetch sigue el mismo proceso en cada tarea de GitHub: parsear → prever → fetch o checkout.
Pasos
1. Parsear
Extrae owner/repo (+ número de issue/PR si está presente) de una URL o texto del usuario.
Criterio de finalización: owner/repo identificado (o se pidió al usuario que aclare).
2. Prever
Antes del checkout, decide: ¿esta tarea necesitará más de una lectura de archivo o una búsqueda en todo el repositorio (Grep/Glob)?
- No → fetch de rama (Paso 3).
- Sí → checkout de rama (Paso 4).
- La tarea se expande a mitad de camino → vuelve a prever antes del segundo acceso; cambia de rama si es necesario.
Criterio de finalización: rama elegida y registrada (fetch vs checkout).
3. Fetch de rama
Sigue GH-COMMANDS.md según el tipo de URL. Archivo único: gh api repos/owner/repo/contents/path?ref=branch.
Criterio de finalización: contenido solicitado devuelto vía gh; no se inició ningún checkout.
4. Checkout de rama
Sigue CHECKOUT.md — pregunta por la ruta local, verifica el remoto, clona solo con aprobación.
Criterio de finalización: ruta local verificada en uso, o clon superficial aprobado en una ruta absoluta conocida; apunta Read/Grep/Glob a ese árbol.
Acceso
Accede a GitHub a través de gh (fetch de rama) o una ruta de checkout verificada. Si gh falta o no está autenticado, WebFetch es el respaldo.
Finalizado cuando: cada acceso pasó por fetch o checkout según la compuerta de prever; WebFetch se usó solo en fallo genuino de gh.