osFoundry / Platform
Hot Replay & Verlauf
Jeder Kanal bewahrt die letzten N Tage an Ereignissen auf. Cursor zurücksetzen, ab jeder seq-ID wiederholen.
Was es ist
Hot Replay und Historie ist das Event-Log pro Channel in osFoundry. Jeder Channel, also die Streams hinter deinen Chats, Agenten und Tools, behält die Events der letzten N Tage, und jedes Event trägt eine monotone Sequenz-ID (seq id). Consumer lesen vorwärts, indem sie einen Cursor mitführen, der auf die zuletzt verarbeitete seq id zeigt. Weil das jüngste Fenster hot gehalten wird, musst du einen Channel nicht als Fire-and-forget-Stream behandeln: Die Historie ist da, um erneut gelesen zu werden.
Die Kernoperation ist einfach. Setze einen Cursor auf eine beliebige seq id zurück und spiele ab diesem Punkt erneut ab. Ein Agent, der mitten im Lauf abgestürzt ist, ein neuer Consumer, der einem Channel gerade beigetreten ist, oder ein Tool, das Events falsch verarbeitet hat, können alle exakt dieselbe Sequenz noch einmal lesen, statt die Lücke zu verlieren oder zu raten, was passiert ist. Weil osFoundry ein Bring-your-own-key-Desktop-Workspace ist, liegt diese Historie bei deinem Workspace und nicht auf den Servern eines Anbieters: Das Event-Fenster ist local-first, sodass das erneute Abspielen alter Events nicht bedeutet, deine Daten an Dritte zurückzuschicken. Du setzt den Cursor zurück, spielst ab, und der Consumer sieht dieselben geordneten Events, die er auch live gesehen hätte.
Warum das zählt: Agenten- und Multichannel-Workflows sind zustandsbehaftet, und dieser Zustand ist nur so vertrauenswürdig wie deine Fähigkeit, ihn zu rekonstruieren. Ein aufbewahrtes, per seq id adressierbares Fenster macht aus der Frage „Was hat dieser Channel eigentlich gesehen?" statt einer Vermutung ein deterministisches erneutes Lesen. Es macht Debugging reproduzierbar (spiele exakt die Sequenz ab, die einen Bug ausgelöst hat), macht Wiederherstellung günstig (setze am letzten guten Cursor an statt bei null) und macht das Onboarding eines neuen Consumers sicher (Backfill ab einer gewählten seq id). Das Fenster ist per Design auf die letzten N Tage begrenzt, sodass die Historie nützlich und aktuell bleibt, ohne unbegrenzt zu wachsen.
Wichtige Funktionen
- Jeder Channel behält die Events der letzten N Tage, jedes mit einer monotonen Sequenz-ID (seq id) gestempelt
- Setze den Cursor eines Consumers auf eine beliebige seq id zurück und spiele ab diesem Punkt die exakte, geordnete Event-Sequenz erneut ab
- Stelle abgestürzte Agenten oder unterbrochene Läufe wieder her, indem du am zuletzt verarbeiteten Cursor ansetzt, statt von vorn zu beginnen
- Reproduziere Bugs deterministisch, indem du genau die Event-Sequenz erneut abspielst, die sie ausgelöst hat, oder füge einem neu hinzugefügten Consumer per Backfill ab einer gewählten seq id die Historie zu
- Begrenzte, local-first Aufbewahrung hält die jüngste Historie hot auf deinem Gerät, ohne unbegrenztes Wachstum oder Umwege über den Anbieter
Anwendungsfälle
- Agenten-Entwickler: Ein Agent stürzt mitten im Lauf ab, also spulst du seinen Cursor auf die zuletzt committete seq id zurück und spielst den Channel erneut ab, um genau dort weiterzumachen, wo er aufgehört hat
- Workflow-Debugger: Ein nachgelagertes Tool hat ein falsches Ergebnis erzeugt, also spielst du denselben Event-Bereich erneut ab, um es zu reproduzieren und den Fix deterministisch zu bestätigen
- Integrations-Entwickler: Du fügst einem stark frequentierten Channel einen neuen Consumer hinzu und füllst ihn per Backfill ab einer gewählten seq id, damit er die letzten N Tage aufholt, bevor er live geht
Häufig gestellte Fragen
Wie weit zurück kann ich Events in einem Channel erneut abspielen?
Jeder Channel hält ein rollierendes Fenster der Events der letzten N Tage. Alles innerhalb dieses Fensters ist über seine Sequenz-ID adressierbar und kann erneut abgespielt werden; Events, die älter als das Aufbewahrungsfenster sind, fallen mit der Zeit heraus. Hot Replay ist daher für jüngste Historie und Wiederherstellung gedacht, nicht für dauerhafte Archivierung.
Was bewirkt das Zurücksetzen eines Cursors tatsächlich?
Ein Cursor markiert die zuletzt von einem Consumer verarbeitete seq id. Ihn auf eine frühere seq id zurückzusetzen weist diesen Consumer an, den Channel ab diesem Punkt erneut zu lesen und dieselben geordneten Events noch einmal zu empfangen. Es löscht oder überschreibt die Events nicht, es ändert nur, wo das Lesen wieder ansetzt.
Sendet das erneute Abspielen meiner Channel-Historie Daten an osFoundrys Server?
Nein. osFoundry ist ein Bring-your-own-key-, local-first-Desktop-Workspace, und das Event-Fenster wird bei deinem Workspace aufbewahrt. Das erneute Abspielen liest Events erneut, die bereits lokal vorgehalten werden, sodass Wiederherstellung oder Nachverarbeitung der Historie kein Verschicken deiner Channel-Daten an einen Drittanbieter erfordert.