Historial
Historial de versiones. Cada cifra a continuación se lee de un archivo de validación incluido en el commit — es la regla de este sitio.
v0.2.0 — 2026-06-11
- Renombrado a VRAMPilot. El producto se llamaba antes Inference Autopilot ; el paquete Python ahora es
vrampilot. El motor genérico conserva el nombre «governor» (~/.governor/, variables de entornoGOVERNOR_*) a propósito. - Primer arranque sin requisitos previos. El primer arranque descarga una build de llama.cpp fijada (b9592) para el SO y la GPU detectados, con verificación SHA256 obligatoria — un desajuste elimina el archivo y se detiene en seco. Gate medido en 7,6 s desde un arranque en frío hasta una verdadera compleción servida.
- VM Windows limpia validada. Una VM Windows 11 totalmente nueva (sin GPU — el peor caso, que ejercita el repliegue a CPU) pasó el mismo gate en 12,2 s, tras encontrar y corregir dos verdaderos bloqueadores de primer arranque que la prueba en máquina limpiada no podía ver : un almacén de certificados raíz TLS perezoso en Windows nuevo que rompía la primerísima descarga (corregido con un repliegue al
curl.exedel sistema — seguro porque la seguridad es el SHA256 fijado, no el transporte), y el runtime MSVC ausente que importan los binarios Windows oficiales de llama.cpp (corregido embebiendo 3 DLL redistribuibles, desplegadas localmente junto al servidor únicamente cuando faltan). - GitHub Releases confirmado como alojador primario de los binarios. El alojador no necesita ser de confianza : el manifiesto fijado más el SHA256 obligatorio son la seguridad.
GOVERNOR_SERVER_BASE_URLsigue siendo el mecanismo de autoalojamiento para cualquier espejo. Firma de Windows aplazada. - Gate de medición de energía. Decodificación medida en 0,84 J/token (lado CPU) en el banco de medición. La sonda de energía es puramente observacional y opcional : el producto nunca depende del instrumento, y cuando está ausente, la energía se reporta como ausente — nunca estimada.
v0.1.x — junio 2026 (sprint)
- Pasada de honestidad. Cada lectura de VRAM se etiqueta
measuredoestimated— impuesto por el tipo. La estimación de la KV-cache leehead_dimdesde el GGUF cuando está presente ; el repliegue está documentado. - Persistencia — la máquina que aprende. Cada configuración que realmente arrancó se persiste en una SQLite local en modo append-only ; el siguiente arranque parte de la configuración conocida-buena. Gate superado en runs reales : un intento fallido cuesta una carga completa del modelo, medida en ~220 s por intento para un MoE de 9,5 Go. El gate también encontró y corrigió un verdadero bug : un timeout de arranque fijo mataba arranques sanos de modelos grandes en plena carga.
- Watchdog durante la inferencia. Reinicio controlado sobre una configuración degradada cuando la VRAM libre cruza el suelo autocalibrado en plena generación. Gate superado bajo verdadera presión de VRAM externa : suelo cruzado a 102 MiB libres, recuperado en 223,9 s mientras la presión seguía ahí ; contraprueba 0 soft alerts, 0 intervenciones en generaciones normales.
- Extracción del gobernador. El bucle de recuperación se extrajo a un motor agnóstico al dominio (
core.py) con contratos congelados ; los gates de persistencia y de watchdog se volvieron a pasar idénticos sobre el código refactorizado — la prueba de no-regresión. - Validación multiplataforma. Arranca y sirve una verdadera compleción en 3 fabricantes de GPU sobre hardware real : NVIDIA (CUDA), AMD (Vulkan), Apple (Metal). Recuperación OOM demostrada limpiamente en NVIDIA y AMD ; en Apple el mecanismo está en su sitio pero una demostración limpia de OOM forzado no era factible en el pequeño runner de CI — dicho, no ocultado.
- Sondeo del mercado. Intento activo de matar el diferenciador frente a LM Studio, Ollama y Jan ; la recuperación OOM en tiempo de ejecución sobrevivió como realmente no cubierta (
validation/MARKET.md).