All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Public
templates/index that points fresh-start users at the packaged starter templates without exposing local dogfood workspace files. - Built-in
brigade doctorbootstrap budget checks that fail hard when installed bootstrap files exceed conservative byte limits. - Built-in
brigade doctormemory-card budget checks that fail whenmemory/cards/*.mdcards become too large. - Built-in
brigade doctormemory-index checks that fail whenMEMORY.mdlinks to missingmemory/cards/*.mdfiles. brigade doctormemory-care freshness checks for stale decay scans, plus hard failures for corrupt scan or refresh-queue JSON.brigade run "<task>", a bounded aboyeur flow that asks one rostered orchestrator to plan assignments, dispatches worker CLIs in parallel, then asks the orchestrator to synthesize the final answer..brigade/roster.tomlloading for cross-model agent rosters using the user's installed CLIs (codex,claude, orollama:<model>). Claude is optional, not required.brigade roster initandbrigade roster doctorto scaffold a Codex/Ollama starter roster and validate roster syntax plus installed CLI availability.brigade dogfoodfor a built-in Codex-only, prompt-level read-only, inspected run with artifacts and optional handoff.brigade dogfood initto persist machine-local dogfood defaults in gitignored.brigade/dogfood.toml, enabling a one-command dailybrigade dogfoodpath.brigade dogfood statusto report local dogfood readiness, effective paths, CLI availability, ignore coverage, sandbox mode, and latest run.brigade dogfood latest,brigade dogfood next, and per-run dogfoodsummary.mdartifacts for turning the latest run into the next work item without copying artifact paths.brigade run --show-planand--verbosevisibility modes, plus defensive runtime enforcement of rosterallow_models.brigade run --inspectto print a readable artifact summary immediately after a run completes.brigade run --cwd,--output-dir, and default.brigade/runs/<id>artifacts for dogfooding auditable runs.- Start, finish, and duration metadata in
run.jsonartifacts. roster.jsonrun artifacts that capture the effective orchestrator, agents, limits, allow-list, and timeouts for later review.plan-attempts.jsonrun artifacts that capture raw planner outputs and parse errors for debugging failed planning runs.synthesis.jsonrun artifacts that capture orchestrator synthesis status, detail, and raw text for non-dry runs.- Successful
--handoffruns now record the written handoff path inrun.json. brigade run --handoffto write a Memory Handoff for successful runs, with--handoff-inboxoverride.brigade runs listto print recent run artifact directories from.brigade/runs.brigade runs latestto show the newest run summary without copying a run path frombrigade runs list.brigade runs show <run-dir>to print a readable summary of one run artifact directory.brigade work statusto report the current repo branch, dirty files, dogfood readiness, latest run, and extracted next step for daily work sessions.brigade work startandbrigade work endto create local.brigade/work/session artifacts for normal daily work loops.brigade work end --handoffto write a Memory Handoff from closed work session artifacts.brigade work list,brigade work latest, andbrigade work showto inspect local work session artifacts.brigade work recapto summarize recent or date-filtered work sessions.brigade work runto start a work session, run dogfood, close the session, write a work handoff, and print a recap in one command.brigade work resumeto show the active or latest work session, latest dogfood run, extracted next step, and suggested command.brigade work nextto resolve the next daily task without inspecting artifacts, plusbrigade work runnow uses the latest extracted next step when no task is passed.brigade work next --jsonto expose the resolved daily task, active session, dogfood snapshot, and suggested command to wrappers.brigade work bootstrapto initialize and verify the dogfood-backed daily work loop in one command.brigade work briefandbrigade work brief --jsonas a start-of-day entrypoint with git state, latest sessions, latest dogfood run, resolved next task, and suggested command.brigade work tasksplusbrigade work task add/show/doneto manage a gitignored local task ledger under.brigade/work/tasks.json.brigade work noteto append timestamped checkpoints to the active work session without ending it.brigade work doctorto check dogfood config, Codex availability, local artifact paths, handoff inbox, ignore coverage, and latest run context for the daily work loop.- Workspace installs now include
.brigade/memory-care.example.jsonas a scanner wiring contract for memory-care decay output. - Roster-level and per-agent
timeout_secondscontrols for bounded CLI calls. brigade run --read-onlyprompt policy for planning and review runs that should inspect and recommend only, with nativecodex exec --sandbox read-onlyenforcement for Codex agents.
- Public repo contents now keep live dogfood workspace files, internal planning notes, and root memory cards untracked; public templates remain under
src/brigade/templates/. - Dogfood handoff defaults now use
.codex/memory-handoffs/for new Codex-driven local configs while preserving explicit configured inbox paths such as.claude/memory-handoffs/. - Bootstrap truncation is now treated as a hard doctor failure to prevent by moving durable detail into memory cards before agents load context.
- Dogfood runs now default to a 600 second per-agent timeout for practical daily repo reviews.
- Dogfood next-step extraction now handles markdown
## Nextsections and can fall back tosummary.mdwhenfinal.txtdoes not contain a next-step label. brigade work runnow consumes the oldest pending ledger task before falling back to the latest extracted dogfood next step, and marks consumed tasks done after successful runs.- The managed gitignore block now treats
.brigade/dogfood.tomland.brigade/runs/as local state. - Live smoke docs now keep Codex agent execution in a trusted repo cwd while writing temporary roster, artifacts, and handoff output under
/tmp. - Handoff write failures now preserve final run artifacts, print the final answer, return nonzero, and mark
run.jsonashandoff-failed. - Dogfood runs default to prompt-level read-only plus Codex's
danger-full-accesssandbox setting for trusted-workspace use so repo inspection works on hosts where native read-only sandboxing blocks shell inspection;--native-read-only-sandboxopts into stricter native enforcement.
brigade initnow collapses mixed current and legacy managed.gitignoreblocks into one regenerated Brigade block.
0.6.0 - 2026-05-24
- Managed tools: external CLIs that Brigade can install and wire per station via
brigade add <station>. Brigade shells out to each tool, never importing it in process. memory-doctorandbootstrap-doctorattached to thememorystation.content-guardattached to theguardstation.- New
tokensstation withtokenjuicefor output compaction. brigade doctorfolds installed managed tools into its report and surfaces each tool's own health. Tools that are not installed are reported as non-failing[todo]hints, so doctor stays green on a bare host.memory-doctorandbootstrap-doctorinspect the operator's canonical memory and bootstrap files (host-global), so their findings are labeled operator-scoped and treated as advisory[warn], never failing a workspacebrigade doctorrun.
0.5.0 - 2026-05-24
- Renamed the project to Brigade. The PyPI distribution is now
brigade-cliand the command isbrigade. The workspace config directory is now.brigade, with a.solo-miseread fallback so older installs keep working.
- Built-in station registry that drives the doctor checks.
brigade statuscommand, alongsidebrigade initandbrigade doctor, reporting over the station registry.
- The
solo-misecommand is kept as a deprecated alias forbrigade.
0.4.0 - 2026-05-17
- Removed the
--profile <name>flag fromsolo-mise init. The flag has been deprecated since v0.3.0 with a stderr migration warning. Use--depth <minimal|standard|deep>plus--harnesses <list>instead. Migration table in the v0.3.0 notes below.
Removed src/solo_mise/init.py, the templates/profiles/ directory and its six legacy profile manifests, plus templates.load_profile and selection.profile_to_selection. No user-facing impact beyond the flag removal above.
Same as v0.3.0. If you somehow have v0.2.0-era scripts still using --profile, see the table in the v0.3.0 section below.
0.3.0 - 2026-05-16
- Two-axis selection model:
--depth {repo,workspace}+--harnesses {claude,codex,openclaw,hermes}+--include publisher. Pick any combination of harnesses. - Interactive prompt on bare
solo-mise init(no flags). Defaults to claude + repo + no includes. .solo-mise/config.jsonis now the per-target source of truth for selection state. Read bydoctor,ingest, andreconfigure.solo-mise reconfigure --target . [--prune]adjusts an existing install to a new selection.--pruneremoves orphaned files for deselected harnesses.- Per-writer handoff inboxes:
.codex/memory-handoffs/for Codex (in addition to existing.claude/memory-handoffs/). - Ingester now scans all configured writer inboxes.
- Doctor reports apparent harness shape, checks per-writer inbox, warns on orphaned inbox dirs from unselected harnesses.
- README reframed around the two-axis model. New "Picking your harnesses" section walks through four common combos.
- CONTRIBUTING.md "Adding a profile" replaced by "Adding a harness" + "Adding a depth" + "Adding an include".
solo-mise init --profile <x>still works but prints a stderr deprecation note pointing at the new flags. Will be removed in v0.4.0.
If you have v0.2.0 scripts using --profile:
| v0.2.0 | v0.3.0+ |
|---|---|
--profile repo |
--depth repo --harnesses claude |
--profile workspace |
--depth workspace --harnesses claude |
--profile openclaw |
--depth workspace --harnesses claude,openclaw |
--profile hermes |
--depth workspace --harnesses claude,hermes |
--profile generic |
--depth workspace --harnesses none |
--profile publisher |
--depth repo --harnesses claude --include publisher |
0.2.0 - 2026-05-16
- Memory-care staleness scaffolding:
memory/cards/decay/layout and a doctor warning when the decay folder is missing, so durable cards do not quietly rot. - Multi-workspace handoff patterns for users administering more than one agent
home; secondary workspaces write into their own
.claude/memory-handoffs/, the owner pulls those into a staging inbox. - TokenJuice output-compaction guidance card covering Claude Code's PreToolUse wrapper path, Codex hook setup, and realistic savings expectations.
- Obsidian
/noteskill template underskills/note/for theworkspaceprofile. scripts/backup-restic.shtemplate, exposed via theworkspaceprofile.- Managed
.gitignoreblock:solo-mise initnow creates or updates a# >>> solo-mise gitignore block >>>section in the target's.gitignore. Re-runs replace only the content between the markers, so user-authored rules are preserved. Skip with--no-gitignore. - Release pipeline:
.github/workflows/publish.ymlbuilds an sdist + wheel on everyv*tag and pushes to PyPI. - CI matrix:
install-from-sourcesmoke now runs against all six profiles (repo,workspace,openclaw,hermes,generic,publisher). - Project meta:
CONTRIBUTING.md,SECURITY.md,CODE_OF_CONDUCT.md, and.github/ISSUE_TEMPLATE/(bug, profile-init-fails, ingester-misclassified).
- Deepened the
workspaceprofile's bootstrap files (AGENTS.md,CLAUDE.md,IDENTITY.md,SOUL.md,HEARTBEAT.md,MEMORY.md,SAFETY_RULES.md,TOOLS.md,USER.md,INSTALL_FOR_AGENTS.md). - README: centered banner, refreshed badges, added a sample
doctorrun, noted that solo-mise makes no network calls, called outinitidempotency. - CI now pins the
content-guardcheckout tov0.1.1instead of tracking the default branch. solo-mise init --profile hermesprints a louder experimental-status notice on stderr in addition to the post-install note.
- Stale
DREAMS.mdfrom the repo root and lingering references in templates.
0.1.0 - 2026-05-13
Initial release.
solo-miseCLI withinit,doctor,scrub, andhandoff-templatesubcommands.- Six profiles:
repo(default),workspace,openclaw,hermes,generic,publisher. - Conservative handoff ingester at
.claude/memory-handoffs/: safe card handoffs become cards, targeted updates append, ambiguous material is kicked out for review. - Content-guard pre-push hook for public-leak prevention.
- Sanitized bootstrap file set, starter memory cards, routing rules.
- OpenClaw adapter fragments and harness-aware doctor checks.
- Experimental Hermes adapter fragments.