Sharing
This page says each way the record leaves your repository, what travels with each, and what rabbitbrain.ai serves.
The record lives in your repository, and it leaves your machine only when you send it. rb has four ways to show it, from the lightest to the fullest:
| Command | What it writes | What travels |
|---|---|---|
rb page | One self-contained HTML file, read-only, that you can send anywhere. | The page alone. |
rb open | Nothing: the same record in your browser, live, served on 127.0.0.1 of your machine only. | Nothing. |
rb export | The page with a README and a manifest that hashes it, for any static host. | The page alone. |
rb export --with-record | A bundle: the record, the files its checks read, the page, and a manifest with every file’s hash. | The record too. |
This is the page of a small record, as rb writes it with rb export --with-record --url:


What a page leaves out
Section titled “What a page leaves out”A page is made to be sent to anyone. It names no writer, none of the words you gave an agent, no call that waits for your confirmation, and no machine’s platform. Its findings are computed when it is written: write it again after new runs.
What the record carries
Section titled “What the record carries”A bundle made with --with-record carries the record as it is, and the record keeps everything: who made each write, an agent’s chat session, name and model, the words you passed with --words, and each run’s host, platform and branch. rb says so each time you make one:
$ rb export --with-record --zip --out ~/int8-record.zip~/int8-record.zip written: the whole record, the page, and a manifest hashing every file.Readable without rb; rb status inside record/ reopens it. Regenerate after new runs.The record keeps who made each write (human:<name> or agent:<name>, and the channel it came through), an agent's chat session, name, version, provider and model, the user's words passed with --words, and each run's host, platform and branch. Anyone who can read the bundle can read all of it.Code repository recorded: https://example.org/ada/int8-resnet.git at 6de000ee79. Pass --no-repo to leave it out.
Next: rb clone ~/int8-record.zip <dest> · rb export --with-record --url <public address> (make it publishable)Publishing a bundle
Section titled “Publishing a bundle”rb export --with-record --url <address> writes a folder to serve from that address. Its page.html opens with the exact rb clone command, and the folder holds bundle.zip, so one static host serves both the page and what a stranger clones:
$ rb export --with-record --url https://example.org/int8-resnet/ --out ~/int8-site~/int8-site written: the whole record, the page, and a manifest hashing every file.Readable without rb; rb status inside record/ reopens it. Regenerate after new runs.The record keeps who made each write (human:<name> or agent:<name>, and the channel it came through), an agent's chat session, name, version, provider and model, the user's words passed with --words, and each run's host, platform and branch. Anyone who can read the bundle can read all of it.Code repository recorded: https://example.org/ada/int8-resnet.git at 6de000ee79. Pass --no-repo to leave it out.Publish the directory at the address you gave; page.html is the reading surface and anyone reproduces it with: rb clone https://example.org/int8-resnet/bundle.zipThe page also has a Rerun this research panel: a prompt to paste into a coding agent, which clones the record, gets the code, reruns the runs, and says which criteria reproduced. Share the record, and rerun it shows the prompt and a rerun from start to end.
Starting from someone else’s record
Section titled “Starting from someone else’s record”rb clone <bundle or address> <folder> starts a new line of work from a bundle. When the bundle names its code, the clone is a checkout of that code at the bundle’s commit, on a new branch rerun, with the record in it. The questions, experiments, settings and criteria arrive inherited: every criterion reads untested until runs made in the new repository test it, then reproduced or not reproduced. The parent’s runs and calls stay in the parent’s record.
This is how an advisor or a reviewer checks the work: clone it, rerun it, and read what the criteria become.
A team on two versions
Section titled “A team on two versions”rb 0.8.0 writes a criterion’s file in format 2 only while it holds a count, a best of N, a relative change or a cited difference of means. rb 0.7.0 and 0.7.1 read a record with no format-2 file, and write to it as before. Once a file is format 2, they write nothing to the record, refuse to clone a bundle that holds it, and say to upgrade. The record’s format says what each version does. Upgrade everyone who shares a record together.
rabbitbrain.ai
Section titled “rabbitbrain.ai”rabbitbrain.ai serves shared record pages, and sample records at rabbitbrain.ai/demo. Each page is rb’s own page, with its Rerun this research prompt and the rb clone command for its bundle.zip.
rb login signs a machine in to rabbitbrain.ai, and rb sync keeps a private copy of a record’s page in your account there. Anyone can make an account, at rabbitbrain.ai/signin. A share link made from that page can be revoked, and rb sync --with-record sends the record too, so the link’s readers can rerun it. Before rb login, rb sync says what is missing:
$ rb syncrb sync: No credential for rabbitbrain.ai on this machine. → Run rb login once per machine, or set RB_HUB_TOKEN for CI.rb itself never publishes. Hosting an export is up to you, and a share link is made on the site, never by rb.
Rabbit Brainrabbitbrain.ai · GitHub · PyPI · Privacy · Apache-2.0