Added
- Embedded memory-doctor verbs under
brigade memory:status,lint(dead wiki-links),compact(flatten/tighten MEMORY.md), andinit-git. Also available aspython -m brigade.memory_doctor. Handoff promotion stays onbrigade ingest. - Search station CLI:
brigade search status|doctorand review-onlysync planfor GraphTrail plus optional code-search. Shared station health schema (station_health) powers status/doctor/plan across stations. - Tokens station CLI:
brigade tokens status|doctorand review-onlywire planfor Token Glace (current name; TokenJuice is the old name) plus optionalusage-trackermanaged tool under the tokens station. brigade stations discoverfinds localstation.jsoncatalogs (brigade.station.v1) and printsbrigade add <path>next commands.- Plating managed tool under the guard station for optional demo render / leak scan / drift verify helpers.
- Evidence station CLI:
brigade evidence status|doctor, review-onlycrawl planandexport plan, andbrigade add evidencenext-step banner. MiseLedger stays a process-boundary Go binary; crawl/import are operator-run. - Pantry station first-class path:
brigade pantry doctor, status/expiry/setup plans emit explicitnextcommands and product docs links, andbrigade add pantryprints the multi-machine setup sequence. Agent Pantry stays a process-boundary Go sidecar. - MCP adapter for Hermes: user-scoped
~/.hermes/config.yamlundermcp_servers(YAML subset, zero-dep surgical merge). Requires--user-scope. - MCP adapters for Grok CLI: project
.grok/config.toml(grok) and user~/.grok/config.toml(grok-user, requires--user-scope). Same Codex-like[mcp_servers.<name>]TOML shape. (#183)
Fixed
- Release preflight now bumps and synchronizes every version stamp before the full verification and cold-start gates, and the checklist confirms the published PyPI version after tagging.
- MCP Codex/Grok empty-
argsfingerprint conflicts:to_providerno longer emitsargs: [], matching TOML render which omits empty arrays, so force-sync stays idempotent. (#181) - MCP import of url-only servers no longer lands as invalid
stdio+url; coerce tohttp/sse, including OpenClaw sources with a bogustransport: stdioor a command that is actually a URL. (#182) - Productized GraphTrail ↔ Brigade ↔ MiseLedger dogfood path:
brigade operator checkupreports optional loop health (graph/ledger/ last and meanbrief_hit_ratefrom run receipts) without blocking readiness;brigade add graphtrailinstalls the code-graph tool under the search station; QUICKSTART documents install → checkup → export → rank. - Outcome rank/reconcile surfaces mean
context_eval.brief_hit_rateper skill as a quality signal (secondary sort among equal Wilson scores; install/rollback thresholds still use verified exit codes only). brigade-workskill teaches the full loop: verify with capture → outcome from run → MiseLedger export → evidence brief next time.brigade addaccepts a managed tool name (e.g.graphtrail) as well as a station name, so optional loop sidecars install without pulling every tool on the station.
Changed
- Memory station no longer installs the external memory-doctor package. Maintenance is built into brigade-cli; bootstrap-doctor remains an optional sidecar for OpenClaw prefix trim.