Handoff MCP v0.20 — 見積もり要件の一貫適用とセッション実行のプロファイル化
リリース

Handoff MCP v0.20 — 見積もり要件の一貫適用とセッション実行のプロファイル化

これまで一括インポート/一括更新が見積もり要件をすり抜けていたのを塞ぎました。session-execute には express / standard / full の3プロファイルを追加し、クラッシュを成功と数えていた不具合も直しています。マーケットプレイス版プラグインがスキルを配信するようになりました。

Handoff MCP v0.20.0 をお知らせします。見積もり要件をすべての書き込み口で揃えたこと、セッション実行ワークフローの深さを選べるようにしたこと、そしてマーケットプレイス版プラグインがスキルを配信しなかった不具合の修正が中心です。今回は破壊的変更を含みます。

見積もり要件の抜け穴を塞ぎました

リーフタスクを todo / in_progress / review / done に置くときは見積もり(schedule.estimate_hours)が必要——このルールは handoff_update_task では以前から効いていました。しかし一括系のツールはこれをすり抜けていたため、まとめて書けば要件を回避できてしまっていました。

  • handoff_import_context(破壊的変更) — 見積もりのないリーフタスクのインポートを、update_task と同じ基準で拒否するようにしました。ペイロード全体を書き込み前に検証するので、1件でも弾かれればタスクは一つも作られず、タスクID も消費しません。エラーは問題のタスクを名指しし、そのまま送り直せる JSON 例を返します。
  • handoff_bulk_update_tasks(破壊的変更) — 見積もりのないリーフタスクを要件のあるステータスへ移す更新を拒否します。拒否は errors[] にタスク単位で載り、バッチ内の他の更新はそのまま適用されます。

親タスク(children を持つもの)と、blocked / skipped の2ステータスは従来どおり対象外です。過去の done タスクを見積もりなしで取り込みたい場合は settings.require_estimate_hours = false で無効化できます。

あわせて、循環依存を書き込めてしまう不具合も直しました。インポートしたタスク同士、あるいは既存タスクとの間で閉じたループを作る依存関係を、書き込み前にまとめて検出します。

session-execute にプロファイルを導入

これまで /session-loop は毎回「開発 → テスト → レビュー」の3段を回していました。v0.20 では深さを選べるようにしています。

  • express — 開発者のみ(1ターン)
  • standard — 開発 → テスト(2ターン)
  • full — 開発 → テスト → レビュー(3ターン、従来の挙動)

profile を省略すると standard になります(破壊的変更)。従来どおり3段回したい場合は profile: 'full' を明示してください。どのプロファイルでもプロジェクトの品質ゲート(テスト・型チェック等)は開発者が必ず通します。express が落とすのは敵対的レビューの層であって、ゲートそのものではありません。

推論の強度もプロファイルに紐づけました。express の開発者は medium、テスターとレビュアーは high のままです——深いプロファイルが対価を払っているのは、この敵対的な層だからです。

session-execute の信頼性に関する修正

「緑になった」という結果が実際に検証を伴っているか、そこを詰めました。

  • テスターがクラッシュしても成功と数えていたため、検証ゼロでセッションが承認され得ました。クラッシュ・空・パース不能はすべてラウンドを失敗にします。
  • レビュアーのレポート雛形に含まれる **verdict**: APPROVE | REQUEST_CHANGES の行を承認判定が拾い、自己承認が起きていました。判定は文面マッチではなく構造化出力の型付きフィールドに変えています。
  • 開発者エージェントがクラッシュしても passed: true を返していた不具合を修正。レポートを返さない開発者はどのプロファイルでもセッションを失敗させます。
  • バンドルしたタスクID(t1+t2)の + が正規表現の量指定子として解釈され、リワークのフィードバックが届いていませんでした。IDをエスケープし、t1t12 の指摘を横取りしないよう完全一致で照合します。

マーケットプレイス版プラグインがスキルを配信するように

handoff-mcp プラグインは5つのスキル(handoff, handoff-load, handoff-memory, handoff-refer, handoff-import)を謳っていながら、実際には同梱していませんでした。/plugin install で MCP サーバーは入っても、それを動かすスキルが入らない状態です。

claude plugin details handoff-mcp@handoff-mcp-marketplaceSkills (0) ではなく Skills (5) を返すようになりました。既存の環境は /plugin update handoff-mcp@handoff-mcp-marketplace のあと再起動すれば取り込めます。

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

npx handoff-mcp-server@latest

Claude Code のプラグインとして使っている場合は、/plugin install alphaelements/handoff-mcp で最新版に追従できます。

Handoff の実績ページを見る