relayburn-sdk: default ledger home moves to ~/.agentworkforce/burn#321
relayburn-sdk: default ledger home moves to ~/.agentworkforce/burn#321willwashburn merged 1 commit intomainfrom
Conversation
The Rust 2.0 port now defaults to `~/.agentworkforce/burn` instead of `~/.relayburn` so it can coexist on disk with the TS 1.x package during the #249 cutover. `RELAYBURN_HOME` (and the per-DB path overrides) continue to override the location, so existing test infrastructure and embedders are unaffected. - `ledger_home()` in `crates/relayburn-sdk/src/ledger/paths.rs` now pushes `.agentworkforce/burn` (two levels) under `HOME`. The two-level path is handled by the existing `create_dir_all` in `Connections::open`, so no additional plumbing is needed. - `analyze::ghost_surface::default_archive_dir` now reuses `crate::ledger::ledger_home()` instead of duplicating the home resolution; `ghost-archive/` follows the configured home (and any env override) for free. - Doc-only updates to `relayburn-cli` (CLI help text, harness comments) and `relayburn-sdk-node` swap `~/.relayburn` for the new default. - New unit tests in `paths.rs` lock the default and the env-var override; cli golden snapshots are unaffected.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (12)
📝 WalkthroughWalkthroughThis PR updates the default ledger home directory from ChangesLedger Home Path Migration
🎯 2 (Simple) | ⏱️ ~10 minutes Possibly Related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Summary
Moves the Rust 2.0 port's default ledger home from
~/.relayburnto~/.agentworkforce/burnso it can coexist on disk with the TS 1.x package (still at~/.relayburn) during the #249 cutover.ledger_home()incrates/relayburn-sdk/src/ledger/paths.rsnow pushes.agentworkforce/burn(two levels) under$HOME. The two-level path is handled by the existingcreate_dir_allinConnections::open, so no additional plumbing is needed.analyze::ghost_surface::default_archive_dirnow reusescrate::ledger::ledger_home()instead of duplicating the home resolution;ghost-archive/follows the configured home (and any env override) for free.relayburn-cli(CLI help text, harness comments),relayburn-sdk-node, and a few in-source comments swap~/.relayburnfor the new default.paths.rslock both the default and theRELAYBURN_HOMEoverride.What is unchanged
RELAYBURN_HOME,RELAYBURN_SQLITE_PATH,RELAYBURN_CONTENT_PATH,RELAYBURN_CONTENT_STORE,RELAYBURN_CONTENT_TTL_DAYS,RELAYBURN_ARCHIVEare all preserved — they're an established interface and existing test infrastructure depends on them. Renaming them is a separate decision the project lead can make later.packages/**continue to read/write~/.relayburn. The whole point of this PR is letting the two trees coexist.~/.claude/projects/,~/.codex/sessions/,~/.local/share/opencode/storage/session/are untouched — those belong to the harnesses, not the ledger.Migration
Anyone testing the Rust port who already has data under
~/.relayburncanmv ~/.relayburn ~/.agentworkforce/burnto carry it over. Note that the formats are not compatible across the 1.x → 2.0 boundary — the Rust port will treat any non-2.0 layout as empty and require a freshburn ingestto re-populate.Context
Part of the Rust port epic (#240); unblocks the #249 cutover by letting Rust 2.0 and TS 1.x sit on the same machine simultaneously without trampling each other's databases.
Test plan
cargo build --workspacecleancargo test --workspacegreen (612 unit tests, plus integration + sdk-node)BURN_GOLDEN=1 cargo test --test golden -p relayburn-cli— all enabled snapshots still pass byte-for-byte (no drift)paths.rscover the default and theRELAYBURN_HOMEoverride~/.agentworkforce/):cargo run --release -p relayburn-cli -- state statuswithRELAYBURN_HOMEunset should report a~/.agentworkforce/burn/burn.sqlitepath. Covered indirectly by the new unit tests.