The local-command contract
The driver's contract again, for the chores that belong to one checkout rather than to the app: migrations, reseeds, asset rebuilds. An executable in manager/local/commands/ becomes a chip on every card with a branch.
Projects grow chores that belong to a specific checkout — applying a
branch's DB migrations, reseeding, rebuilding assets. Those are
local commands: executables in manager/local/commands/, surfaced as
$-glyph chips on cards that have a branch (in progress and review) and
run against that task's worktree (recreated from the branch if needed).
The contract mirrors the driver's: env in (CMD_WORKTREE, CMD_BRANCH,
CMD_TASK, CMD_REPO), output to a log under local/state/commands/,
and the ticker narrates the ending either way with the log's last line.
A # help: line near the top of the script becomes the chip's tooltip.
Commands arm on first click and run on the second.