Skip to content

Bench 0.2-alpha — team mode

Choose a tag to compare

@istos istos released this 30 Jul 12:15
· 325 commits to main since this release

Bench 0.2-alpha — team mode

0.1 proved one person and a fleet of agents could run a project from a
folder of markdown. 0.2 is about the next pronoun: boards that sync,
cards that know whose they are, and failures that show their face.

Nine cards landed in the day since 0.1-alpha — every one worked through
the board, by agents whose commits you can read in this repo's history,
which now includes the board: commits of the very feature they were
building.

Team mode: origin/main is the truth

  • Claim on move — moving a card out of backlog writes
    **Assignee:** <git user.name> into the file and commits move +
    claim atomically. Ownership travels with the card to every clone.
  • Boards sync — board commits push as they happen; a beat fetches
    and fast-forwards every 30s; remote moves appear in your ticker
    attributed to whoever made them. Same-card races resolve by git
    itself: one claim survives, the loser's board reverts with a toast
    naming who got there first. A piggyback guard refuses to push
    anything that isn't a board commit — your unpushed work is never
    published as a side effect.
  • Replica etiquette — state syncs, reactions don't: only the board
    whose user made a move opens the PR, launches the agent, runs the
    merge. Launching work on someone else's claimed card refuses
    politely; deliberate takeover stays two clicks away.

Everything gated and off by default: BOARD_COMMIT_MOVES=1 for
claims, BOARD_SYNC=1 for the full loop. An unconfigured bench is
still exactly the single-player tool 0.1 shipped.

Failures wear their state now

A launch that dies no longer vanishes into one ticker line: the card
wears an alarm run failed pill with the log's tail one hover away, a
toast fires, and a zero-commit worktree is cleared so relaunch is one
click. The same honesty landed across the chrome: the activity log's
resize grip actually resizes, card actions got stable click targets
with an instant busy state, and every agent now wears a model chip
beside its name — with per-intent model selection
(BOARD_AGENT_MODEL_WORK / _ACT_PR / _REVIEW) so reviews can ride
a cheaper brain than the one writing code.

Sharper small things

  • Every browser tab names its project — <project> · bench — so two
    benches stop impersonating each other.
  • The updated bench logo, in from the design file, in both themes.
  • ./install.py is executable in the artifact (0.1's first field bug
    report — found, fixed, and the class of bug now has a repair line in
    update.sh that heals existing installs on their next update).
  • CI runs the whole suite on every PR and push to main — Python 3.11
    and 3.13, green from its first run. Review cards' CI chips now
    report something real.

Install

mkdir .task-manager && curl -L https://github.com/12vectors/bench/releases/latest/download/bench.tar.gz | tar -xz -C .task-manager
./.task-manager/start.sh

Updating an existing install: ./.task-manager/update.sh — your
tasks, notes, settings and state survive; that promise is what the
whole release machinery exists to keep.


Still alpha: one project per board, GitHub-only forge (an adapter
seam for that is on the board as card 26), and team mode is
days old — run it with a teammate you like. File what you find as
cards; the archive shows where that leads.