head
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.