Step-level traces
Nested spans for every call in a run, with payload snapshots and duration breakdowns you can share with a customer.
Every job, workflow and agent run captured end to end — inputs, outputs, retries, timing and cost. Replay any run, diff any two.
Nested spans for every call in a run, with payload snapshots and duration breakdowns you can share with a customer.
Re-execute a run against pinned inputs to reproduce a failure locally or in staging.
Compare two executions field by field to see exactly which input drift caused a behavior change.
Attempt trees, backoff timelines and failure clustering so flakiness stops being folklore.
First-class capture of prompts, tool calls and token spend for LLM workflows.
Expose a scoped run timeline inside your own product — no dashboard rebuild.
const run = await bb.runs.start('wf_reconcile', { org: org.id })
await run.step('fetch_ledger', () => ledger.fetch(period))
await run.step('match_lines', () => matcher.run(lines))
await run.succeed({ matched: 1204, unmatched: 3 })
// -> replay: bb.runs.replay('run_31ba')