Skip to content

Calls

This page says what a call is, why a call or a design an agent records waits for you, and how to take anything back.

A call is a decision on the work, recorded with why and with the finding it was made on. There are two kinds:

  • on a criterion, an experiment, a question or a setting: accept, reject, investigate;
  • on an experiment or a question, to steer the line of work: continue, park, stop, pivot, ship.
Terminal window
rb decide <subject> <action> --why "<the reason>"

A finding never makes a call, and a call never changes a finding. An experiment’s state (open, accepted, parked, shipped and so on) is what the latest call on it made it.

Anyone can record a call, and rb records who did. A call recorded in an agent session is proposed, not made: it changes nothing until you confirm it in your own terminal. Your agent records one only when you ask, with your words passed verbatim in --words.

Here an agent records the call it was asked for, on a criterion declared after the runs. stricter-warmup-bar is that criterion’s id: its name in every command.

Terminal window
$ rb decide stricter-warmup-bar reject --why "docs/plan.md:3 sets the bar at 0.02 nats" --words "Reject the 0.03 bar. The plan says 0.02."
dpcve4i: proposed, not made: reject stricter-warmup-bar · note: docs/plan.md:3 sets the bar at 0.02 nats · words (as given): "Reject the 0.03 bar. The plan says 0.02."
It changes nothing until it is confirmed: rb confirm dpcve4i, in your own terminal.
Since this session last looked:
- stricter-warmup-bar misses its rule and the call recorded on it is not made yet: it waits for a confirmation: Warmup lowers final validation loss by at least 0.03 nats (rb decide stricter-warmup-bar accept|reject|investigate --why "...")
- warmup amended (new criterion stricter-warmup-bar: change.val_loss ≤ -0.03 (n ≥ 3)): a stricter bar, set after seeing the runs
- criterion stricter-warmup-bar added on warmup (change.val_loss ≤ -0.03 (n ≥ 3)): Warmup lowers final validation loss by at least 0.03 nats
Next: rb status

rb status lists it under Proposed, not made, with the command that confirms it:

Terminal window
$ rb status
…
Proposed, not made (1)
- reject stricter-warmup-bar · note: docs/plan.md:3 sets the bar at 0.02 nats · words (as given): "Reject the 0.03 bar. The plan says 0.02." · confirm: rb confirm dpcve4i
…

You confirm it:

Terminal window
$ rb confirm dpcve4i
dpjrcbz: rejected stricter-warmup-bar · note: docs/plan.md:3 sets the bar at 0.02 nats · your words: "Reject the 0.03 bar. The plan says 0.02." (confirms dpcve4i)
made on stricter-warmup-bar: -0.02767 [-0.03484, -0.0205], n 3 (rb): gain, criterion not met
Next: rb status

Before you confirm, rb says the words an agent passed as words (as given), since rb cannot know you said them. After, they read as your words.

rb confirm runs only outside an agent session: in one, it is refused. rb confirm alone lists everything that waits, and ends with the one command that confirms it all as listed.

An experiment’s design is how it tests its question: the questions it is filed under, its hypothesis or purpose, its variants and what they vary, its settings and their sources, its criteria, its gate and its freeze. When an agent wrote any part of it, the experiment reads design not confirmed until you confirm it:

Terminal window
rb confirm <experiment> # lists the design, every part of it
rb confirm <experiment>@<hash> # confirms it exactly as listed

A design changed after you listed it is not confirmed unseen: rb lists it again. Once you have confirmed it, a later change by an agent says what changed, part by part. Confirming changes no finding.

A call made before rb was in the repository is recorded as a past call, dated as it was made, and cited to the document that states it:

Terminal window
rb decide int8 park --why "..." --past --when "2026-05-07" --source docs/calls.md:3 --quote "We park INT8 for now"

rb checks the quote is in the file and says what git shows of it: when the line was committed, and whether that was before the record began. A past call an agent recorded is a past call mentioned, not confirmed, and waits for the same one confirmation.

rb retract <id> --why "..." takes back anything: a run, a criterion, a note, a call. It stays on the record with who took it back and why, and stops counting. rb says what rested on it, and which findings the retraction changed. An agent session cannot take back a call you made: it can propose another call, which waits for you.

Rabbit Brainrabbitbrain.ai · GitHub · PyPI · Privacy · Apache-2.0