Aller au contenu principal
111Tests
96 %Couverture
0Dépendances
3Décisions

Chiffres relevés le 21 août 2026 en exécutant les suites de tests, et non recopiés des fichiers README.

Le chiffre publié n'est pas celui du déploiement

Les chiffres publiés en IA embarquée sont des chiffres de démarrage. Un modèle est chargé, une inférence est chronométrée, une puissance est citée, et tout cela se passe dans les trente premières secondes, pendant que la carte est encore froide. Les déploiements, eux, ne sont pas froids.

Sous inférence continue, un processeur à refroidissement passif atteint sa limite thermique, le gouverneur rabat la fréquence, et le débit qui compte, celui de la quatrième minute, est un chiffre que personne n'a publié. C'est celui que ce banc mesure.

Un chiffre non mesuré ne sort jamais sans le dire

« La provenance est dérivée de l'instrument, jamais déclarée par l'appelant. »

L'export refuse un rapport synthétique, sauf demande explicite, et la mention « synthétique, non mesuré » accompagne alors le chiffre aussi longtemps qu'il existe. L'énergie est intégrée sur les horodatages réellement obtenus plutôt que sur une moyenne multipliée par une durée, parce qu'une moyenne multipliée par une durée est fausse dès que l'échantillonnage bégaie. Le repos est retranché, faute de quoi deux appareils ne sont pas comparables.

Sortie réelle, le 21 août 2026, avec l'instrument synthétique.
$ mh run --device uno-q --instrument synthetic --out ./run
  device       : uno-q
  instrument   : synthetic (synthetic)
  operations   : 18001
  idle         : 0.601 W
  load         : 2.400 W mean, 2.425 W peak
  energy/op    : 35.979 mJ above idle (± 0.000 mJ)
  latency      : p50 20.0 ms, p95 20.0 ms, p99 20.0 ms
  sustained    : held, 50.0 -> 50.0 ops/s (+0.0% throughput)
  report_id    : sha256:22cf9ff073aad8aa30796ce326ab499a9ec076a083aec37e46aee88777300b2a

$ mh energy-model ./run
synthetic-result-refused: report sha256:22cf9ff0… has provenance 'synthetic';
pass allow_synthetic=True to export a rehearsal figure, which will be labelled as one

La première commande produit un rapport complet. La seconde refuse de l'exporter comme modèle énergétique, parce que sa provenance est synthétique. Le refus n'est pas un garde-fou ajouté après coup : la provenance vient de l'instrument, et l'appelant ne peut pas la déclarer lui-même.

Cinq paliers, cent onze tests

Exécutés le 21 août 2026 sur le dépôt public. Chaque palier répond à une question distincte, et les deux derniers sont écrits pour casser la revendication plutôt que pour la confirmer.

Palier Tests Question à laquelle il répond
smoke5Est-ce que cela démarre
unit54Chaque partie se comporte-t-elle correctement à ses bornes
functional22Le banc respecte-t-il sa spécification
security14Que fait-il d'une entrée qu'il n'a pas produite
pentest16La revendication peut-elle être cassée
Total11196 %

La barrière d'intégration enchaîne l'analyse statique, le typage strict, la revue de sécurité du code, les avis de sécurité sur les dépendances et un plancher de couverture à 90 pour cent. Tout ce qui s'y trouve fait échouer le build.

Les lacunes connues, telles que le dépôt les énonce

Le modèle de menace du dépôt énumère cinq risques résiduels. Le premier est aussi le plus important, et aucun code ne le corrigera.

  • Le banc ne peut pas auditer son propre instrument. Un pilote qui diviserait par deux chaque relevé produirait un rapport qui se vérifie et qui est faux. L'atténuation est une procédure de paillasse, pas un chemin de code.
  • L'empreinte détecte l'édition, pas l'auteur. Rien ne signe les rapports, donc une contrefaçon recalculée se vérifie.
  • Les conditions d'essai sont déclarées, pas observées. La température ambiante annoncée est celle que l'opérateur a saisie.
  • L'échantillonnage en fil séparé dépend de l'ordonnanceur du système, ce qui est précisément la raison pour laquelle l'énergie est intégrée sur les horodatages obtenus et non sur ceux demandés.
  • Aucun chiffre n'a encore été mesuré sur du matériel. Le pilote INA219 est écrit d'après la fiche technique et refuse de renvoyer des relevés tant qu'il n'a pas piloté le composant.

Quatre documents, dans l'ordre où ils se lisent

Une revendication de gouvernance se vérifie ou ne vaut rien

Si l'un de ces maillons correspond à une question ouverte chez vous, la conversation commence par le code.

Prendre contact