head

open suspend override fun head(runId: RunId): JournalOutcome<ChainHead?>

Returns a ChainHead pointing at the last entry for runId, or null if unknown.

The ChainHead.entryId format is "${runId.value}-${seq}" — an opaque but human-readable cursor that encodes both dimensions for debugging and idempotency checks.

Returns JournalOutcome.Ok with null (not JournalOutcome.Err) for an unknown runId, distinguishing "empty/unknown" from "storage error" per the F002 decision log. Wraps unexpected storage errors in JournalOutcome.Err to honour the SPI contract.