Handoff MCP v0.38–0.42 — 要件の起草から検証・承認・報告まで、全部回す
リリース

Handoff MCP v0.38–0.42 — 要件の起草から検証・承認・報告まで、全部回す

追跡できるだけでは足りなかった。承認ワークフロー、要件のツリー分解、検証の一括管理、レポート自動生成、そして要件の起草自体をマルチエージェントで品質担保。V-model が実プロジェクトで使える形になりました。

Handoff MCP v0.38 から v0.42 までの更新をまとめてお知らせします。

v0.36–0.37 で「要件とコードの対応を追跡する」仕組みは入りました。ただ、実際にプロジェクトで使おうとすると、追跡だけでは全然足りません。この要件は誰が承認したのか。大きな要件をどう分解するか。検証結果はどこにまとまっているのか。追跡だけあっても、承認・分解・検証結果の管理が揃っていなければ、要件のライフサイクルは回りません。今回の5バージョンは、その穴を埋めるリリースです。

承認ワークフロー (v0.38)

要件や仕様の各項目に draft → review → approved の3段階承認が付きました。approved にすると承認者・日時・定義のハッシュが記録されます。

ポイントは、承認後に定義を変えると自動で draft に戻ること。うっかり書き換えても古い承認がそのまま残り続ける、ということが起きません。ハッシュの変化を検知して自動ロールバックするので、手動で取り消す手間もなし。

タスクの完了判定にも連動していて、リンク先の要件が draft のままだと完了をブロック(または警告)します。

項目ごとの検証要件と担当者

  • needs — この項目にはどの検証レイヤーが必要か、項目単位で宣言できます。プロファイルのデフォルトとは別に、特定の項目だけ受入テストを免除したり、追加のシステムテストを要求したり。
  • assignee — 担当者名簿のキーを紐づけて、trace_next(assignee="...") で自分の担当だけ絞り込めます。

要件をツリーで分解する (v0.41)

大きな要件を検証可能な粒度まで分解するのは要件管理の基本ですが、フラットなリストだと構造が見えません。v0.41 で同一レイヤー内に parent 属性 が使えるようになり、何階層でも分解できるようになりました。

REQ-AUTH(グループ)
├── REQ-AUTH-001 認証方式 (decision)
│   ├── [パスワード] REQ-AUTH-001-PW
│   └── [OAuth]     REQ-AUTH-001-OA
├── REQ-AUTH-002 セッション管理 (leaf)
└── REQ-AUTH-003 権限モデル (group)
    ├── REQ-AUTH-003-R ロール定義 (leaf)
    └── REQ-AUTH-003-P パーミッション (leaf)
  • kind で leaf(テスト可能な末端)、group(まとめ)、decision(2択分岐)、select(N択分岐)を区別。中間ノードの検証状態は子から自動集計。
  • condition ラベル で分岐の条件を表現。yes/no やケース名を付けられます。ラベルを変えると下流が suspect に。
  • trace_tree でツリー全体をネスト構造で読み取り、ノードごとの検証状態・進捗・suspect 数をサブツリー単位で集計。

17 の新 lint ルール(tree_cycle、empty_group、kind_conflict、condition_missing など)がツリー構造の不整合を検出します。

検証の一括管理とレポートエンジン (v0.38–v0.39)

テストを「やった・やってない」の単発記録で終わらせず、検証サイクルとしてまとめて管理できるようになりました。スコープを決めてチェックリストを生成し、全項目の結果を記録して、最後にレポートとして出力する——この一連の流れを一つの単位として扱います。

  • test_run create でスコープ内の項目からチェックリストを自動生成
  • 各項目に pass / fail / blocked / waived を記録、エビデンス(ファイルパス・スクリーンショット・キャプション)を添付
  • progress で消化率をリアルタイムに把握

検証サイクルの結果はレポートエンジン (handoff_report) で文書化できます。

レポート内容
Verification (R1)pass/fail 集計、レイヤー別カバレッジ、項目別結果とエビデンスリンク
Inspection (R2)承認済み検証サイクルからの検査証明書。非適合項目と是正タスク付き
Weekly (R3)今週/累計の完了タスク・工数・ブロッカー・検証進捗・マイルストーン
Effort (R5)工数集計(週/日/タスク/担当者)と見積 vs 実績の偏差テーブル

テンプレートは Handlebars ベースで、.handoff/templates/ に置けばカスタマイズ可能。レポート自体にも draft → submitted → approved の承認フローがあります。

プランからタスクまで自動でつなぐ (v0.40)

計画書(plan ドキュメント)をトレーサビリティの起点として扱えるようになりました。

  • doc_type 自動推論 — slug やタイトルから plan / spec / design 等を判定
  • scaffold_suggestions — プラン内でまだタスクに紐づいていない要件項目を、保存時に提示
  • schedule_stale — タスクやドキュメントの変更で自動スケジュールが古くなったことを検知
  • orphaned_tasks — 要件項目を削除したとき、リンクを失ったタスクを報告

タスクが完了すれば plan_update_needed がプラン項目の更新を提案し、auto_schedule はプラン内の order を見てタスクの優先順序を決めます。

要件の起草自体を品質管理する (v0.42)

ここまでは「書かれた要件をどう管理するか」でした。v0.42 では、要件を起草する段階にも品質管理をかけます。Requirement-loop ワークフローは4つのエージェントで回します。

  1. Worker — スコープごとに要件ドキュメントを起草。アーキテクチャ → 機能 → 条件分岐 → テスト可能な末端、と分解していく
  2. Checker — ISO/IEC/IEEE 29148 と ISO/IEC 25010 NFR チェックリストで品質チェック
  3. Reviewer — ドキュメント横断で重複・矛盾・欠落・粒度の一貫性をレビュー
  4. Registrar — 検証項目の生成(trace_scaffold)、タスク生成(trace_tasks)、lint の最終確認

session-loop もこの成果物を消費するようになり、計画書 → 要件 → タスク → 実装・テストが一本のパイプラインでつながります。

レイヤーのライフサイクル (v0.39)

各レイヤーに not_started → in_progress → under_review → verified → approved の5段階ステータスが付きました。verified は全項目パス&ギャップなしで自動判定。approved は明示的に設定します。承認後に検証状態が崩れれば自動降格。

project_status は全レイヤー中の最低ステータスを返し、全て approved になれば complete です。

その他の変更

  • AC-* ID 対応 (v0.39) — acceptance 層が AT-* に加えて AC-* 接頭辞も認識
  • Link validation (v0.40) — refines / verifies のレイヤー方向を作成時に検証、不正リンクを未然に防止
  • Quality lint (v0.38) — 曖昧表現 (ambiguous_word)、受入基準なし (missing_acceptance)、受動態 (passive_voice_hint) の検出
  • NFR チェックリスト (v0.42) — trace_lint(action="nfr_check") で ISO/IEC 25010 の8品質特性をチェック
  • GUI VRT skill (v0.42) — Playwright MCP + pixelmatch による4モードの視覚回帰テスト
  • スキル全面改訂 (v0.41.1) — handoff-requirements / handoff-trace / handoff-docs / handoff の4スキルをリライト
  • [trace.requirement_gate] — 要件ワークフローの品質ゲート設定(fail_on、required_checks、skip_checks)

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

npx handoff-mcp-server@latest

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

/plugin install alphaelements/handoff-mcp

Handoff の実績ページを見る