L'ordre
Un ordre individuel naît d’une annonce des Opérations, et il en reste un par instruction d’origine — même quand une centralisation en regroupe des milliers. Ce canal est celui par lequel le carnet dit aux Opérations ce qu’il advient de leur annonce.
Toute annonce prise en charge obtient une issue explicite : exécutée, rejetée, reportée, annulée. Jamais d’abandon silencieux.
Ces faits disent l’avancement, pas le fait définitif : ils ne sont pas comptabilisables. La comptabilisation passe par un autre canal, et cette séparation est ce qui interdit structurellement une comptabilisation prématurée.
stateDiagram-v2 direction LR state "Annoncé" as A state "Pris en charge" as P state "Exécuté" as E state "Reliquat reporté" as R state "Rejeté" as J state "Annulé" as N state "Suspendu" as S [*] --> A : annonce reçue des Opérations A --> P : échéance calculée — publie « ordrePrisEnCharge » A --> J : inexécutable dans le contexte — publie « ordreRejete » P --> E : tranche exécutée — publie « ordreExecute » P --> J : inexécutable dans le contexte — publie « ordreRejete » E --> R : part non servie reportée — publie « reliquatReporte » R --> E : représentation à l'échéance suivante — publie « ordreExecute » P --> S : traitement bloqué — publie « ordreSuspendu » S --> P : reprise — publie « ordreSuspendu » P --> N : demande d'annulation aboutie — publie « annulationTraitee » J --> [*] N --> [*]
Une prise en charge ne garantit ni la réception externe ni l’exécution : elle dit que le carnet s’est saisi de l’annonce et lui a calculé une échéance — sa centralisation, la valeur liquidative attendue, l’heure limite et son fuseau. Le fuseau n’est pas un détail de forme : un ordre reçu à 12 h 01 heure de Paris n’est pas le même fait qu’un ordre reçu à 12 h 01 heure de Luxembourg.
Le carnet peut rejeter une annonce que les Opérations avaient jugée recevable, si le contexte d’exécution a changé — un support devenu non ordonnable, une valeur liquidative indisponible, une heure limite dépassée. Il ne rouvre jamais la recevabilité métier, qui appartient aux Opérations. Le rejet porte un code stable, séparé du libellé destiné à l’utilisateur, une explication en français métier, et les versions consommées par la décision — c’est ce qui la rend rejouable à l’identique des années plus tard.
Les huit dimensions d’un ordre
Section intitulée « Les huit dimensions d’un ordre »Le domaine refuse de résumer un ordre en un statut unique.
Les huit dimensions, dont aucune ne se déduit des autres. Les résumer en un statut unique conduit à des états qu’on ne peut pas nommer honnêtement.
| Dimension | Ce qu’elle dit |
|---|---|
| Prise en charge | reçu, accepté, rejeté, annulé |
| Réservation | non requise, active, consommée, libérée, expirée |
| Centralisation | à affecter, à centraliser, centralisé, hors échéance |
| Transmission | non remis, remis, reçu par l’externe, rejeté techniquement, état inconnu |
| Exécution | en attente, partielle, totale, rejetée, reportée |
| Dénouement | non requis, à régler, en cours, dénoué, en échec |
| Rapprochement | non dû, à rapprocher, rapproché, en écart |
| Suspension | aucune, conformité, donnée, technique, externe |
Deux d’entre elles demandent une précision. « État inconnu » n’est ni un succès ni un échec : c’est lui qui interdit de renvoyer l’ordre tant que le risque de doublon n’est pas levé. Et la clôture n’est pas une neuvième dimension : c’est une conclusion dérivée des huit, servie comme telle — elle ne se déduit jamais du premier retour reçu.
Ce que portent les faits
Section intitulée « Ce que portent les faits »| Fait | Ce qu’il porte en propre |
|---|---|
ordrePrisEnCharge |
La centralisation, la valeur liquidative attendue, le règlement prévu, l’heure limite et son fuseau |
ordreRejete |
Le code de motif, l’explication métier, et les versions utilisées par la décision |
ordreExecute |
La nature — partielle ou totale —, la quantité et le montant exécutés, la valeur liquidative appliquée, les frais par nature en lignes, et la demande initiale rappelée |
reliquatReporte |
Le restant, la prochaine échéance, le rang de représentation et son plafond, et si le reliquat est révocable |
annulationTraitee |
La suite donnée — appliquée, transmise, confirmée, refusée, impossible — et son motif |
ordreSuspendu |
Le sens (suspendu ou repris) et l’origine de la suspension |
Trois règles se lisent dans ces charges utiles. Une exécution partielle ne vaut jamais exécution totale. Un reliquat né d’un ordre en montant reste en montant : il s’exécutera à un autre prix, et figer une quantité serait faux. Et une annulation reçoit toujours une suite — avant remise elle est appliquée, après remise elle devient une demande adressée à la place, après exécution elle est refusée : seule la compensation reste alors possible, et elle appartient aux Opérations.
La demande initiale est rappelée dans chaque exécution, et ce n’est pas une redondance : c’est ce qui rend la conservation — exécutions + rejets + reliquats = demande — vérifiable depuis le flux seul, sans interroger personne.
Une garde, enfin, tient jusque dans ce contrat : quand une suspension a pour origine la conformité, le motif est absent et interdit. La suspension se voit, elle ne s’explique pas.
Garanties
Section intitulée « Garanties »Aux garanties communes aux événements, ce canal ajoute que l’ordre est garanti par ordre individuel — un numéro de séquence par entité — et que l’émission comme la consommation sont mono-tenant : aucun identifiant de teneur de compte ne circule dans les messages, l’appartenance étant celle de l’installation.
Chaque message porte la référence de l’instruction d’origine, et c’est elle qui rend le dépouillement exact : les Opérations n’ont jamais à redescendre d’un agrégat pour savoir à quoi un retour se rapporte.
La structure exacte des messages est dans le contrat des retours d’exécution.