Overview
Bitfab has four primitives. Everything in the product is one of them, or a view over them.How They Fit Together
The primitives chain into one loop:- Instrument your code with the SDK. Every run of the instrumented function produces a trace.
- Collect the interesting traces into a dataset, usually the failures you want to fix and the successes you refuse to break.
- Define graders for the properties that matter, and attach them to the dataset. The dataset now has a pass rate instead of an opinion.
- Run an experiment: replay the dataset against your changed code, and the graders score the replays. Each replayed trace comes back as fixed, regressed, still passing, or still failing.
- Repeat, with the dataset growing every time you find a failure mode it did not cover.
Each primitive belongs to one organization and one trace function key, the name you passed to
getFunction() or get_function(). A grader can only be attached to a dataset with the same key, and a dataset can only hold traces from that key.Creating Primitives
Datasets, graders, and experiments are created from your coding agent, in plain language, through the Bitfab plugin:Datasets
Curate the traces you evaluate against
Graders
Score traces pass or fail automatically
Experiments
Replay a dataset against changed code
Where to Go Next
- Setting up tracing for the first time: Introduction and your SDK reference.
- Driving the UI: Web Portal Overview.
- Reviewing traces by hand: Labeling.