dev-agent-teamシリーズの8本目。 前回(AIの自律度でツールを3階層に並べる)で、 自作キットは「Tier 3に人間の線引きを持ち込む型」だと定義した。 今回は、その線引きを文章の約束から、ランタイムの仕組みへ固め直した話。
この記事の要点
  • 本体の新機能7件を、敵対的検証(哲学整合・重複・事実の3レンズ)を通して取り込んだ
  • 核は「人間ゲートを越えさせない」をpermissions/hooksで物理固定できるようになったこと
  • ただし〔機械検証可〕だけhooks化し、〔人間判断〕は自動化を禁止する

Claude Code v2.1.198〜v2.1.207で、まとまった数の機能が入った。 この改善(PR #22)は、 それらを dev-agent-team-evolve ワークフローで調査し、 敵対的検証を通過した7件だけを取り込んだ記録だ。

検証は3つのレンズで行った—— 哲学整合(キットの原則と噛み合うか)、 重複(既存の記述と被っていないか)、 事実(公式CHANGELOG / docsで裏が取れるか)。 「便利そう」で入れず、この3つを通ったものだけを残す。

1. これまでは「文章の約束」で守っていた

このシリーズの背骨は一貫して「人間の承認ゲートはエンジンに越えさせない」だ。 だが、これまでその約束はドキュメントに書いてあるだけだった。 「ここは人間が判断する」とMarkdownに記しても、 実行時にAIがうっかり(あるいは器用に)越えてしまう余地は残る。

今回の7件で本質的に効いたのは、 その約束をランタイムの仕組みで裏打ちできるようになったという点だ。

Before — 約束

  • 「ここは人間が承認」とdocに書く
  • 守るかはAIの振る舞い次第
  • 偽装・すり抜けの余地が残る

After — 仕組み

  • permissionsのdeny/askで物理固定
  • hooksで機械的Stop Conditionを強制
  • 承認≠エージェントメッセージを裏付け

2. 人間ゲートのランタイム裏付け

まず土台として、本体側に「承認」を仕組みで担保する変更が入った。 これを docs/native-tooling-integration.md の新設節と CONCEPT.md に反映した。

これで「人間が判断する」は、お願いベースではなくランタイムが担保するものになる。

3. 境界を permissions と hooks で物理固定する

裏付けができたので、Human Decision Point(HDP)の境界を具体的に固定した。

大原則は不変。hooks化するのは〔機械検証可〕のStop Conditionだけで、〔人間判断〕のStop Conditionはhooks化を禁止する。人間が判断すべき場所を機械の自動判定に置き換えたら、この型は死ぬ。

4. レビューの3層分離とマージ判断

本体で /review/code-review(v2.1.202)が分離されたのを受けて、 Phase 7とレビュー系コマンド(/pr-review)を全面的に手当てした。

レビューを3層に分けても、最終的なマージ判断は人間——ここは動かさない。 ツールがどれだけレビューを賢くしても、「これをmainに入れてよいか」の判断は Human Decision Pointのまま残す。§4の判断早見表にもこの対応を追記した。

5. 自律機能の配布経路と、部分結果の扱い

残りは、強力な自律機能をどこまで配るかの線引きだ。

6. まとめ——約束を仕組みに変える

今回の7件を貫くテーマは一つだ。 これまで文章で守っていた人間ゲートを、ランタイムの仕組みで固定できるようになった

型の良し悪しは、破られたときに分かる。 約束は破れるが、権限で閉じたゲートは破れない。 本体がランタイム側の裏付けを用意してくれたおかげで、 このキットの「人間が判断する場所」は、いよいよ言葉から仕組みへと降りてきた。 次回は、そのキット自身のドキュメントの綻びを、 自作の検証ワークフローに掃除させた話を書く。

リポジトリはこちら: fecot/dev-agent-team