1. brindle
  2. Changelog
  3. 0.5.1

brindle 0.5.1

LatestReleased

Faster agent workflows and quiet permissions

  • Test runs fit the machine. Each merge-gate check gives pytest its share of the cores (cores ÷ check slots) instead of every core. Workers' own pytest runs use 2 test workers. A check that times out now stops its whole process tree.
  • The suite runs less often. Passing check results are reused for identical code across branches, the supervisor's checkout and milestone checks.
  • Cheaper tool calls, same permission answers.
    • The pre-tool hook takes a lightweight path.
    • The license is cached instead of read from the Keychain on every Bash call.
    • Requests aren't held when no desktop app is connected.
    • An answer in the terminal is noticed in about 2 s.
  • Pipeline fixes.
    • Approved branches no longer fail to merge on stray untracked files.
    • graphify runs one rebuild at a time, at low priority, and reuses its cache in new worktrees.
    • Rejected branches go back to a resumed worker, and findings outside the worker's task go straight to the supervisor.
  • Codex workers stop asking to leave their sandbox for tests. They run python -m pytest from the project's virtualenv.
  • Workers rarely ask you for permission.
    • Combined shell commands are decided part by part.
    • A command brindle can't verify goes back to the worker with guidance instead of to you.
    • Asks go to the worker's supervisor first.

Replaying 16,750 real tool calls under Autonomous, only 14 reached a person, all of them pushes to main or a release branch.

  • Permissions settings open on capability groups (Files, Shell, Git & push, Network, MCP), each with an Allow, Ask or Deny baseline. The Inbox has a new permission card.
  • Optional: inferred test scoping. Set "scoped_checks": "infer" and a worker branch's pytest checks run only the tests its change affects. A full run happens when that can't be worked out, or when conftest, pyproject or a lockfile changed. It's off by default in this release. Every check also gets the changed paths in BRINDLE_CHANGED_FILES.

No config changes needed: checks in .brindle/config.json stays a list of command strings.

Full details: #288, #289.