# Raxol Journal v2.8.0 - Table of Contents > Append-only, file-backed session journal for Raxol: one directory per session, a single writer, replay that tolerates a torn tail, an optional hash chain, checkpoint records, and the event envelope with its JSON encoder. ## Pages - [Raxol Journal](readme.md) ## Modules - [Raxol.Agent.Contract](Raxol.Agent.Contract.md): The typed event contract between the agent core and any surface (CLI, TUI, LiveView, remote): the event envelope (`Raxol.Agent.Contract.Event`), its JSON line encoder, and the decoder for the evidence marker a closing `turn_completed` carries. - [Raxol.Agent.Contract.Event](Raxol.Agent.Contract.Event.md): The contract envelope. One struct per observable step; `id` is a per-run monotonic sequence (the future journal offset). - [Raxol.Agent.Journal](Raxol.Agent.Journal.md): Behaviour for a session's durable append-only journal — the source of truth for the durable tier of events (see the package README, "The journal"). - [Raxol.Agent.Journal.Chain](Raxol.Agent.Journal.Chain.md): The hash chain of a `chain: true` journal (schema_version 1.2.0). - [Raxol.Agent.Journal.FileStore](Raxol.Agent.Journal.FileStore.md): File-backed `Raxol.Agent.Journal` — one directory per session, the directory *is* the session (portable, tar-able, rsync-able, grep-able). - [Raxol.Agent.Journal.FileStore.Reader](Raxol.Agent.Journal.FileStore.Reader.md): Tolerant replay of a session's JSONL journal segments (see the package README, "The journal"). - [Raxol.Agent.Journal.FileStore.Writer](Raxol.Agent.Journal.FileStore.Writer.md): The single-writer GenServer for one session's journal (see the package README, "The journal"). - [Raxol.Agent.Journal.Records.Checkpoint](Raxol.Agent.Journal.Records.Checkpoint.md): Checkpoint pointer records. - [Raxol.Agent.Journal.Records.Checkpoint.FileBackend](Raxol.Agent.Journal.Records.Checkpoint.FileBackend.md): The file-store backend for `Raxol.Agent.Journal.Records.Checkpoint`. Implements the checkpoint **pointer-record** discipline over a `Raxol.Agent.Journal.FileStore` session. - [Raxol.Agent.Journal.Tip](Raxol.Agent.Journal.Tip.md): The FROZEN conversational-tip predicate — the single contract implementation of `conversational?/1` and `tip/2`. - [Raxol.Journal](Raxol.Journal.md): `Raxol.Journal.*` names for the modules of this package. - [Raxol.Journal.Chain](Raxol.Journal.Chain.md): Alias of `Raxol.Agent.Journal.Chain`. - [Raxol.Journal.Contract](Raxol.Journal.Contract.md): Alias of `Raxol.Agent.Contract`. - [Raxol.Journal.Contract.Event](Raxol.Journal.Contract.Event.md): Alias of `Raxol.Agent.Contract.Event`. The struct is `%Raxol.Agent.Contract.Event{}`. - [Raxol.Journal.FileStore](Raxol.Journal.FileStore.md): Alias of `Raxol.Agent.Journal.FileStore`. - [Raxol.Journal.FileStore.Reader](Raxol.Journal.FileStore.Reader.md): Alias of `Raxol.Agent.Journal.FileStore.Reader`. - [Raxol.Journal.FileStore.Writer](Raxol.Journal.FileStore.Writer.md): Alias of `Raxol.Agent.Journal.FileStore.Writer`. - [Raxol.Journal.Records.Checkpoint](Raxol.Journal.Records.Checkpoint.md): Alias of `Raxol.Agent.Journal.Records.Checkpoint`. - [Raxol.Journal.Records.Checkpoint.FileBackend](Raxol.Journal.Records.Checkpoint.FileBackend.md): Alias of `Raxol.Agent.Journal.Records.Checkpoint.FileBackend`. - [Raxol.Journal.Test.FaultJournal](Raxol.Journal.Test.FaultJournal.md): Fault-injection harness for ExUnit suites that exercise the journal. - [Raxol.Journal.Test.ForeignBeam](Raxol.Journal.Test.ForeignBeam.md): A second BEAM OS process with every application built beside `raxol_journal` on its path, for tests of the journal's cross-process writer lock: a holder that is really another BEAM. - [Raxol.Journal.Test.MutationAnchor](Raxol.Journal.Test.MutationAnchor.md): The anchor check of a mutation-control checklist: the line a control tells a reader to mutate must still exist verbatim in the source. - [Raxol.Journal.Tip](Raxol.Journal.Tip.md): Alias of `Raxol.Agent.Journal.Tip`.