Die Session ist die falsche Grenze
Chat-anwendungen behandeln normalerweise die lebensdauer der interaktion als die lebensdauer der aufgabe. Wenn der Tab geschlossen wird, hört die aktive Argumentation auf. Wenn der Kontext abgeschnitten wird, verschwinden frühere Entscheidungen.
LibreTask trennt die Aufgabe von der Schnittstelle. Ein Task-Thread hat einen dauerhaften Lebenszyklus. Der Workflow kann anhalten, während eine Person weg ist, und dann wieder aufnehmen, wenn eine Entscheidung eintrifft.
Ereignisse aufzeichnen, dann Zustand ableiten
Das System zeichnet sinnvolle Aktionen als geordnete Ereignisse auf: ein Vertrag wurde überarbeitet, ein Plan erstellt, eine Fähigkeit aufgerufen, eine Bewertung fehlgeschlagen, eine menschliche Entscheidung getroffen oder eine Lieferung erstellt.
Aus dieser Sequenz wird der aktuelle Zustand rekonstruiert. Dies ist nützlich für die Wiederherstellung, aber es beantwortet auch eine wichtigere Produktfrage: Warum hat das System diesen Weg eingeschlagen?
Ein Retry ist eine Entscheidung
Blind Retries können einen externen Nebeneffekt duplizieren oder ein Budget verbrauchen, ohne das Ergebnis zu verbessern. Ein geregeltes System sollte wissen, welche Fähigkeit fehlgeschlagen ist, ob der Fehler vorübergehend ist, welche Retry-Richtlinie gilt und ob eine Alternative verfügbar ist.
Idempotenzschlüssel, fähigkeitsspezifische Timeouts und strukturierte Fehlertypen verwandeln die Wiederherstellung von einer generischen Schleife in eine erklärbare Korrektur.
Warten ist Teil der Ausführung
Menschliche Überprüfung kann Minuten oder Tage dauern. Ein dauerhafter Workflow sollte aufhören, einen lebenden Arbeiter zu halten und seinen Wartezustand beizubehalten. Wenn das Signal eintrifft, wird die Ausführung von diesem Punkt an fortgesetzt.
Dies ist der praktische Unterschied zwischen einem System, das über Nacht laufen kann, und einem, das es nur sagt.