Document de référence présenté dans son intégralité. Le cahier des charges décrit le périmètre prévu ; il ne constitue pas une preuve de recette.
TEC-OPS-010 — Métriques Prometheus non bloquantes
Statut : valide
Priorité : Must
Sources : DEC-0057
Prescription : Elena doit proposer Prometheus activable explicitement, avec compteurs partagés atomiques sur l’espace métriques du service Valkey états et collecte protégée.
Raison fonctionnelle : rendre l’exploitation et les contrats applicatifs prévisibles sans compromettre les invariants métier.
Contraintes et invariants : Le stockage mémoire est réservé aux tests ; un mode de stockage inconnu est une erreur explicite, jamais un repli silencieux. Une panne de collecte ne fait pas échouer une opération métier mais rend la perte de télémétrie observable par un canal indépendant de la collecte défaillante. Les délais sont bornés. Les compteurs ne sont pas réinitialisés à chaque scrape ; l’état applicatif demeure isolé sous Octane.
Données : Labels en liste contrôlée et cardinalité bornée, sans identifiants métier/utilisateur. Les métriques ne constituent ni la source de vérité métier ni l’audit durable.
Interfaces et événements : config/prometheus.php et app/Providers/PrometheusStorageServiceProvider.php dans le dépôt produit ; contrat transverse applicable aux modules concernés.
Sécurité et audit : Le scrape est explicitement protégé ; le chemin /metrics ne prouve pas son caractère privé. L’audit conserve ses obligations d’échec fermé, indépendamment des métriques.
Exploitation : documenter la configuration retenue et conserver les mesures de qualification.
Vérification : VER-OPS-011
Questions ouvertes : aucune
Paramètres hors arbitrage : Mécanisme de protection, limites de cardinalité, budgets, alertes et stack de supervision de production restent à qualifier ; aucune topologie supplémentaire actée.
Réalisation : code produit à mettre en conformité ; aucune réalisation revendiquée.
TEC-OPS-011 — Journaux structurés et corrélation
Statut : valide
Priorité : Must
Sources : DEC-0058
Prescription : Elena doit émettre des journaux techniques JSON sur stderr dans les conteneurs ; une présentation lisible est autorisée en développement.
Raison fonctionnelle : rendre l’exploitation et les contrats applicatifs prévisibles sans compromettre les invariants métier.
Contraintes et invariants : Chaque entrée porte horodatage, niveau, code d’événement, rôle et corrélation lorsque applicable. La corrélation validée est propagée de la requête aux traitements dérivés, notamment jobs ; l’identifiant de requête reste distinct de celui d’une opération longue. Un processus sans requête ne fabrique pas une fausse identité utilisateur. Aucun contexte ne fuit entre requêtes ou jobs.
Données : Les identifiants fournis par le client restent non fiables, jamais des preuves d’identité ou des clés d’idempotence. Les journaux excluent secrets, tokens et payloads métier bruts.
Interfaces et événements : config/logging.php et Modules/Foundation/app/Auth/ActorContextFactory.php dans le dépôt produit ; contrat transverse applicable aux modules concernés.
Sécurité et audit : Logs techniques, audit durable et métriques restent distincts ; la corrélation ne confère aucun droit et ne remplace pas les preuves d’audit.
Exploitation : documenter la configuration retenue et conserver les mesures de qualification.
Vérification : VER-OPS-012
Questions ouvertes : aucune
Paramètres hors arbitrage : Collecteur, stockage, rétention, schéma détaillé des champs et politiques de volumétrie restent à qualifier ; pas de stack de production imposée.
Réalisation : code produit à mettre en conformité ; aucune réalisation revendiquée.