Coordinates
Journal
RunBuilder
There is no
config(Map) overload in 1.10.1.
The task(String) and repository(String) setters are present, but the 1.10.1 run implementation does not consume either stored builder value.
Run
Event factories
JournalEvent is extensible.
Built-in event records include timestamps and expose their Java type() value; file serialization uses the registered @type name.
Token, cost, and timing values
TokenUsage constructor order is input, output, thinking, cache creation, cache read, and tool-use tokens.
There is no five-argument TokenUsage.of(...) overload in 1.10.1.
JournalStorage
JsonFileStorage implements every operation and reports durable derived-event persistence.
InMemoryStorage implements every operation in memory and reports the default non-durable derived-event behavior.
Evaluation API
EvalSubjectSources.fromJournal(storage, experimentId, runId) reads a run and produces subjects.
EvalSubjectSources.fromEvents(events, runId) adapts an existing event list.
EvalSubjectQuery supports:
Capture parsers
Claude Code
response is the live Iterator<ParsedMessage> returned by the SDK; the parser does not read a session log file.
The maxTurns overload records the turn ceiling the caller launched the run with, because Claude Code does not report it back; pass SessionLogParser.UNKNOWN_MAX_TURNS (-1) when no ceiling was set. The shorter overloads pass -1.
The default content mode for trace-writing overloads is TRUNCATED; the default raw mode is NONE.
RunRecorder wraps an open Run, inherits recordPhase(PhaseCapture), exposes run() and lenient(), and owns finish()/close().
Gemini CLI
result is a Gemini SDK QueryResult.
GeminiRunRecorder.recordPhase(GeminiPhaseCapture) records the core and derived projections.
Junie CLI
eventsFile is a Path to Junie’s session events.jsonl and reader is a BufferedReader over the same content; both throw IOException.
JunieRunRecorder.recordPhase(JuniePhaseCapture) records the core and derived projections.
Storage cautions
JsonFileStoragedoes not validate path containment for caller-supplied identifiers or artifact names in 1.10.1.- Use one writer per run and do not assume multi-process safety.
- File-backed load methods read the requested JSONL file into memory.
- Portable traces can contain sensitive content; see Capture SDK Sessions.