← Academy

[ Escoffier Labs Ecosystem ]

The whole kitchen

Brigade is the brigade de cuisine, but a kitchen is a team of stations. This is the Escoffier Labs fleet: which tools Brigade actually calls, the evidence pipeline that feeds it, and why the kitchen metaphor turns out to be the architecture.

Escoffier Labslocal-firstone tool per station
01

Brigade Does Not Work Alone

Auguste Escoffier’s contribution to cooking was not a recipe - it was an org chart. The brigade de cuisine split a chaotic kitchen into stations, each owning one job, each handing off cleanly to the next, with the chef coordinating. Escoffier Labs is that idea applied to agent operations: one small, sharp tool per concern, composed by Brigade.

Brigade is the executive chef and the pass. The fleet is the line. Crucially, Brigade keeps the line at arm’s length: it never imports another fleet tool as a Python library. Every relationship below is either a subprocess shell-out to a tool’s own CLI, an install argument, or a small shared constant. That is what keeps each tool independently shippable and Brigade dependency-free.

02

The Core Fleet: What Brigade Actually Calls

Hub-and-spoke of the code-confirmed integrations. Solid edges are subprocess calls or install targets Brigade drives; dashed edges are the reverse - tools that depend on Brigade (a shared budget constant) or feed it through a skill rather than being called by it.

auth sync search evidence notify compact imports handoffs doctrine brigade operator system + embedded guard agentpantry pantry / larder code-search search miseledger evidence agent-notify notifications Token Glace tokens memory-doctor imports budget skillet skills solos-cookbook doctrine
03

The Architectural Tell: No In-Process Imports

04

The Evidence Pipeline

The evidence station is one tool, not three. Today the pipeline is: `miseledger crawl` collects sessions, files, git history, and chat sources; records normalize to miseledger.adapter.v1 JSONL; MiseLedger stores them in local SQLite; Brigade queries the ledger for investigation, release evidence, and run evidence briefs. There are no separate StationTrail or SourceHarvest install steps. Those exporters were absorbed into crawl in MiseLedger v0.3.0 and their repos are archived.

miseledger crawlone binary collects activity
  • sessions
  • files
  • gitlog
  • chat sources
→
adapter.v1 JSONLone shared schema
→
miseledgerSQLite evidence ledger
→
brigadeevidence station + run briefs
05

The Full Fleet

Every Escoffier Labs tool, its role, stack, and exact relationship to Brigade. "declares" = linked in brigade’s pyproject; "calls" = Brigade shells out to it; "feeds" = it sends data into Brigade; "imports" = it depends on a brigade constant; "independent" = thematically part of the fleet but not wired into Brigade; "planned" = design only, not shipped.

ToolRoleStackRelation to Brigade
content guard Publish-safety / content scrub gate Python (embedded in brigade-cli) declares brigade.guard via scrub.py / brigade guard
agentpantry Agent session auth / secret sync Go (GitHub releases) declares go install + linked in pyproject
solos-cookbook The production doctrine Brigade packages Docs declares linked in pyproject (Cookbook)
code-search-api Local semantic code search Python / FastAPI calls reached over plain local HTTP
code-search-mcp MCP wrapper over code-search-api Node / TypeScript feeds feeds code context to agents
miseledger Local-first evidence ledger + built-in crawlers Go / SQLite feeds queried by the evidence station; crawl is built in (no separate exporters)
Token Glace Output compaction (tokens station) CLI calls managed + shelled by Brigade
agent-notify Operator notification wiring CLI calls managed + shelled by Brigade
memory-doctor Memory-index health checks CLI imports imports brigade.budgets constant
bootstrap-doctor Bootstrap-file health checks CLI imports optionally sources brigade.budgets
skillet Reusable agent skills (process roster) Agent skills feeds brigade-handoffs skill writes Brigade memory
mise-en-scene Interactive technical explainers React / TypeScript independent presentation; not wired into Brigade
cloche Screenshot / image-card capture Rust (crates.io) independent session-capture utility
usage-tracker Token / cost analytics React / TypeScript independent observability; not wired into Brigade
upstream-drift LLM-summarized upstream watcher CLI independent independent utility
escoffier-fleet-kit Fleet publishing / branding infra Tooling independent meta; builds the fleet, not called by it
shortlist Candidate triage (design + phase-1 plan) Design only planned specs only - no source shipped
06

The Metaphor Is the Architecture

The kitchen names are not flavor text. Each encodes an operational principle that shows up directly in the code.

Kitchen roleFleet expressionOperating principle
Brigade de cuisineBrigade CLIA coordinated team beats a lone generalist; the chef owns the pass.
Mise en placeTwo-layer memory + initPrep everything before service; slim index, detail on demand.
Stationscore / memory / guard / search / ...One concern per station, each with its own doctor health check.
The passbrigade guard + scrubNothing leaves the kitchen without passing the chef’s inspection.
Expediter (aboyeur)brigade run orchestratorOne voice calls and sequences the orders across the line.
Dockets / receiptsplain-file receiptsEvery order is written down: auditable, greppable, never silent.
Garde-manger / lardermemory station / pantryCold prep and provisioning kept ready and labeled, not hunted for.
07

One Kitchen, Many Stations