# Plan de pasos del refactor del Mentor — numeración fijada

> Fijado aquí para que no vuelva a divergir. El orden importa: los ingredientes
> son el bloqueo duro del motor, así que van ANTES que las tandas. Si las tandas
> se colaran antes, se llegaría al motor con la pieza que más falta sin hacer.

| Paso | Qué | Estado |
|---|---|---|
| 1 | Clasificaciones (taxonomía navegable, guía = raíz del catálogo) | ✅ hecho, desplegado |
| 2 | Guías y pasos (muere el versionado; snapshot de tanda autónomo) | ✅ hecho, desplegado |
| 3 | Fermentos (la guía absorbe a FermentType; FermentType desaparece) | ✅ hecho, desplegado |
| 4 | Recetas (la receta deja de poseer pasos → interruptor de opcionales) | ✅ hecho, desplegado |
| **5** | **Ingredientes** — tabla maestra de ingredientes, `papel` (sustrato/arrancador/medio/saborizante), variantes, perfiles de azúcar. `recipe_ingredients` recibe por fin su forma. **Bloqueo duro del motor.** | ✅ hecho, desplegado |
| **6** | **Tandas** — reestructurar `batches` y lo que cuelga; `batch_reviews` absorbida por `flavor_results`; doble puntero de `batch_ingredients`. | ✅ hecho, desplegado |

Después del 6, **también hecho**: la ficha del motor (`fermentation_guides.ficha`), el
motor entero (`App\Mentor`), y el mentor incorporado — formular, corte F1→2F, cierre
del lazo, bucle 1. **Pendiente:** la calibración (bucle 2), los proveedores, y al final
aplanar las migraciones (esquema + seeders — ver docs/Reproducibilidad_y_Aplanado.md).

**Nota:** en conversación se llamó alguna vez "paso 5" a las tandas. Es
incorrecto: **5 = ingredientes, 6 = tandas.**
