mcpField
W
war-room-checkpoint

war-room-checkpoint

github.com/atholaエージェントワークフロー343109 回インストール1 日前に更新
リポジトリ

war-room-checkpoint について

コマンド内の重要な判断点で可逆性を評価し、War Room による本格的な検討が必要かを判定するスキルです。他のコマンドから呼び出され、エスカレーション不要なら短い推奨を返します。

主な機能

  1. 015つの観点による可逆性評価
  2. 02プロファイルに応じた検討モード選択
  3. 03簡潔な推奨または War Room への移行
  4. 04構造化されたチェックポイント応答
  5. 05チェックポイントとセッションの監査記録

活用シーン

  1. 01課題の実行順序の評価
  2. 02PR レビューでの相反する指摘への対応
  3. 03アーキテクチャ判断の評価
  4. 04変更に検討が必要かの判定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/athola/claude-night-market --skill war-room-checkpoint

インストール後、Claude Code で/war-room-checkpointを入力して読み込まれたか確認します。

詳細

ウォールーム・チェックポイントスキル

コマンド内の判断ポイントで、ウォールームへのエスカレーションが必要かを判断する軽量なインライン評価です。

検証

リポジトリのルートから make attune-test を実行し、変更後もチェックポイントのロジックが機能することを検証してください。

目的

このスキルはユーザーが直接呼び出すものではありません。他のコマンド(例:/do-issue、/pr-review)によって、重要な判断ポイントで呼び出され、次の処理を行います。

  1. 現在のコンテキストの可逆性スコア(RS)を算出する
  2. 本格的なウォールームでの審議が必要かを判断する
  3. 簡易な推奨(エクスプレス)を返すか、本格的なウォールームにエスカレーションする

コマンドから呼び出すタイミング

コマンドトリガー条件
/do-issue3 件以上のイシュー、依存関係の競合、ファイルの重複
/pr-reviewブロッキングイシューが 3 件超、アーキテクチャの変更、ADR 違反
/architecture-reviewADR 違反、高い結合度、境界違反
/fix-pr大規模な変更範囲、レビュアーのフィードバックの競合

使用しない場合

状況代わりに使用
ユーザーが直接、審議を求めているSkill(attune:war-room)
判断を容易にやり直せる(RS が高い)チェックポイントを設けずに進める
この判断についてパネルがすでに結論を出している先の判定

このスキルは、審議が必要かどうかを判断し、不要な場合は迅速に応答します。すべての判断でチェックポイントを設けるコマンドは、ほぼ毎回「そのまま進める」という回答を受け取るためにスコアリングのコストを支払い、すでに決着した判断を再チェックポイントすると、再び議論することになります。

呼び出しパターン

Skill(attune:war-room-checkpoint) with context:
  - source_command: "{calling_command}"
  - decision_needed: "{human_readable_question}"
  - files_affected: [{list_of_files}]
  - issues_involved: [{issue_numbers}] (if applicable)
  - blocking_items: [{type, description}] (if applicable)
  - conflict_description: "{summary}" (if applicable)
  - profile: "default" | "startup" | "regulated" | "fast" | "cautious"

チェックポイントのフロー

ステップ 1:コンテキストの分析

提示されたコンテキストを分析し、次の情報を抽出します。

  • 変更の範囲(影響を受けるファイル、モジュール、サービス)
  • 影響を受ける関係者
  • 競合の兆候
  • 時間的制約を示す兆候
ステップ 2:可逆性の評価

5 つの次元からなるフレームワークを使用して RS を算出します。

次元評価の質問
元に戻すコストこの判断を元に戻すのはどれほど難しいですか?
時間的な固定度これはすぐに確定しますか?
影響範囲影響を受けるコンポーネントや人はどれくらいいますか?
情報の損失将来の選択肢を狭めますか?
評判への影響外部から見えるものですか?

各項目を 1~5 で採点し、RS = 合計 / 25 を算出します。

ステップ 3:モードの選択

プロファイルのしきい値を適用してモードを決定します。

if RS <= profile.express_ceiling:
    mode = "express"
elif RS <= profile.lightweight_ceiling:
    mode = "lightweight"
elif RS <= profile.full_council_ceiling:
    mode = "full_council"
else:
    mode = "delphi"
ステップ 4:応答の生成
エクスプレスモード(RS <= しきい値)

推奨をただちに返します。

response:
  should_escalate: false
  selected_mode: "express"
  reversibility_score: {rs}
  decision_type: "Type 2"
  recommendation: "{quick_recommendation}"
  rationale: "{brief_explanation}"
  confidence: 0.9
  requires_user_confirmation: false
エスカレーションモード(RS > しきい値)

本格的なウォールームを呼び出し、結果を返します。

response:
  should_escalate: true
  selected_mode: "{lightweight|full_council|delphi}"
  reversibility_score: {rs}
  decision_type: "{Type 1B|1A|1A+}"
  war_room_session_id: "{session_id}"
  orders: ["{order_1}", "{order_2}"]
  rationale: "{war_room_rationale}"
  confidence: {calculated_confidence}
  requires_user_confirmation: {true_if_confidence_low}

信頼度の算出

エスカレーションする判断では、自動続行の信頼度を算出します。

confidence = 1.0
- 0.10 * dissenting_view_count
- 0.20 if voting_margin < 0.3
- 0.15 if RS > 0.80
- 0.10 if novel_domain
- 0.10 if compound_decision
+ 0.20 if unanimous (cap at 1.0)

requires_user_confirmation = (confidence <= 0.8)

プロファイルのしきい値

プロファイルエクスプレス軽量全体会議用途
default0.400.600.80バランス型
startup0.550.750.90スピード重視
regulated0.250.450.65コンプライアンス
fast0.500.700.90スピード優先
cautious0.300.500.70より慎重な対応
コマンド固有の調整
コマンド調整理由
do-issue(3 件以上のイシュー)-0.10複数のイシューがあるとリスクが高まる
pr-review(厳格モード)-0.15厳格モードでは、より厳しい精査が必要
architecture-review-0.05アーキテクチャは本質的に重大な影響を伴う

出力形式

呼び出し元コマンド向け

呼び出し元コマンドが処理できる構造化レスポンスを返します。

## Checkpoint Response

**Source**: {source_command}
**Decision**: {decision_needed}

### Assessment
- **RS**: {reversibility_score} ({decision_type})
- **Mode**: {selected_mode}
- **Escalated**: {yes|no}

### Recommendation
{recommendation_or_orders}

### Control Flow
- **Confidence**: {confidence}
- **Auto-continue**: {yes|no}
{user_prompt_if_needed}

統合に関する注意事項

呼び出し元コマンドで行うこと
  1. チェックポイントの応答にある requires_user_confirmation を確認する
  2. true の場合:確認プロンプトを表示して待機する
  3. false の場合:orders または recommendation に従って続行する
  4. チェックポイントを監査証跡に記録する
失敗時の処理

チェックポイントの呼び出しに失敗した場合:

  • コンテキストとともに警告を記録する
  • チェックポイントなしでコマンドの実行を続ける
  • ユーザーのワークフローをブロックしない

監査証跡

チェックポイントは次の場所に記録されます。

~/.claude/memory-palace/strategeion/checkpoints/{date}/{checkpoint-id}.json

各ファイルには、次の項目を含む CheckpointEntry が記録されます。checkpoint_id、session_id、phase、 action、reversibility_score、dimensions、confidence、files_affected、および requires_user_confirmation です。

ウォールームセッションが完了し、persist_session() が呼び出されると、次の場所に監査レポートが 自動的に書き込まれます。

~/.claude/memory-palace/strategeion/war-table/{session-id}/audit-report.json

レポートには、セッションのすべてのチェックポイント、専門家パネル、全会一致スコアを含む投票の 概要、エスカレーション履歴、最終決定とその理由、および Merkle-DAG の整合性検証ブロックが まとめられます。検証では、保存された値と照合して各ノードのハッシュを再計算するため、 審議内容への改ざんを検出できます。

プログラムからチェックポイントを照会したりレポートを生成したりするには、 scripts.war_room.audit_trail の AuditTrailManager を使用します。

from scripts.war_room.audit_trail import AuditTrailManager
manager = AuditTrailManager()
checkpoints = manager.get_checkpoints("war-room-20260303-100000")
audited = manager.list_audited_sessions()

例

例 1:RS が低い場合(簡易対応)

入力:

source_command: "do-issue"
decision_needed: "Execution order for issues #101, #102"
issues_involved: [101, 102]
files_affected: ["src/utils/helper.py", "tests/test_helper.py"]

評価:

  • 可逆性コスト:1(コミットを取り消せます)
  • 時間的制約:1(期限なし)
  • 影響範囲:1(単一のユーティリティモジュール)
  • 情報損失:1(すべての選択肢を保持)
  • 評判への影響:1(内部)

RS:0.20(タイプ 2)

応答:

should_escalate: false
selected_mode: "express"
recommendation: "Execute in parallel - no dependencies detected"
confidence: 0.95
requires_user_confirmation: false
例 2:RS が高い場合(エスカレーション)

入力:

source_command: "pr-review"
decision_needed: "Review verdict for PR #456"
blocking_items:
  - {type: "architecture", description: "New service without ADR"}
  - {type: "breaking", description: "API contract change"}
  - {type: "security", description: "Auth flow modification"}
  - {type: "scope", description: "Unrelated payment refactor"}
files_affected: ["src/auth/", "src/api/", "src/payment/", "src/services/new/"]

評価:

  • 可逆性コスト:4(複数のサービスに影響)
  • 時間的制約:3(PR の期限によるプレッシャー)
  • 影響範囲:4(複数のチームに影響)
  • 情報損失:3(一部の選択肢が失われつつある)
  • 評判への影響:2(内部レビュー)

RS:0.64(タイプ 1A)

応答:

should_escalate: true
selected_mode: "full_council"
war_room_session_id: "war-room-20260125-143025"
orders:
  - "Split PR: auth changes separate from payment refactor"
  - "Require ADR for new service before merge"
  - "API change: add migration path, not blocking"
confidence: 0.75
requires_user_confirmation: true

関連スキル

  • Skill(attune:war-room) - ウォールームでの完全な審議
  • Skill(attune:war-room)/modules/reversibility-assessment.md - RS フレームワーク

関連コマンド

  • /attune:war-room - 単独でのウォールーム呼び出し
  • /do-issue - イシューの実装(このチェックポイントを使用)
  • /pr-review - PR レビュー(このチェックポイントを使用)
  • /architecture-review - アーキテクチャレビュー(このチェックポイントを使用)
  • /fix-pr - PR の修正(このチェックポイントを使用)

完了条件

  • 必須フィールドをすべて含む構造化されたチェックポイント応答が返されます。必須フィールドは、reversibility_score (0.0~1.0)、selected_mode(express / lightweight / full_council / delphi)、should_escalate (ブール値)、および recommendation または orders です。
  • reversibility_score がプロファイルのしきい値を超える応答では、should_escalate: true が設定され、応答を返す前に Skill(attune:war-room) を通じて完全なウォールームが開始されます。
  • confidence が 0.8 以下の応答では、requires_user_confirmation: true が設定され、自動で処理を続行するのではなく、 ユーザーに確認プロンプトが表示されます。
  • チェックポイントは ~/.claude/memory-palace/strategeion/checkpoints/{date}/{checkpoint-id}.json に記録されます。この書き込みに 失敗した場合、呼び出し元のコマンドは処理を続行し、ワークフローを停止する代わりに警告を記録します。

コメント