Skip to main content

Module log

Module log 

Source

Structs§

LauncherSagaLog
In-memory launcher saga registry. Owned by SagaCoordinator as Arc<LauncherSagaLog> (the name is kept from the durable era to minimize churn at the ~5 coordinator call sites; it IS still a log — an in-memory, bounded one).
SagaRecord 🔒
StepRecord 🔒

Enums§

LogError
Errors from the saga registry. JSON serialization is the only fallible operation left after the SQLite layer’s removal; the duplicate-id insert error is preserved from the durable log’s PRIMARY KEY semantics (“a duplicate saga_id is a bug worth surfacing, not a silent overwrite”).
SagaOutcome
Outcome of a launcher saga, written by terminate_saga.

Constants§

TERMINAL_RETENTION_CAP 🔒
Retention cap for TERMINAL sagas (completed / failed / failed_compensation). When exceeded, the oldest terminal sagas are evicted. In-flight sagas are never evicted — mirroring the old vacuum’s “never vacuum running/compensating” rule. 128 comfortably exceeds anything a session produces (each window close = 1 saga, each pool promote = 1 saga) while bounding memory at a few hundred KB worst case.

Functions§

now_rfc3339 🔒
RFC3339 timestamp for started_at / ended_at fields. Single helper so test+production paths agree on format precisely.
pipe_target_str 🔒
Serialize a PipeTarget for the step’s target field. snake_case strings so diagnostic output stays greppable.