Repository navigation
Releases: arnelirobles/lean-agent
Release list
1.13.0
Brain moves to schema 9. The first 1.13.0 command migrates the database, and after that a 1.12.0 brain refuses to open it ("newer than this brain knows"). Update every copy of the plugin on a machine together, including a remote lane.
What schema 9 changes: projects are stored lower case, so BarakoCMS and barakocms are one project. Kinds are a fixed list of 12 with aliases, and old kinds map to the closest one. brain close needs a resolution, or --wontfix. brain stats lists agent items with no update for a day. Items and queued jobs keep the session that filed them, also from MCP.
Test runs:
brain queue addrefuses a second full run of one commit, and a full run from a dirty tree, unless--again "reason". The add is one transaction.- test-phase stops a run whose passed count has not moved for 20 minutes while failures keep coming (
--fail-stall), holds the lane per job, and retries a killed job once. brain flaky-clearcloses a flaky item after 5 passing full runs of its test project, with resolutionflaky-cleared.
Session context:
- New
brain digest, under 2 KB: counts, running jobs, stale agents, blockers and questions. The startup hook prints it, and after a compaction it adds every open blocker, question, live agent and queued job. - MCP
brain_listandbrain_queue_listreturn 50 lines and under 8 KB by default. Newbrain_digestMCP tool.
Scripts agents kept writing by hand:
replace FILE: exact text edit from old/new blocks on stdin. Fails when the old text is not there exactly once, all blocks or none, and refuses read-only and hard-linked files.- hooks/wait-loop.py denies sleep-then-read commands, loops that sleep and read a file, and any
pgrep, in every project, also insidebash -c. A loop that sleeps without reading, such as a health-check retry, still runs. It notes a directdotnet test,go test,pytestornpx vitestrun.LEAN_WAIT_GUARD=off, in settings env or in front of the command, turns it off. script-repeatscounts hand-written command families in Claude Code transcripts. It prints family names, counts and normalised shapes only. retro-signals.sh includes it.- The condensed method has a "Scripts on PATH" block, and skills use bare command names instead of versioned plugin paths.
holdout.shhas a self-test.
Review: ticket shape, spec review and the hunt now ask about sibling routes that read or write the same field.
Extension stays at lean-brain 0.10.0. It reads schema 9 as is.
bash tests/run-all.sh on main at df23c6c: 43 self-tests, 0 failed, 0 skipped (CI run 39614568985).
v1.12.0
This release covers everything since v1.10.0. Version 1.11.0 was never tagged, so its changes are in here too.
brain now lives in lib/brain. bin/brain is a thin entry point, and its output is byte for byte the same as before. If you copy bin/brain somewhere by hand, copy lib/brain next to it.
New lib/forge.py tells GitHub, GitLab and Azure DevOps remotes apart. lean-stats and retro-signals read merged pull requests through it. pr-blockers now says when a repository is on GitLab or Azure DevOps instead of failing on a gh error.
New brain activity records who ran what, with which tool and model, and the tokens used. brain activity import-baryovm pulls in BaryoVM runs. The extension has an Activity tab for it. The activity table does not change the schema version, so no migration runs.
The queue lists jobs in run order, and a queued job can move up or down from the extension. The remote lane refuses an Apple job, and the extension shows no route button for one. An empty test filter now fails instead of running nothing, and an idle lane picks up jobs queued after it started.
The brain split does not touch test-phase, and the root links into bin stay. CI now runs the extension typecheck and vitest, which it skipped before.
Extension: lean-brain 0.10.0 is attached to this release as a vsix. Install it with code --install-extension lean-brain-0.10.0.vsix. The Marketplace update follows.
bash tests/run-all.sh: 38 self-tests, 0 failed. Extension: 82 vitest tests pass.
v1.10.0
test-phase can drain the queue on remote hosts over ssh as well as on this machine (#34). Hosts come from ~/.config/lean/remotes.ini. Each job is copied with rsync and runs in its own capped container, which is removed after the job. brain queue route ID --to remote|local|any picks a lane, and Apple-only projects stay local. A lost connection requeues the job. The test container unsets ASPNETCORE_HTTP_PORTS, which otherwise stops WebApplicationFactory hosts that parse their own command line. See docs/remote-lane.md.
bin/brain-mcp serves brain to Claude sessions over MCP, so they can read items and add jobs. It refuses values that start with a dash and extra dotnet arguments.
A full tier MTP filter with no namespace now matches its class. Before this fix, zero tests ran.
The VS Code extension (0.9.0) adds a Queue tab with route buttons, a card for each lane, and live progress for running jobs.
Brain migration 7 adds jobs.platform, jobs.host and runs.host. A brain older than 1.10.0 refuses the upgraded database, so update every installed copy together.
bash tests/run-all.sh: 37 self-tests, 0 failed. Extension: 69 vitest tests pass.
v1.9.0
brain queue bump ID moves a queued job ahead of the rest of the queue, along with the queued jobs chained after it with --after. queue next takes bumped jobs first, oldest first, and queue list marks them bumped (#32, #33).
Brain migration 6 adds jobs.priority. A brain older than 1.9.0 refuses the upgraded database, so update every installed copy together.
bash tests/run-all.sh: 35 self-tests, 0 failed.
v1.8.0
Plugin 1.8.0 and the Lean Brain extension 0.5.1, now on the Marketplace as baryo-dev.lean-brain.
Test queue
brain queue addreturns the id of an identical job that is already queued (same folder, test project, filter, tier,--afterand arguments) instead of adding a second one, so agents asking for the same run share one build.- A fast filter can name several classes, for example
--filter 'OrderTests|InvoiceTests'. test-phase passes one--filter-classper class under MTP and oneFullyQualifiedName~term per class under VSTest. - The method skill tells agents to queue one job per worktree.
Questions and answers
- Brain records the session that filed each item (schema 5,
brain session,brain answers), and the session-env hook hands answers back to that session on its next prompt. - The method skill: file a question with
brain add --kind question, then end the turn.
Lean Brain extension
- A dashboard, item pages, status bar, open items and queue trees, read from brain.db.
- An answer box on open questions. The answer goes back to the session that asked: typed into its terminal, resumed with
claude --resumeif it has ended, or offered as next prompt or fork if it may be open elsewhere. - Finds claude in
~/.local/bin,~/.claude/local,/opt/homebrew/binand/usr/local/binwhen the editor lacks the shell PATH. - The dashboard header wraps and wide tables scroll in narrow panels.
Tests: 35 self-tests pass (tests/run-all.sh), 52 extension tests pass (vitest).