0030 logs structures comme interface stable correlation data
ADR-30 — Logs structurés comme interface stable (CORRELATION DATA)¶
Statut : Décidé (2026-03-28)
Contexte : Les logs === CORRELATION DATA === dans le test_step sont parsés pour analyser la corrélation screening/testing. Ils constituent de facto une interface de données entre le pipeline et l'observabilité.
Décision : Les logs structurés (CORRELATION DATA et équivalents) sont traités comme une interface stable, pas comme du texte libre.
Invariants :
- Le format key=value | key=value est un contrat — pas de changement de clé sans migration
- Toute modification du format = breaking change documenté
- Les champs obligatoires : crypto, strategy, screening_f1_buy, last_fold_f1_buy, baseline_f1_buy, verdict, sortino, passed
- Les logs sont délimités par === CORRELATION DATA === et === END CORRELATION DATA ===
- Un parser automatique doit pouvoir extraire ces données sans regex fragiles
Application : zenml_pipelines/steps/testing/test_step.py (émission), Grafana (consommation future)