Parent: #240
Split out from: #248 (scope update originally proposed in #259)
Context
burn export ledger --format jsonl was added to the CLI scope in the #259-driven scope update on #248 but never landed. Neither the SDK verb nor the CLI presenter exists today:
- No
export_ledger / equivalent symbol in crates/relayburn-sdk/src/lib.rs.
- No
Export variant in crates/relayburn-cli/src/cli.rs::Command.
Scope
SDK (relayburn-sdk)
- New verb (e.g.
relayburn_sdk::export_ledger) that streams the canonical event stream out of burn.sqlite as JSONL records.
- Caller-supplied
Write sink (so the CLI can stream straight to stdout / a file without buffering the whole ledger in memory).
- Stable record shape — document it as the cross-version interchange format.
CLI (relayburn-cli)
- New
burn export ledger --format jsonl [--out -] subcommand.
--out - (default) streams to stdout; --out <path> writes to a file.
- Honors global
--ledger-path.
Acceptance
Parent: #240
Split out from: #248 (scope update originally proposed in #259)
Context
burn export ledger --format jsonlwas added to the CLI scope in the #259-driven scope update on #248 but never landed. Neither the SDK verb nor the CLI presenter exists today:export_ledger/ equivalent symbol incrates/relayburn-sdk/src/lib.rs.Exportvariant incrates/relayburn-cli/src/cli.rs::Command.Scope
SDK (
relayburn-sdk)relayburn_sdk::export_ledger) that streams the canonical event stream out ofburn.sqliteas JSONL records.Writesink (so the CLI can stream straight to stdout / a file without buffering the whole ledger in memory).CLI (
relayburn-cli)burn export ledger --format jsonl [--out -]subcommand.--out -(default) streams to stdout;--out <path>writes to a file.--ledger-path.Acceptance
relayburn_sdk::export_ledgerproduces JSONL with one event per line against the cli-golden fixture.burn export ledger --format jsonlgolden-output test passes (--out -and--out <path>).