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, dossiernavin-enterprise-industrie-maintenance-predictive/, paquetnavin_maintenance, schéma PostgreSQLmaintenance, ports de développement web 3479, API 8477, Redis 6399, gabaritnavin-industrie-maintenance-agent(non publié), paquet OPAeai.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.jsonparamè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_confirmationpuis 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.