Skip to content

状態管理

概要

すべてのパイプライン状態は Go MCPサーバーforge-state)を通じて管理され、47の型付きツールコールを公開しています。状態はワークスペースディレクトリ内の state.json に永続化されます。

ステートマシン

state.json の構造

state.json の主要フィールド:

フィールド説明
specNameワークスペース名(例:20260320-fix-auth
workspace.specs/{specName}/ のフルパス
status現在のステータス:initializedin_progresscompletedfailedabandoned
currentPhaseアクティブなフェーズID(例:phase-3checkpoint-a
effort工数レベル:SML(XSはサポート外)
flowTemplate選択されたテンプレート:lightstandardfull
branchGitブランチ名
autoApproveブーリアン、--auto フラグで設定(デフォルト:false
phasesフェーズレコードの配列(ステータス、タイムスタンプ、ログ)
tasksタスクレコードの配列(実装/レビューステータス)
revisionsアーティファクトごとのリビジョンカウンター
skippedPhasesフローテンプレートによりスキップされたフェーズ(例:["phase-4b", "checkpoint-b", "phase-7"]
phaseLogフェーズメトリクスの配列:{phase, tokens, duration_ms, model, timestamp}

MCPツールカテゴリ

Go MCPサーバーは8カテゴリにわたって 47の型付きツールコール を公開しています:

カテゴリツール数説明
ライフサイクル5パイプラインの初期化と進行(initpipeline_initpipeline_next_action など)
フェーズ管理6フェーズ遷移(phase_startphase_completecheckpointabandon など)
リビジョン制御4APPROVE/REVISEサイクル管理(revision_bumpinline_revision_bump など)
設定7ランタイム設定(set_effortset_auto_approveset_branch など)
タスク管理2タスクごとの追跡(task_inittask_update
メトリクス & クエリ9状態クエリ、履歴検索、BM25パターンマッチング
分析3パイプライン統計とコスト予測
バリデーション & ユーティリティ8入力/アーティファクトバリデーション、AST分析、依存グラフ

完全なツールリファレンスは MCPツール を参照してください。

MCPハンドラーガード

MCPサーバーは以下のガードを決定論的に強制します(フック経由ではなく):

ガードツール条件
アーティファクト必須phase_complete期待されるアーティファクトファイルが欠落している場合ブロック
チェックポイント必須phase_completeawaiting_human ステータスが設定されていない場合ブロック
フェーズ順序phase_start前のフェーズが完了していない場合ブロック

Released under the MIT License.