Aller au contenu principal

ADR-0188 : Navin Enterprise Agent Maintenance prédictive (UC-06), backend dérivé par copie et manifeste produit

  • Statut : proposé
  • Date : 2026-11-04
  • Tâche : t-2b533a7e (cahier agent_uses_cases/06_Industrie_Maintenance_Predictive.md)
  • Liens : décisions du 2026-11-04 (frontend unique, backend dérivé par copie, gabarits de 40 caractères au plus, identités UC-06 à UC-10)

Contexte​

Le client demande un agent de maintenance prédictive industrielle : registre des actifs et hiérarchie, capteurs et qualité des séries, surveillance par régime, diagnostic assisté, pronostic validé, préparation d'ordres GMAO, planification, retour d'expérience. Le service assiste les équipes ; il n'est ni un système instrumenté de sécurité ni un contrôleur temps réel. Les produits UC-01 (navin-enterprise-assurance-sinistres) et UC-05 (navin-enterprise-assurance-courtier-distribution) fournissent un backend FastAPI complet dont les modules génériques sont réutilisables par copie.

Décision​

  • Identité : product_id industrie-maintenance-predictive, préfixe /api/v1/industrie-maintenance-predictive, dossier navin-enterprise-industrie-maintenance-predictive/, paquet navin_maintenance, schéma PostgreSQL maintenance, ports de développement web 3479, API 8477, Redis 6399, gabarit navin-industrie-maintenance-agent (non publié), paquet OPA eai.industrie_maintenance.
  • Backend dérivé par copie des modules génériques d'UC-05 (config, erreurs, i18n fr/en/ar, authz, audit, jobs, worker, session RLS, Action Gateway, connecteurs, observabilité, pipeline documentaire, runtime du copilote, ops), renommés seulement ; les modules métier du §7 et les entités du §18.1 sont écrits pour ce produit.
  • Aucun frontend propre : le manifeste product.manifest.json paramètre le frontend commun.
  • Les scores d'anomalie et les pronostics sont des indicateurs, jamais des décisions ; une durée de vie restante n'est produite que par un modèle validé sur le type d'actif, avec intervalle et domaine de validité, sinon insufficient_evidence.
  • Aucun outil de commande d'automate, de consigne, d'arrêt ou de redémarrage n'existe. Tout effet externe (ordre GMAO, réservation de pièce) passe par l'Action Gateway avec maker-checker, Idempotency-Key, If-Match et la confirmation du système source (unknown_pending_confirmation puis relecture) ; aucun statut local « terminé ».

Alternatives écartées​

  • Frontend dédié : refusé par la décision du frontend unique.
  • Bibliothèque Python commune extraite d'abord : instable tant que plusieurs produits évoluent en parallèle.
  • Lecture directe OPC UA ou MQTT par le LLM : interdite par le §4.1, seules des passerelles approuvées.

Conséquences​

Le produit se construit en douze étapes (board UC-06 S1 à S12). Les connecteurs GMAO, historien, MES et ERP sont des contrats de capacité avec un bac à sable déterministe ; aucune intégration réelle n'est validée par ces tests.