Historique
Historique des versions. Chaque chiffre ci-dessous est lu d'un fichier de validation commité — c'est la règle de ce site.
v0.2.0 — 2026-06-11
- Renommé en VRAMPilot. Le produit s'appelait auparavant Inference Autopilot ; le paquet Python est désormais
vrampilot. Le moteur générique garde le nom « governor » (~/.governor/, variables d'environnementGOVERNOR_*) à dessein. - Premier lancement sans prérequis. Le premier lancement télécharge un build llama.cpp épinglé (b9592) pour l'OS et le GPU détectés, avec vérification SHA256 obligatoire — un mismatch supprime le fichier et arrête net. Gate mesuré à 7,6 s d'un départ à froid jusqu'à une vraie complétion servie.
- VM Windows propre validée. Une VM Windows 11 toute neuve (sans GPU — le pire cas, qui exerce le repli CPU) a passé le même gate en 12,2 s, après avoir trouvé et corrigé deux vrais bloqueurs de premier lancement que le test sur machine nettoyée ne pouvait pas voir : un magasin de certificats racine TLS paresseux sur Windows neuf qui cassait le tout premier téléchargement (corrigé par un repli sur le
curl.exedu système — sûr car la sécurité, c'est le SHA256 épinglé, pas le transport), et le runtime MSVC manquant qu'importent les binaires Windows officiels de llama.cpp (corrigé en embarquant 3 DLL redistributables, déployées localement à côté du serveur uniquement quand elles manquent). - GitHub Releases confirmé comme hébergeur primaire des binaires. L'hébergeur n'a pas besoin d'être de confiance : le manifest épinglé plus le SHA256 obligatoire sont la sécurité.
GOVERNOR_SERVER_BASE_URLreste le mécanisme d'auto-hébergement pour n'importe quel miroir. Signature Windows reportée. - Gate de mesure d'énergie. Décodage mesuré à 0,84 J/token (côté CPU) sur le banc de mesure. La sonde d'énergie est purement observationnelle et optionnelle : le produit ne dépend jamais de l'instrument, et quand il est absent, l'énergie est rapportée comme absente — jamais estimée.
v0.1.x — juin 2026 (sprint)
- Passe d'honnêteté. Chaque lecture de VRAM est étiquetée
measuredouestimated— imposé par le type. L'estimation du KV-cache lithead_dimdepuis le GGUF quand il est présent ; le repli est documenté. - Persistance — la machine qui apprend. Chaque configuration qui a réellement démarré est persistée dans une SQLite locale en append-only ; le lancement suivant part de la configuration connue-bonne. Gate passé sur des runs réels : une tentative ratée coûte un chargement complet du modèle, mesuré à ~220 s par tentative pour un MoE de 9,5 Go. Le gate a aussi trouvé et corrigé un vrai bug : un timeout de démarrage fixe tuait des démarrages sains de gros modèles en plein chargement.
- Watchdog pendant l'inférence. Redémarrage contrôlé sur une configuration dégradée quand la VRAM libre franchit le plancher auto-calibré en pleine génération. Gate passé sous vraie pression VRAM externe : plancher franchi à 102 MiB libres, récupéré en 223,9 s pendant que la pression était toujours là ; contre-test 0 soft alerts, 0 interventions sur des générations normales.
- Extraction du gouverneur. La boucle de récupération a été extraite dans un moteur agnostique au domaine (
core.py) avec des contrats gelés ; les gates de persistance et de watchdog ont été repassés à l'identique sur le code refactoré — la preuve de non-régression. - Validation multi-plateformes. Démarre et sert une vraie complétion sur 3 fabricants de GPU sur du vrai matériel : NVIDIA (CUDA), AMD (Vulkan), Apple (Metal). Récupération OOM démontrée proprement sur NVIDIA et AMD ; sur Apple le mécanisme est en place mais une démonstration propre d'OOM forcé n'était pas faisable sur le petit runner de CI — dit, pas caché.
- Sondage du marché. Tentative active de tuer le différenciateur face à LM Studio, Ollama et Jan ; la récupération OOM à l'exécution a survécu comme réellement non couverte (
validation/MARKET.md).