keep

Entry point for the keep audit in journal conversational DSL (F006 AC1).

Starts the chain keep.audit \in\` journal` which sets the saga's journal and resolves the payload codec from the PayloadCodec companion registry.

Usage:

// Register once at startup:
PayloadCodec.register<OrderEvent>(orderCodec)

// Inside sagaExecutor { } block:
sagaExecutor<OrderCtx, OrderResult> {
keep.audit `in` roomJournal // T = OrderEvent inferred, codec resolved
first call Step.CHARGE with { ... }
}

Typed escape hatch: if you prefer not to use the registry (e.g., in tests, or when using a persistent adapter with a custom codec), use the typed factory directly:

sagaExecutor<OrderCtx, OrderResult, OrderEvent>(
journal = roomJournal,
) { ... }

See also