Handoff MCP v0.34–0.35 — AI を並列に走らせても壊れない仕組み
リリース

Handoff MCP v0.34–0.35 — AI を並列に走らせても壊れない仕組み

git worktree で AI エージェントを並列稼働させるための基盤。タスク・メモリ・ドキュメントの共有ストレージ、リースによる排他制御、全体の俯瞰ビューを整備しました。

Handoff MCP v0.34–0.35 をリリースしました。AI エージェントの並列開発基盤がテーマです。

並列に走らせると何が起きるか

エージェントを複数同時に回せばタスクの消化は速くなります。ただし、そのまま走らせると問題が起きます。

  • 2つのエージェントが同じタスクに着手して片方が丸ごと無駄になる
  • テスト結果やドキュメントの更新が衝突して互いの変更を潰す
  • 各 worktree をひとつずつ覗かないと全体の進捗が分からない

v0.34–0.35 では、git worktree の仕組みに乗せてこれらを解消しました。

共有ストレージ

git worktree を追加すると、Handoff MCP がプライマリの .handoff/ を自動検出してシンボリックリンクで接続します。設定不要。

どの worktree からでも同じタスク・セッション・メモリ・ドキュメントにアクセスでき、ある worktree でタスクを完了すれば他からも即座に見えます。git submodule を worktree と誤認する問題も修正済みで、モノレポ構成でも安全です。

リースによるタスクの排他制御

handoff_claim_task でタスクのロックを取得します。flock で保護されたリース方式で、デフォルト TTL は 30 分。タスクを更新するたびに自動延長されるので、作業中にロックが切れることはまずありません。

エージェントがクラッシュしてリースを返せなかった場合は、load_context や dashboard の呼び出し時に自動で期限切れを検出し、タスクを todo に戻します。管理者が手動で外したいときは handoff_reclaim_task で強制解除できます。

エージェントの登録と俯瞰

handoff_load_context を呼ぶだけでエージェントが .handoff/agents/ に自動登録されます。ハートビートで active / stale / disconnected を分類し、7 日間応答がなければ自動 GC。

handoff_overview で全体を俯瞰できます。

  • エージェント一覧と接続状態
  • タスク × エージェントの claim マトリクス
  • worktree × ブランチ × セッションの対応表

作業範囲の競合検出

タスクに scope_paths を設定しておくと、handoff_claim_task 時に他のアクティブタスクと作業範囲が重なっていないか自動チェックします。ディレクトリの包含は info、ファイルの完全一致は warn。ロック自体は止めませんが、衝突の芽を事前に潰せます。

session-loop でのマルチ worktree 運用

config.toml で [worktree.session_loop] auto_assign = true を有効にすると、worktree の割り当てまで自動化されます。

  1. 待機タスクを機能単位にグルーピング
  2. 各 worktree でサブエージェントが並列に実装・テスト・レビュー
  3. rebase / merge / squash から選んでメインブランチに統合
  4. 使い終わった worktree を自動削除

イベントログ

.handoff/events.jsonl に claim / release / expired をはじめ、セッション作成・終了やエージェント登録のイベントを記録。handoff_events で since・task_id・agent_id・event_type によるフィルタ検索ができます。

変更一覧

v0.34.0 (2026-08-21)

  • マルチ worktree 共有ストレージ — プライマリの .handoff/ を自動検出・シンボリックリンク
  • タスク claim/release — flock リース(30 分 TTL、自動延長)
  • エージェント登録 — load_context で自動登録、ステータス分類、7 日 GC
  • handoff_list_agents — ステータスフィルタ、claim 中タスク表示
  • イベントログ — .handoff/events.jsonl
  • 期限切れリース自動回復 — 操作時に自動検出して todo に復帰
  • ダッシュボード拡張 — claim 状態、stale/expired 警告、エージェントセクション
  • バージョンマーカー — .handoff/version と不一致警告
  • [worktree] 設定 — handoff_root オーバーライド、auto_link トグル
  • 注意通知 — 他エージェントが持つタスクを更新しようとすると警告

v0.35.0 (2026-08-22)

  • セッションスコープ自動検出 — git worktree の関係から primary / worktree / ephemeral を推定
  • handoff_overview — エージェント・claim・worktree の横断ビュー
  • handoff_reclaim_task — リースの強制解除
  • 作業競合通知 — scope_paths の重複検出
  • handoff_events — イベントログのフィルタ検索
  • auto-schedule エージェント認識 — agent_capacity と ready_tasks
  • [worktree.session_loop] — auto_assign・merge_strategy・max_concurrent_wts・auto_cleanup
  • session-loop マルチ WT — グルーピング → 並列実行 → マージ → クリーンアップ

v0.35.1 (2026-08-25)

  • session-loop スキル分割 — 1173 行 → 463 行。巨大スキルが Claude の幻覚実行を引き起こしていた問題を修正

インストール・アップデート

npx handoff-mcp-server@latest

Claude Code のプラグインとして使っている場合:

/plugin install alphaelements/handoff-mcp

Handoff の実績ページを見る