Skip to content

Releases: arnelirobles/lean-agent

1.13.0

Choose a tag to compare

@arnelirobles arnelirobles released this 21 Oct 14:23
df23c6c

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 add refuses 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-clear closes a flaky item after 5 passing full runs of its test project, with resolution flaky-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_list and brain_queue_list return 50 lines and under 8 KB by default. New brain_digest MCP 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 inside bash -c. A loop that sleeps without reading, such as a health-check retry, still runs. It notes a direct dotnet test, go test, pytest or npx vitest run. LEAN_WAIT_GUARD=off, in settings env or in front of the command, turns it off.
  • script-repeats counts 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.sh has 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

Choose a tag to compare

@arnelirobles arnelirobles released this 20 Oct 15:54
e3e2569

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

Choose a tag to compare

@arnelirobles arnelirobles released this 19 Oct 10:22
a71a103

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

Choose a tag to compare

@arnelirobles arnelirobles released this 19 Oct 07:06

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

Choose a tag to compare

@arnelirobles arnelirobles released this 19 Oct 06:31

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 add returns the id of an identical job that is already queued (same folder, test project, filter, tier, --after and 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-class per class under MTP and one FullyQualifiedName~ 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 --resume if 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/bin and /usr/local/bin when 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).