Le journal de rejeu enregistre ce qui franchit la frontière de l’hôte et du modèle. Il permet de reproduire une exécution sans rappeler les outils réels ni le fournisseur LLM.
Enregistrer
Le journal JSON est chaîné même sans signature. La trace HTML est un artefact visuel autonome.
Rejouer
Par défaut, le rejeu utilise le chemin source consigné dans le journal et refuse si son empreinte a changé.
--force est une décision d’audit explicite : il permet la comparaison malgré une source différente, mais ne restaure pas la fidélité historique.
Signer les journaux
Générez une paire Ed25519 :
Enregistrez avec la clé privée :
Puis vérifiez avant rejeu :
AGENTL_JOURNAL_KEY peut fournir la clé par défaut. Le mode Ed25519 nécessite l’option d’installation sign; le chaînage et HMAC restent disponibles sans elle.
Trois états à distinguer
Journaux lacunaires
Une valeur non sérialisable ne fait pas disparaître toute l’exécution : le journal est marqué lacunaire et annonce les valeurs qui ne pourront pas être rejouées fidèlement.
Une signature démontre l’intégrité et la possession de la clé, pas l’exactitude des capteurs, l’honnêteté d’un outil ni l’existence d’un horodatage tiers.