Aller au contenu
ADAMA OSESG · DATA · SYSTEMS

JOURNAL DES DÉCISIONS DEC-004

Consommer ce que les produits exposent plutôt que recalculer dans le cockpit

Statut
AcceptéeEn vigueur aujourd’hui.
Date
Portée
Ce cockpit
Impact
Architecture
Réversibilité
Revenir en arrière demande un chantier

Cette décision en remplace une autre. Lire DEC-101, Un moteur de calcul dans le cockpit plutôt que dans le produit

Contexte

Un service de calcul avait été démarré dans ce dépôt, sous services/engine : empreinte carbone, matérialité, audit express, avec ses tests.

Le même calcul existait déjà dans STRATA Scope, qui en est le produit responsable.

Deux implémentations du même calcul divergent toujours. La question n’est pas de savoir si, mais quand, et laquelle des deux fera foi le jour où elles ne diront plus la même chose.

Options envisagées

  • Retenue

    Supprimer le moteur du cockpit et n’afficher que ce que les produits exposent

    Un seul calcul, un seul responsable, et un cockpit qui ne peut pas mentir sur un chiffre qu’il ne produit pas.

  • Écartée

    Garder le moteur dans le cockpit et le synchroniser avec le produit

    Une synchronisation manuelle entre deux implémentations n’est pas une architecture, c’est une dette qui porte un nom rassurant.

Décision

Le cockpit ne calcule rien. Il lit ce que les produits exposent, en lecture seule, et affiche l’absence quand ils n’exposent rien.

Raisonnement

Technique
Un calcul appartient au système qui le teste. Le cockpit n’a ni les jeux d’essai, ni les facteurs, ni la responsabilité du résultat.
Réglementaire
Un chiffre de durabilité engage celui qui le publie. Le publier depuis deux sources rend impossible de dire laquelle fait foi.
Économique
Un moteur en moins à maintenir, à déployer et à surveiller, pour une personne seule.

Compromis accepté

Le cockpit ne peut afficher que ce que les produits exposent. Tant qu’ils n’exposent qu’une route de santé, il n’a aucune statistique d’usage à montrer, et cela se voit.

DÉCISION · CODE · RÉSULTAT

  1. LA DÉCISION

    Le cockpit ne calcule rien. Il lit ce que les produits exposent, en lecture seule, et affiche l’absence quand ils n’exposent rien.

  2. LE CODE QU’ELLE A PRODUIT
  3. LE RÉSULTAT OBSERVÉ

    Vingt-sept fichiers modifiés et mille cent quatre-vingt-deux lignes supprimées au commit 56d1f7c, dont le service de calcul entier et ses trois fichiers de tests. Le cockpit lit désormais les produits par apps/web/lib/ecosystem/gateways.ts, qui interdit explicitement tout appel écrivant.

Le principe que cette décision gouverne

Un calcul appartient au système qui en est responsable.

Voir d’où viennent les six principes

LE JOURNAL COMPLET

Toutes les décisions, au même format.

Elles se comparent : même gabarit, même vocabulaire, même exigence de trace.

Revenir au journal