Beads-Rust-BV Tracker
Smart task selection using bv graph analysis (PageRank, critical path) with the br CLI for high-performance Beads tracking.
Beads-Rust-BV Tracker
The Beads-Rust-BV tracker combines the high-performance Rust backend (br) with intelligent, graph-aware task ordering from the bv tool. It is the recommended choice for teams already using beads-rust who want optimal task sequencing based on dependency graph analysis.
When bv is available, it uses bv --robot-next to select the task that maximises throughput (accounting for PageRank, critical path, and unblock potential). If bv is not installed, it seamlessly falls back to standard beads-rust behaviour (br ready).
Prerequisites
br (beads-rust) CLI — see the Beads-Rust tracker docs for platform-specific installation instructions.Create and initialise a Beads project with br:
Install the bv (beads-viewer) CLI for smart task selection:
Verify both tools are on your PATH:
Basic Usage
Create an epic and child tasks using br:
Link dependencies so bv can analyse them:
Run Ralph TUI with the beads-rust-bv tracker:
On each iteration, Ralph uses bv --robot-next to select the highest-value, unblocked task based on its dependency graph score.
Configuration
CLI Flags
Config File (TOML)
Options Reference
| Option | Type | Default | Description |
|---|---|---|---|
epicId | string | "" | Restrict task selection to this epic's children. |
labels | string | string[] | "" | Label filter. Accepts a comma-separated string (e.g. "auth,backend") or a string array (e.g. ["auth", "backend"]). |
workingDir | string | cwd | Path to the project root where .beads/ lives. |
beadsDir | string | ".beads" | Custom Beads storage directory name. |
How It Works
On each task cycle, the plugin follows this sequence:
After each completeTask() or updateTaskStatus() call, a background bv --robot-triage refresh is triggered (debounced to 30 seconds) so future getTasks() calls can display bv scores alongside every task.
Fallback Behaviour
If bv is not installed or is not on your PATH, the plugin automatically falls back to br ready for task selection (identical to using the plain beads-rust tracker). No configuration change is required — the plugin detects bv availability on startup and adjusts accordingly.
A warning is printed during ralph setup --validate:
Comparison
| Feature | beads-rust | beads-rust-bv |
|---|---|---|
| Backend CLI | br | br (+ bv) |
| Task selection | br ready | bv --robot-next → br ready fallback |
| Graph-aware ordering | ✗ | ✓ |
| PageRank / critical path | ✗ | ✓ |
| bv score in task list | ✗ | ✓ |
| PRD context injection | ✓ | ✓ |
| Dependency enrichment | ✓ | ✓ |
| Bidirectional sync | ✓ | ✓ |
Works without bv | ✓ (native) | ✓ (graceful fallback) |
Troubleshooting
br not found or .beads directory not found
Ensure br is installed and you have run br init in the project directory. See the Beads-Rust tracker docs for details.
bv not found (but br works fine)
The plugin falls back to br ready automatically. To enable smart selection:
Then re-run ralph run — no config changes needed.
No tasks returned
If bv --robot-next returns No actionable items available, all tasks may be blocked (no unresolved dependency-free tasks). Check your dependency graph:
Wrong task selected
If bv returns a task that doesn't match your epic filter, the plugin falls back to br ready with parent filtering. To debug:
Next Steps
- Beads-Rust tracker — the pure Rust backend without graph ordering
- Beads-BV tracker — the same smart selection on top of the original Go
bdCLI - Beads tracker — the original Go-based beads tracker