Repository navigation
v0.3.0 — Production Readiness
v0.3.0 — Production Readiness
162 commits across 6 phases. From a working prototype to a system that runs multi-hour autonomous sessions with dispatch safety, self-managing pipelines, and error resilience. 962 tests (up from 338 in v0.2.0).
Workflow Control Plane
Complete rework from message-inferred coordination to explicit workflow state. 12 new modules, 17 tasks, validated across solo/pair/manager-led/multi-manager topologies.
- Capability model — topology-independent planner/dispatcher/executor/reviewer/orchestrator roles
- Workflow state model — task lifecycle states, ownership types, dependency semantics, runnable/blocked criteria
- Orchestrator runtime — visible tmux pane for workflow decisions, orchestrated + non-orchestrated modes
- CLI/API control surface —
batty task create/update/assign/review/merge/archive/reworkcommands - Runnable-work resolver — compute runnable/blocked/review tasks from board state
- Review and merge state machine — explicit review disposition driving task transitions
- Structured completion packets — standardized engineer output with branch/commit/test/artifact evidence
- Dependency-aware nudges — state-based interventions targeting the correct role
- Workflow observability metrics — runnable count, blocked count, review age, idle-with-runnable signals
- Config-driven workflow policies — WIP limits, escalation thresholds, intervention toggles
- Cross-topology validation — validated across solo, pair, manager-led, multi-manager, renamed-role topologies
- Rollout modes — Legacy (default), Hybrid, WorkflowFirst with backward-compatible migration
Intelligence Layer
Self-aware team operations with periodic reporting, post-run analysis, failure detection, and reusable configurations.
- Periodic standups — configurable interval, board-aware content (assigned tasks, blocked items, review queue age), delivery via Telegram or file
- Run retrospectives — event log analyzer computes per-task cycle time, failure/retry counts, escalation frequency;
batty retroCLI command; auto-generates when all board tasks complete - Failure pattern detection — rolling window of failure events, repeated pattern detection (same engineer, same file, same error class), configurable threshold notifications
- Team templates —
batty export-templatesaves team config as reusable template,batty init --frombootstraps from saved templates
Operational Hardening
Targeted reliability fixes from dogfooding observations.
batty doctor— diagnostics command with worktree validation, branch consistency, board-git cross-reference,--fixfor safe automated cleanup- Daemon log rotation — automatic rotation and size management for daemon and event logs
- Resume decision logging — structured logs for stop/start resume decisions
- Prompt template refresh — battle-tested prompt updates for all roles
- Pipeline starvation detection — alert when idle engineers exceed available work
- Test deflaking — stabilized timing-sensitive tests
Hardened Runtime
Decomposed daemon.rs from 9,249 lines into dedicated modules. 62 tasks shipped.
- Module decomposition — merge, status, interventions, dispatch, delivery, launcher, telemetry, standup, retrospective, failure tracker, telegram bridge all extracted to dedicated modules
- Typed command layers —
GitCmdandBoardCmdwrappers replacing raw shell-outs - Delivery reliability — message delivery confirmation, retry with escalation, failed delivery tracking
- Agent lifecycle — context exhaustion detection, agent restart with re-injection, stuck task detection and escalation
- Board integrity — board-git consistency checks, orphan branch cleanup, auto-unblock stale dependencies, dependency visualization
- Daemon operations — hot-reload on binary change, graceful shutdown with state snapshot, startup preflight checks
- Observability — agent health summary, run cost estimation, task cycle time tracking, performance regression detection, machine-readable
batty status --json,batty export-run - Board CLI —
batty board list,batty board summary,batty inbox purge
Stability & Predictability
Integration tests, coverage expansion, nudge system, and error types. 20 tasks shipped.
- Integration test suite — harness for tmux-free daemon testing; triage, owned-task, review, dispatch, utilization intervention tests; multi-intervention choreography; edge cases
- Test coverage expansion — status.rs, doctor.rs, merge.rs, interventions.rs, nudge.rs, event log, config validation all covered
- Prompt-sourced nudges —
## Nudgesections in role prompts, combined nudge+intervention messages, per-role nudge intervals - Planning directives — configurable review/escalation/utilization guidance via markdown hooks in team config
- Domain error types —
GitError,BoardError,TmuxError,DeliveryErrorenums replacing anyhow in core paths
Production Readiness
Dispatch safety, pipeline self-management, agent flexibility, and error resilience for confident hands-off operation.
- Dispatch guard — block assignment to engineers with active board items (todo/in-progress/review)
- Ticket-scoped branches —
eng-1-N/<task_id>naming prevents branch collision across concurrent tasks - Board-aware dispatch queue — WIP enforcement, stabilization delay, worktree readiness checks, persisted queue state
- Board replenishment intervention — nudge architect when todo queue drops below threshold
- Pipeline starvation fix — board-aware idle counting, manager-working suppression, 5-minute hard cooldown
- Kiro agent backend — integrate kiro-cli as alternative agent alongside Claude Code and Codex
- Codex session resume — resume sessions by ID after context exhaustion
- Orchestrator log beautification — ANSI color coding by intervention type (triage/review/dispatch/escalation/utilization), visual hierarchy with dimmed timestamps and highlighted references
- Telegram delivery reliability — retry logic, connection handling, outbound message deduplication
- Unwrap cleanup — zero production unwraps in daemon.rs and task_loop.rs with regression guard tests
- Shell-out error context —
.context()on all external command invocations with command/args/purpose - Docs refresh — intervention docs, daemon module map, clippy cleanup, README update
Full changelog: v0.2.0...v0.3.0