# car-eventlog

Append-only event log with JSONL persistence for the [Common Agent Runtime](https://github.com/Parslee-ai/car).

## What it does

Records every runtime operation as a typed event with optional JSONL journal persistence.
Supports filtering by event kind and action ID, trace spans with parent-child relationships,
and OTLP-compatible trace export. Journals can be reloaded for replay and audit.

## Usage

```rust
use car_eventlog::{EventLog, EventKind, SpanStatus};
use std::collections::HashMap;

let mut log = EventLog::with_journal("/tmp/events.jsonl".into());
log.append(EventKind::ActionSucceeded, Some("a1"), Some("p1"), HashMap::new());

let span_id = log.begin_span("tool.call", "trace-1", None, HashMap::new());
log.end_span(&span_id, SpanStatus::Ok);
```

Part of [CAR](https://github.com/Parslee-ai/car) -- see the main repo for full documentation.
