Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

The workspace

bunsen is one Cargo workspace with four kinds of member. Only the crates under crates/public are published; everything else exists to build, check, validate or demonstrate them.

crates/public/      the published crates (released together, one version)
crates/dev/         development tooling: upstream bug repros, benches
crates/validation/  cross-checks of bunsen models against reference implementations
examples/           runnable programs, one per kit or system
tools/              one-shot fixture generators and repo checks (Python, stdlib-first)

Published crates

All published crates share the workspace version and are released together by release-plz (Releasing), except bunsen-bundled-parakeet and bunsen-bundled-qwen3-asr, which fetch the checkpoints the validation crates check against and are not published.

CrateWhat it is
bunsenThe library: contracts, ops, blocks, kits, the pretrained-model machinery, audits. Most users depend on this alone. See the bunsen crate.
bunsen-contracts-macrosThe proc macro behind shape_contract!. Never a direct dependency; bunsen re-exports it.
bunsen-bundled-sileroSilero VAD’s 16 kHz checkpoint and, for validation, its ONNX graph and the reference model generated from it, fetched and digest-pinned at build time. Pulled in by silero-weights. Hosts no files itself.
bunsen-bundled-whisperWhisper’s base checkpoint and tokenizer vocabularies, fetched and digest-pinned at build time and laid out as a pretrained cache. Pulled in by whisper-weights. Hosts no files itself.
bunsen-firehoseA column-oriented data-processing pipeline that feeds burn’s Batcher. Independent of bunsen. See Firehose.
bunsen-firehose-imageImage operators for firehose: loading, augmentation, conversion to tensor data.
bunsen-arrow-dataloadersPreview. Parquet shards to tokenized training batches, for language-model training. See Shard sets.
bunsen-appShared command-line plumbing for bunsen’s binaries: device and precision flags, logging, shard selection, and the weights cache’s flags and cache commands. The examples and bunsen-asr are built on it.
bunsen-asrA binary, cargo install bunsen-asr: speech to text with Parakeet, Qwen3-ASR or Whisper, each through its stream driver, and bunsen-asr cache over the weights cache.

The two bundled crates are how bunsen ships model assets without making every build download them; Assets, bundling and the network explains the scheme.

Development crates

CrateRole
burn_bug_reproReproductions of defects in burn and its ecosystem, each paired with a pin on today’s behaviour. See Upstream bug reproductions.
silero-benchA benchmark CLI for Silero VAD. See Benchmarks.

Validation crates

CrateValidates
silero-model-validationSilero VAD against the ONNX graph it was transliterated from, and against a committed golden trace.
whisper-model-validationWhisper against an ONNX export, stage by stage, and against openai-whisper’s own decode of real speech.

These are not part of a normal build’s test run; they are how a kit earns trust. See Validation against reference implementations.

Examples and tools

The examples are runnable programs, one or more per kit or system. tools/ holds the Python scripts that generate committed test fixtures from reference implementations, run once by hand, never by CI (Validation), and the repository checks CI runs.