Skip to content

Yard v0.2.0

Choose a tag to compare

@zzunkie zzunkie released this 12 Jun 06:18
· 60 commits to main since this release

Added

  • Parallel queue. The auto-drain can run up to max_parallel independent
    tasks at once, each in its own git worktree on branch yard/<task-id>
    (yard run --auto --parallel N, the Settings screen, or
    max_parallel in .agents/yard.yaml). Workers run in parallel; queue state
    keeps a single writer; results merge back sequentially, and a conflict drops
    the task to Partial with its worktree kept for inspection. Design:
    docs/parallel-queue.md.
  • Task dependencies. Tasks carry depends_on; the planner is asked to cut
    tasks coarse along scope boundaries and mark only genuine output
    dependencies. Yard sanitizes plans to backward references (no self/forward/
    unknown ids, no cycles) and scheduling skips tasks with unmet dependencies.
  • Crash recovery for planning. Plan runs record their mode + request up
    front and a consumed marker once derived; a restart (TUI startup, auto-drain,
    or the new yard recover) consumes a planning result the previous session
    paid for but never read — including run dirs created by older versions.
  • yard recover. One command to recover an interrupted session: unread
    plans, finished orphaned runs (worktree runs get merged back), and
    interrupted tasks requeued.
  • TUI. Run Monitor follows every running task (tab row + Tab/←→ switching
    when parallel), Settings exposes "Parallel tasks", and the auto-drain
    reports gated-vs-drained queues accurately.
  • CI. GitHub Actions: cargo fmt --check + clippy -D warnings gate and
    build/test on Ubuntu and macOS.

Fixed

  • Orphan recovery is worktree-aware: a finished parallel run found on startup
    is merged into the workspace instead of leaving its changes stranded.
  • Planning results are no longer lost when Yard exits mid-plan.