osFoundry / Platform
Hot replay et historique
Chaque canal conserve les N derniers jours d'événements. Réinitialisez un curseur, rejouez depuis n'importe quel seq id.
Présentation
Hot replay et historique, c'est le journal d'événements par canal d'osFoundry. Chaque canal, c'est-à-dire les flux derrière vos chats, agents et outils, conserve les événements des N derniers jours, et chaque événement porte un identifiant de séquence monotone (seq id). Les consommateurs lisent vers l'avant en suivant un curseur qui pointe sur le dernier seq id qu'ils ont traité. Comme la fenêtre récente reste hot, vous n'avez pas à traiter un canal comme un flux qu'on émet puis oublie : l'historique est là pour être relu.
L'opération centrale est simple. Ramenez un curseur sur n'importe quel seq id et rejouez à partir de ce point. Un agent qui a planté en cours d'exécution, un nouveau consommateur qui vient de rejoindre un canal, ou un outil qui a mal traité des événements peuvent tous relire exactement la même séquence, au lieu de perdre le trou ou de deviner ce qui s'est passé. Comme osFoundry est un espace de travail de bureau avec votre propre clé (BYOK), cet historique vit avec votre espace de travail et non sur les serveurs d'un fournisseur : la fenêtre d'événements est local-first, si bien que rejouer d'anciens événements ne revient pas à renvoyer vos données vers un tiers. Vous réinitialisez le curseur, vous rejouez, et le consommateur voit les mêmes événements ordonnés qu'il aurait vus en direct.
Pourquoi c'est important : les workflows d'agents et multicanaux ont un état, et cet état ne vaut que ce que vaut votre capacité à le reconstruire. Une fenêtre conservée et adressable par seq id transforme la question « qu'a réellement vu ce canal ? » d'une conjecture en une relecture déterministe. Elle rend le débogage reproductible (rejouez la séquence exacte qui a déclenché un bug), rend la reprise peu coûteuse (repartez du dernier bon curseur plutôt que de zéro) et rend sûr l'intégration d'un nouveau consommateur (backfill depuis un seq id choisi). La fenêtre est bornée par conception aux N derniers jours, si bien que l'historique reste utile et à jour sans croître indéfiniment.
Fonctionnalités clés
- Chaque canal conserve les événements des N derniers jours, chacun estampillé d'un identifiant de séquence monotone (seq id)
- Réinitialisez le curseur d'un consommateur sur n'importe quel seq id et rejouez la séquence d'événements exacte et ordonnée à partir de ce point
- Récupérez des agents plantés ou des exécutions interrompues en repartant du dernier curseur traité plutôt que de tout recommencer
- Reproduisez des bugs de façon déterministe en rejouant la séquence d'événements précise qui les a déclenchés, ou remplissez un consommateur nouvellement ajouté depuis un seq id choisi
- Une rétention bornée et local-first garde l'historique récent hot sur votre appareil, sans croissance illimitée ni allers-retours vers le fournisseur
Cas d’usage
- Développeur d'agents : un agent plante en cours d'exécution, alors vous rembobinez son curseur sur le dernier seq id validé et rejouez le canal pour reprendre exactement là où il s'était arrêté
- Débogueur de workflows : un outil en aval a produit un résultat erroné, alors vous rejouez la même plage d'événements pour le reproduire et confirmer le correctif de façon déterministe
- Intégrateur : vous ajoutez un nouveau consommateur à un canal très fréquenté et le remplissez depuis un seq id choisi pour qu'il rattrape les N derniers jours avant de passer en production
Questions fréquentes
Jusqu'où puis-je rejouer les événements d'un canal ?
Chaque canal conserve une fenêtre glissante des événements des N derniers jours. Tout ce qui se trouve dans cette fenêtre est adressable par son identifiant de séquence et peut être rejoué ; les événements plus anciens que la fenêtre de rétention finissent par expirer. Hot replay est donc conçu pour l'historique récent et la reprise, pas pour l'archivage permanent.
Que fait réellement la réinitialisation d'un curseur ?
Un curseur marque le dernier seq id qu'un consommateur a traité. Le réinitialiser sur un seq id antérieur indique à ce consommateur de relire le canal à partir de ce point, en recevant à nouveau les mêmes événements ordonnés. Cela ne supprime ni ne réécrit les événements : cela change seulement l'endroit où la lecture reprend.
Rejouer l'historique de mon canal envoie-t-il des données aux serveurs d'osFoundry ?
Non. osFoundry est un espace de travail de bureau local-first avec votre propre clé (BYOK), et la fenêtre d'événements est conservée avec votre espace de travail. Rejouer relit des événements déjà conservés localement, si bien que récupérer ou retraiter l'historique n'exige pas d'envoyer les données de votre canal vers un service tiers.