Changes for version 0.402 - 2026-08-04
- New board-level opt-out from automated agent runs: `karr disable [--reason "why"]` / `karr enable`. Unlike the per-machine .karr file the flag is board state (`foundation.enabled` in refs/karr/config), so it syncs with the board and every karr-foundation instance on every machine honours it. karr-foundation checks it first — before agent-command resolution and before the drain decision — and skips a disabled board whole: no drain, no auto-block, no agent run. It therefore wins over --command, the config's default_command, the .karr `command` and `claude: true`, and --force does not override it. This closes the gap where a global `default_command` turned every discovered board into an agent board with no way for a repo to opt out. The same state is visible and settable through `karr config` (foundation.enabled / foundation.reason), and `karr-foundation --status` shows a disabled board with a `disabled` flag plus its reason.
- Shipped skill doc (share/claude-skill.md) caught up with the CLI: now documents the `karr show` variants (bare, --last, --me, --agent), WIP utilization in `karr board`, and wip_limits in the config example. A repo-hygiene test (t/62-skill-doc-sync.t) keeps it in sync with the in-repo copy of the skill so the two can no longer drift apart.
Documentation
Kanban Assignment & Responsibility Registry
Single-shot foundation daemon for periodic karr agent execution
Modules
Kanban Assignment & Responsibility Registry
Activity log writer for karr board operations
Ref-backed board storage for karr
Generate a random two-word agent name
Archive a task (soft-delete)
Export the ref-backed karr board as YAML
Show board summary
View or modify board configuration
Generate board context summary for embedding
Create a new task
Delete a task
Destroy the ref-backed karr board
Disable automated agent runs on this board
Modify an existing task
Re-enable automated agent runs on this board
Fetch helper payloads from a Git ref
Hand off a task for review
Import a tasks/ file view back into the ref-backed board
Initialize a new karr board
List tasks with filtering and sorting
Show activity log
Write the ref-backed board out as a tasks/ file view
Change a task's status
Atomically find and claim the next available task
Restore the ref-backed karr board from YAML
Store helper payloads in a Git ref
Show full details of a task
Install, check, and update bundled agent skills
Sync karr board with remote
Board configuration management
Single-shot foundation daemon — periodic agent execution across karr boards
karr-foundation read-only overview — multi-board status dashboard
karr-foundation command execution — fork/pipe/select tee + error classification
karr-foundation per-repo state — lock file, JSON state, cooldown backoff
Git operations for karr sync (native via Git::Native + libgit2, with a git-CLI transport fallback)
Lock management via Git refs
Role providing board discovery, sync lifecycle, and task access
Role providing minimal board discovery and config access
Shared claim timeout logic
Role providing option-aware CLI positional-argument parsing
Normalize MooX::Options option-parse errors to exit code 2 (ADR 0002)
Role providing common output format options
Role providing sync lifecycle with retry and guard insurance
Push guard with automatic retry on scope exit
Task object representing a single kanban card