Résumé

  • Daté du 5 septembre 2026, draft-dogru-cedulon-decision-profile-02 reste un Internet-Draft individuel actif, sans approbation ni statut formel de l'IETF, sans flux RFC et sans Area Director responsable.
  • Le profil rapproche des Decision Records signés et des lignes d'Effect Extract authentifiées. Une autorisation attend un effet ; un refus n'en attend aucun.
  • La révision 02 dit expressément que le lien n'ordonne pas les deux horloges : l'heure d'une ligne est testée contre la fenêtre de l'extrait, pas contre l'heure de la décision correspondante.
  • effect-against-refusal prouve donc un conflit entre deux populations sous une même référence. Il ne prouve pas à lui seul que l'effet est postérieur au refus ni où la chaîne de contrôle a cédé.
  • Un reçu temporel séparé devrait nommer l'autorité des horloges, la marge d'erreur et les indices d'ordre, puis conclure : avant, après, dans la marge ou indéterminé.

Ce que le rapprochement sait réellement

La fiche Datatracker décrit un travail individuel d'Emek Can Doğru, mis à jour le 5 septembre. Elle ne laisse aucune place à un raccourci institutionnel : tout le monde peut soumettre un Internet-Draft ; celui-ci n'est pas soutenu par l'IETF et n'a pas de statut formel dans son processus. Aucun flux RFC, aucun responsable AD et aucune téléconférence de l'IESG ne sont enregistrés. L'état est seulement « I-D Exists ».

La proposition technique, elle, est concrète. Le décideur signe un Decision Record pour autoriser, refuser ou différer une action d'agent. Un canal — ou un processus de capture agissant pour lui — fournit la liste authentifiée des effets observés pendant une fenêtre. Le vérificateur compare les deux ensembles pour un décideur et un canal donnés.

Une autorisation appelle exactement une ligne portant la même référence, le même condensat de contenu et la même classe d'effet. L'absence de ligne donne decision-without-effect. Une ligne sans décision donne effect-without-decision. Lorsqu'une ligne porte la référence d'un refus, le rapport émet effect-against-refusal.

Ce vocabulaire améliore l'enquête : il indique ce qui ne s'équilibre pas. Mais il ne donne pas encore l'ordre des faits. La révision 02 archivée le reconnaît dans la règle elle-même.

Une ligne antérieure se lie quand même

Les deux côtés possèdent un timestampMs. Pourtant, le vérificateur n'en fait pas une comparaison par paire. Il vérifie que l'heure de la ligne appartient à la fenêtre de l'Effect Extract. Il ne la confronte pas à l'heure du Decision Record auquel la référence la relie. Une ligne datée avant la décision se lie donc comme si elle l'avait suivie. Le contenu, la classe et la référence sont comparés ; la séquence ne l'est pas.

Imaginons un effet enregistré à 10 h 00 et un refus à 10 h 01. Le profil actuel peut signaler effect-against-refusal. Il ne permet pas de choisir entre plusieurs histoires : l'effet a réellement précédé la décision ; une horloge avance ; la décision a été prise plus tôt mais signée plus tard ; ou les heures ont été ajoutées par une capture postérieure. Le déséquilibre peut être certain alors que sa chronologie reste inconnue.

La fenêtre n'efface pas cette différence. Toutes les lignes doivent tomber dans l'intervalle déclaré ; une seule ligne extérieure rend l'extrait mal formé. Près d'une frontière entre deux extraits, le mécanisme hérité peut aussi différer ou reporter un élément, avec cinq minutes par défaut dans l'implémentation compagnon. Ces règles décident de l'appartenance à l'audit et évitent de faux manques aux frontières. Elles ne démontrent pas que deux horloges administrées par des acteurs différents étaient synchronisées.

La signature n'est pas davantage une machine à remonter le temps. Elle atteste que telle clé a signé telle valeur. Elle ne prouve pas que l'heure a été écrite au moment du fait, que l'horloge était disciplinée ou que le processus n'a pas reconstitué le journal après coup. Le profil lui-même dit que la garantie dépend de l'indépendance entre la racine du décideur et celle de l'extrait. Cette indépendance peut être absente ou conditionnelle.

Ne pas transformer un écart en accusation

Il faut conserver effect-against-refusal, mais en respecter la portée. Le constat signifie qu'une population d'effets contient une référence que la population des décisions classe en refus. Le draft ajoute que ce constat ne localise pas la faute : livraison du contrôle, application, voie de contournement ou preuve de capture peuvent être en cause.

Dire « un effet existe sous la référence refusée » est donc exact. Dire « l'agent a agi après le refus » ajoute deux éléments non mesurés : l'ordre et, souvent, l'idée que le contrôle était déjà applicable. Cette différence peut orienter une enquête, déclencher une sanction ou transférer une responsabilité contractuelle. Elle ne doit pas être cachée dans une phrase de rapport.

La formule de Heng Lu sur l'exactitude des registres donne ici une discipline éditoriale : un registre décrit la réalité, il ne la crée pas. Le rapprochement doit décrire les champs et comparaisons qu'il possède. Il ne peut produire une antériorité que son algorithme n'a pas établie. Il s'agit d'une application analytique, pas d'une règle de Cedulon ou de l'IETF.

Ajouter un reçu de séquence, pas une certitude fictive

Le résultat temporel devrait rester indépendant du résultat de population. Une même paire peut porter effect-against-refusal et « séquence indéterminée » sans contradiction. Le premier répond à la question de conservation ; le second à celle de l'ordre.

Un reçu minimal identifierait les deux enregistrements par leurs empreintes signées. Il indiquerait, pour chaque heure, la source de l'horloge, l'acteur qui la contrôle, la méthode de capture et l'existence ou non d'un engagement antérieur à l'audit. Il publierait la marge admise et la règle qui la justifie.

Quatre conclusions suffisent : « avant » et « après » lorsque l'écart dépasse l'incertitude ; « dans la marge » lorsque l'ordre numérique ne résiste pas à l'erreur annoncée ; « indéterminé » lorsque les horloges ne sont pas comparables. Des compteurs monotones, un ordre d'événements du canal, un horodatage de confiance ou une observation indépendante peuvent renforcer le dossier. Chacun doit garder son autorité et ses limites propres.

Même « après » ne prouve pas la causalité. Il ne montre ni que l'agent avait reçu la décision, ni que le point d'application pouvait bloquer l'action. Le profil Cedulon renvoie déjà ces questions à d'autres preuves. Un bon reçu temporel évite seulement que l'étape manquante soit remplie par intuition.

Le code doit savoir conserver le doute

La section Implementation Status, présentée dans le cadre de RFC 7942, attribue au dépôt compagnon vingt cas de conformité et quatre fixtures hors ligne. Elle rapporte la version 0.13.0, mais précise aussi que la révision 02 n'ajoute aucun test : l'ordre des deux horloges est déclaré, non appliqué. Aucun journal de canal réel n'a été mesuré, aucune implémentation indépendante n'est connue et les fixtures publiques ne fournissent pas d'engagement temporel préalable.

Cette transparence vaut davantage qu'un grand nombre non qualifié. Le prochain test utile devrait couvrir une ligne nettement antérieure, une ligne nettement postérieure, un écart dans la marge, des horloges incomparables et une heure ajoutée après coup. Le critère de réussite n'est pas de conclure toujours. Il est de laisser « indéterminé » traverser toute la chaîne lorsque les éléments ne permettent pas mieux.

Sources

  1. IETF Datatracker : Cedulon Decision Profile
  2. Archive IETF : draft-dogru-cedulon-decision-profile-02
  3. Dépôt compagnon Cedulon
  4. IETF Datatracker : draft principal de Cedulon
  5. RFC 7942 : visibilité du code en fonctionnement
  6. RFC Editor : comment naît un RFC
  7. Heng Lu : The Bill of Rights of Uniqueness Coordination