You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: lead with code map and evidence log public names (#521)
Use brigade code / brigade evidence as the operator surface and keep
GraphTrail and MiseLedger as historical names. Document Bootstrap
Doctor against the full OpenClaw bootstrap set. Kitchen art stays brand;
commands stay plain.
Copy file name to clipboardExpand all lines: README.md
+32-12Lines changed: 32 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
<palign="center">
2
-
<imgsrc="docs/assets/brigade-kitchen-scene.jpg"alt="Brigade - the brigade at the pass"width="900">
2
+
<imgsrc="docs/assets/brigade-kitchen-scene.jpg"alt="Brigade brand art: kitchen brigade at the pass (metaphor for coordinated agents)"width="900">
3
3
</p>
4
4
5
5
<h1align="center">Brigade</h1>
@@ -9,7 +9,7 @@
9
9
</p>
10
10
11
11
<palign="center">
12
-
Coding agents do real work unsupervised now, and at the end of a session all you have is their word for what happened. Brigade makes the fleet auditable: every check leaves a receipt with the real exit code and the exact symbols the change touched, backed by a built-in code-intelligence graph and evidence ledger. It also keeps the plumbing shared: one MCP and tool catalog synced into every harness, and one reviewed memory that improves from real outcomes, never from a model grading itself. A CLI that writes plain files on your machine. No daemon, no lock-in.
12
+
When an agent says tests passed, get a file with the real exit code, a <strong>code map</strong> of what the change touched (<code>brigade code</code>), and an <strong>evidence log</strong> you can search later (<code>brigade evidence</code>). Optional: one MCP and tools catalog synced across your coding agents, and shared session notes with a review gate. Local CLI. Plain files. No daemon. No lock-in.
<imgsrc="docs/assets/brigade-demo.svg"alt="Recording: an agent claims tests pass; a verify run writes a receipt with the real exit code, code impact shows what the change touched, evidence search finds the run in the ledger, and outcome rank scores the skill that did the work"width="800">
31
31
</p>
32
32
33
-
<palign="center"><em>An agent said "tests pass." This is the claim becoming a record: receipt, graph, ledger, rank.</em></p>
33
+
<palign="center"><em>An agent said "tests pass." This is the claim becoming a record: receipt, code map, evidence log, rank.</em></p>
34
34
35
35
## The loop
36
36
@@ -86,11 +86,11 @@ brigade work verify run --target . --command "pytest -q" --capture brigade-work
86
86
}
87
87
```
88
88
89
-
Receipts land in the Evidence ledger, a Go engine installed by `brigade setup`, and every consequential action elsewhere in Brigade (a memory write, a skill promotion, a sync) is logged the same way. `brigade evidence search` answers "what ran, when, and what did it change" from files, weeks later. Cross-model dispatches through `brigade run` carry the same paper trail. When someone asks what your agents did this week, the answer comes from receipts you can grep, not from scrollback. [Capability page](https://brigade.tools/evidence-memory).
89
+
Receipts land in the **evidence log** (`brigade evidence`), a Go engine installed by `brigade setup` (historically shipped as MiseLedger). Every consequential action elsewhere in Brigade (a memory write, a skill promotion, a sync) is logged the same way. `brigade evidence search` answers "what ran, when, and what did it change" from files, weeks later. Cross-model dispatches through `brigade run` carry the same paper trail. When someone asks what your agents did this week, the answer comes from receipts you can grep, not from scrollback. [Capability page](https://brigade.tools/evidence-memory).
90
90
91
-
## Code intelligence, built in
91
+
## Code map, built in
92
92
93
-
The `code_graph_delta` line in that receipt comes from a Rust code-graph engine, also installed by `brigade setup` (digest-verified, no toolchain required). It indexes your repo once and keeps up incrementally. On this repository a sync pass over 652 files and 10,405 symbols reports in well under a second. A receipt names the exact symbols a change touched, and your agents stop grepping and start asking structural questions:
93
+
The `code_graph_delta` line in that receipt comes from the **code map** (`brigade code`), a Rust engine installed by `brigade setup` (historically shipped as GraphTrail; digest-verified, no toolchain required). It indexes your repo once and keeps up incrementally. On this repository a sync pass over 652 files and 10,405 symbols reports in well under a second. A receipt names the exact symbols a change touched, and your agents stop grepping and start asking structural questions:
94
94
95
95
```
96
96
$ brigade code impact _write_receipt
@@ -175,16 +175,25 @@ The ledger is plain JSON and markdown under `memory/outcome/`, tracked in git, r
175
175
176
176
## Optional stations
177
177
178
-
Code intelligence, Evidence, and Content Guard (`brigade scrub`, a secrets and PII scan before anything goes public) are built in and installed by `brigade setup`. Everything else is an optional station in its own repo. Core works with none installed, and `brigade status` health-checks whatever is present.
| Evidence log |`brigade evidence …`| Searchable ledger of runs and imports. Formerly MiseLedger. |
184
+
| Content Guard |`brigade guard` / `brigade scrub`| Secrets and private detail before publish. |
185
+
186
+
**Optional stations** (add when you need them). Core works with none installed. `brigade status` health-checks whatever is present.
179
187
180
188
| Station | Install | Role |
181
189
|---|---|---|
182
190
|[Agent Pantry](https://github.com/escoffier-labs/agentpantry)|`brigade add pantry`| Encrypted browser-session and secret sync across machines |
183
191
|[Token Glace](https://github.com/escoffier-labs/token-glace)|`brigade add tokens`| Compact noisy tool output before it burns context |
184
192
|[Skillet](https://github.com/escoffier-labs/skillet)| optional roster | Portable skills that reconcile can promote or roll back |
193
+
|[Bootstrap Doctor](https://github.com/escoffier-labs/bootstrap-doctor)|`brigade add bootstrap-doctor`| Audit OpenClaw bootstrap files (SOUL.md, TOOLS.md, AGENTS.md, IDENTITY.md, MEMORY.md, and the rest of the set) and trim oversize detail into cards |
185
194
| Notifications |`brigade add notifications`| Optional `agent-notify` binary for Discord, Telegram, or Signal; status and setup planning only until you wire hooks or pass an explicit `--send`|
186
195
187
-
Upgrading from the standalone GraphTrail or MiseLedger installs? `brigade setup` replaces both. The old `brigade add graphtrail` / `add evidence` paths remain as compatibility shims. Details: [wiring guide](docs/wiring-graphtrail-miseledger.md), [station contract](docs/station-contract.md).
196
+
Upgrading from standalone GraphTrail or MiseLedger installs? `brigade setup` replaces both. The old `brigade add graphtrail` / `add evidence` paths remain as compatibility shims. Engine binaries and some paths still use the historical names; the operator surface is `brigade code` and `brigade evidence`. Details: [wiring guide](docs/wiring-graphtrail-miseledger.md), [station contract](docs/station-contract.md).
188
197
189
198
Beyond the daily loop, the same review-and-receipt pattern covers cross-model runs (`brigade run` dispatches one bounded task across your roster), security scans, friction mining, research reports, and fleet health. All of it stays behind `brigade extras on` until you ask. The full tour: [docs/overview.md](docs/overview.md).
190
199
@@ -213,11 +222,22 @@ And it is not the other projects that share the name. This Brigade is the AI-age
213
222
## Why I built this
214
223
215
224
<palign="center">
216
-
<imgsrc="docs/assets/brigade-social-preview.jpg"alt="Brigade - le chef de cuisine"width="900">
225
+
<imgsrc="docs/assets/brigade-social-preview.jpg"alt="Brigade social banner: kitchen metaphor brand art"width="900">
217
226
</p>
218
227
219
228
I run an always-on OpenClaw agent next to daily Codex and Claude Code sessions. Every one of those tools wakes up empty, and whatever a session learned scattered across tool-specific folders and died there. Two incidents shaped the design: a "dreaming" job that promoted raw session fragments straight into memory bloated `MEMORY.md` past the bootstrap budget, so every session started truncated and nobody noticed for weeks. And 195 handoff notes sat unread across 35 repos because an ingester had a hardcoded allowlist and nothing warned about the gap. Silence is the failure mode. Every part of Brigade that lints, warns, or writes a receipt exists because something once failed in silence. The full production stack, now 482 cards across daily multi-agent work, is documented in the [Cookbook](https://escoffierlabs.dev/cookbook/).
220
229
230
+
## Names (public vs historical)
231
+
232
+
| What you type / say | Historical name | Notes |
233
+
|---|---|---|
234
+
| Code map · `brigade code`| GraphTrail | Built in via `brigade setup`|
235
+
| Evidence log · `brigade evidence`| MiseLedger | Built in via `brigade setup`|
| Bootstrap Doctor | same | Full OpenClaw bootstrap set: SOUL, TOOLS, AGENTS, IDENTITY, MEMORY, and related session-start files |
238
+
239
+
Kitchen language (*brigade de cuisine*, *mise en place*, station nicknames) is brand and deep docs. Commands and product surfaces stay plain: receipt, code map, evidence log, sync, handoff.
240
+
221
241
## Harnesses
222
242
223
243
Nineteen harnesses get handoff inboxes and ingest coverage, from Codex, Claude Code, and Cursor to Goose, Aider, and OpenHands. Most also get projected tools and skills in their native format. The per-harness matrix is in the [technical guide](docs/technical-guide.md).
@@ -233,6 +253,6 @@ Nineteen harnesses get handoff inboxes and ingest coverage, from Codex, Claude C
233
253
234
254
MIT. See [LICENSE](LICENSE).
235
255
236
-
Project identity: GitHub [`escoffier-labs/brigade`](https://github.com/escoffier-labs/brigade), website [brigade.tools](https://brigade.tools), PyPI [`brigade-cli`](https://pypi.org/project/brigade-cli/), command `brigade`. The name comes from the kitchen: a *brigade de cuisine* runs the line, and *mise en place* means the station is prepped before service. Set up the rules, memory, tools, and receipts before the session gets expensive.
256
+
Project identity: GitHub [`escoffier-labs/brigade`](https://github.com/escoffier-labs/brigade), website [brigade.tools](https://brigade.tools), PyPI [`brigade-cli`](https://pypi.org/project/brigade-cli/), command `brigade`. The product name comes from a kitchen line (*brigade de cuisine*): coordinated stations, prep before service. You do not need the kitchen glossary to install or run it. Set up rules, memory, tools, and receipts before the session gets expensive.
237
257
238
258
It is early-stage and moving fast. If you hit a broken workflow, a confusing command, or a setup issue, [open an issue](https://github.com/escoffier-labs/brigade/issues) and I will get it fixed.
Copy file name to clipboardExpand all lines: docs/overview.md
+24-16Lines changed: 24 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,13 +28,20 @@ Brigade gives the setup a home base.
28
28
29
29
The goal is not to make a giant automation machine. The goal is to make agent memory understandable, reviewable, and portable across harnesses.
30
30
31
-
## Mise En Place
31
+
## Mise En Place (brand metaphor)
32
32
33
-
The name comes from the kitchen. A *brigade de cuisine* is the staff that runs the line, and *mise en place*, pronounced "meez", means everything is in its place before the work starts.
33
+
The product name comes from the kitchen. A *brigade de cuisine* is the staff that runs the line, and *mise en place*, pronounced "meez", means everything is in its place before the work starts. That metaphor lives in brand art and deep docs. The commands you type stay plain: `setup`, `verify`, `sync`, `code`, `evidence`.
34
34
35
-
In a kitchen, that is the chef's first job: prep the station, label the ingredients, sharpen the tools, and make sure service does not depend on hunting for basics mid-rush. For agents, it is the same job: rules, memory, handoff inboxes, tools, guards, receipts, and verification paths set up before the session gets expensive.
35
+
In a kitchen, the first job is prep: label ingredients, sharpen tools, and avoid hunting for basics mid-rush. For agents, it is the same job: rules, memory, handoff inboxes, tools, guards, receipts, and verification paths set up before the session gets expensive.
36
36
37
-
That is the idea Brigade is built on. The chef owns the station, and every agent working in it should leave the setup clearer, safer, and easier for the next agent to use.
Standalone GraphTrail or MiseLedger installs are replaced by `brigade setup`. Some binary and path names still use the historical labels; the operator surface is the public table above.
38
45
39
46
## Start Small
40
47
@@ -331,7 +338,7 @@ Memory and handoff tools:
331
338
-[OpenClaw](https://github.com/solomonneas/openclaw): personal AI assistant and memory owner.
332
339
- Hermes: local memory owner and handoff writer convention.
333
340
- Memory maintenance is embedded in Brigade: `brigade memory status`, `lint`, `compact`, and `init-git` (the retired [memory-doctor](https://github.com/escoffier-labs/memory-doctor) package). Use `brigade ingest` for handoff promotion.
334
-
-[bootstrap-doctor](https://github.com/escoffier-labs/bootstrap-doctor): audits and trims oversized OpenClaw bootstrap files.
341
+
-[bootstrap-doctor](https://github.com/escoffier-labs/bootstrap-doctor): audits and trims the full OpenClaw bootstrap set (SOUL.md, TOOLS.md, AGENTS.md, IDENTITY.md, MEMORY.md, and related session-start files), and the same idea for other harnesses with large bootstrap files.
335
342
336
343
Safety and operations tools:
337
344
@@ -341,17 +348,18 @@ Safety and operations tools:
341
348
-[Token Glace](https://github.com/escoffier-labs/token-glace): output compaction for terminal-heavy agent workflows.
342
349
- Built-in Scout skills: Brigade wires `brigade-work` and `ultra-work-scout` during `brigade init`; use Skillet when you want the full optional skill roster.
343
350
344
-
Evidence ledger tools:
345
-
346
-
-[MiseLedger](https://github.com/escoffier-labs/brigade/tree/main/engines/evidence-ledger) (`engines/evidence-ledger/` in this monorepo): local-first evidence ledger. One binary crawls sessions, files, git history, and chat sources (`miseledger crawl ...`), stores `miseledger.adapter.v1` JSONL in SQLite with FTS5, and emits Brigade-ready evidence bundles. The archived [miseledger](https://github.com/escoffier-labs/miseledger) repository is a frozen history mirror.
347
-
- Brigade station CLI (process boundary):
348
-
-`brigade setup` installs GraphTrail, `graphtrail-mcp`, MiseLedger, SessionFind, and `agent-notify` (when published on the release manifest) from the exact release manifest
349
-
-`brigade add evidence` is a one-release compatibility fallback for an independent MiseLedger install
350
-
-`brigade evidence status` / `doctor` — advisory health + next commands
351
-
-`brigade evidence crawl <args...>` / `search <args...>` - transparent MiseLedger execution; engine output and exit code pass through
-`brigade receipts export miseledger --new-only --import` — export verify/run receipts into the ledger
354
-
- Historical note only: StationTrail and SourceHarvest were absorbed into MiseLedger crawl in v0.3.0; their archived repos are migration notes, not active products.
351
+
Evidence log and code map (built in):
352
+
353
+
-**Evidence log** (`brigade evidence …`): local-first ledger of runs, crawls, and imports. Engine lives at [`engines/evidence-ledger/`](https://github.com/escoffier-labs/brigade/tree/main/engines/evidence-ledger) (historically MiseLedger). Crawls sessions, files, git, and chat into SQLite with FTS5. Archived standalone [miseledger](https://github.com/escoffier-labs/miseledger) is a history mirror only.
354
+
-**Code map** (`brigade code …`): local symbol graph (callers, impact, context). Engine lives under the monorepo engines tree (historically GraphTrail). Archived standalone [graphtrail](https://github.com/escoffier-labs/graphtrail) is a history mirror only.
355
+
- Brigade CLI (process boundary):
356
+
-`brigade setup` installs the code-map engine, its MCP bridge, the evidence engine, SessionFind, and `agent-notify` (when published on the release manifest) from the exact release manifest
-`brigade receipts export miseledger --new-only --import` - export verify/run receipts into the ledger (command keeps the historical export name for now)
362
+
- Historical note only: StationTrail and SourceHarvest were absorbed into evidence crawl in v0.3.0; their archived repos are migration notes, not active products.
Copy file name to clipboardExpand all lines: docs/station-contract.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,8 +17,8 @@ Fresh repo installs use the `repo` profile: core, skills, memory, guard, securit
17
17
|`tokens`| token-glace | tracks token spend across your harnesses and compacts noisy output |
18
18
|`memory`| bootstrap-doctor (optional); memory maintenance is built in | `brigade memory status|lint|compact` plus memory-care for card freshness |
19
19
|`pantry`| agentpantry (Go sidecar) | plans and health-checks sealed browser-session sync; never starts source/sink |
20
-
|`search`| code-search; GraphTrail is installed by `brigade setup`| local semantic search plus the code-graph engine for callers, impact, and structural diffs |
21
-
|`evidence`|MiseLedger, the evidence engine installed by `brigade setup`| explicitly runs local MiseLedger for `brigade evidence crawl|search`; crawl/export plans are review-only, and Brigade neither starts daemons nor uploads data |
20
+
|`search`| code-search; the code map engine is installed by `brigade setup`(historically GraphTrail) | local semantic search plus the code map for callers, impact, and structural diffs (`brigade code …`)|
21
+
|`evidence`| evidence log engine installed by `brigade setup`(historically MiseLedger) |runs the local evidence engine for `brigade evidence crawl|search`; crawl/export plans are review-only, and Brigade neither starts daemons nor uploads data |
0 commit comments