cblCyberbrain Light docs

Store, rings, config

The store

cbl init creates .cyberbrain/ in the project:

.cyberbrain/
├── notes/          # your notes, plain Markdown, one directory per ring
│   ├── r0/
│   ├── r1/
│   └── r2/ …
├── cyberbrain.db   # the search index (SQLite, FTS5); can always be rebuilt with `cbl scan --full`
├── light.toml      # three settings
└── .light.lock     # held while cbl writes, so two writes do not cross

The notes are the truth; the index is derived from them. Commit notes/ with your code if the team should share the memory, and keep cyberbrain.db out of version control.

Any command finds the store from the working directory upwards, so it works anywhere inside the project. --store or CYBERBRAIN_STORE point it somewhere else.

Rings

Every note lives in a numbered ring, and the number is a claim about trust.

ring what belongs there in every session
r0 operator invariants, hard rules yes
r1 operating protocol, handoff state yes
r2 project knowledge on recall
r3 session records on recall
r4 imported or unverified material on recall

A lower number means more trust. Rings 0 and 1 ride along in every session under a token cap, so the agent starts knowing the rules instead of rediscovering them. They belong to you: the MCP write tool refuses them.

A note stays in its ring. Moving it is a decision, not a side effect, so a write that names another ring is refused; cbl forget the note and write it again.

Citations

Every search hit carries a citation such as r2-867ef2a8cd01: the ring and a block id. It names one block of a note, not the file, so it survives the note growing around it. cbl recall --id <citation> gives back the whole note.

light.toml

Three settings, and deleting the file brings back the defaults.

# Rings 0 and 1 are injected into every session; this caps what that costs.
resident_cap_tokens = 8192

# Hits returned by `cbl recall`.
n = 8

# Candidates BM25 weighs before the list is cut to `n`.
k_lex = 50

Independently of the token cap, the session-start hook stays under the 10,000 characters Claude Code shows in full; see hooks.

Shared with the full Cyberbrain

The store layout is Cyberbrain’s: same directory, same Markdown, same rings. Citations are block ids, and a newer Cyberbrain can split notes into blocks a little differently, so after a full cyberbrain scan some citations may change; the notes do not. Start with Light, install Cyberbrain later, and one cyberbrain scan picks up every note you already wrote. Light keeps its settings in light.toml and never touches Cyberbrain’s cyberbrain.toml.