このプロジェクトについて

Stageflowは、設定可能なマルチステージのエージェントワークフロー向けのオープンソースランタイムである。パイプラインはプロジェクト所有のYAML(`*.pipeline.yaml`、`*.task.yaml`、任意の`stageflow.yaml`マニフェスト)として記述され、各ステージは新しいエージェントセッションで実行され、型付きエンベロープとアーティファクトを通じてコンテキストを後段へ引き渡す。Piが現在のエージェント実行バックエンドである。パッケージは`sf`と`stageflow`のバイナリをインストールし、Node.js 20以降を必要とする。 本プロジェクトは、エージェントではなくステージを合成の単位として位置づけている。スケジューラがオーケストレーションのセマンティクスを担い、DAGの実行可能判定、有界並列性、ファンアウトとジョイン、条件ルーティング、リトライ、スキップされたブランチ、再開可能なヒューマンゲートを管理する。エージェント実行は`AgentPort`抽象の背後に置かれ、Stageflow側がパイプライン状態、ステージワークスペース、ハンドオフ検証、およびCLI・コンソール・MCP・CIが利用するインターフェースを管理する。実行状態はSQLiteでgitルート配下の`.stageflow/`に永続化され、実行ごとのワークスペースは`.stageflow/runs/`配下に置かれる。グローバル設定と認証情報は`~/.stageflow/`配下に保存される。 READMEに記載された主な機能には、`write_stage_artifact`と`emit_stage_envelope`による型付きエンベロープのハンドオフ、後段フェーズの`verify`チェックと`on_verify_fail`による修復または手動リカバリーを備えた検証付きステージ実行、実行の待機中にCIが終了コード2で終了するヒューマンインザループのゲートが含まれる。`http://127.0.0.1:3847`で動作するローカルオペレーターコンソールは、実行のトリアージ、プロバイダー接続、ゲートへの返答、トランスクリプトの検査をサポートする。`sf ui`または`sf mcp`の実行中は、Streamable HTTP経由で`/mcp`にMCPエンドポイントが公開され、`wait_run`、`answer_gate`、`list_waiting`、`decide_feedback_loop`といったHITL対応ツールが利用できる。 ヘッドレスおよびCIでの利用は`sf validate --strict --json`と`sf run --json`でサポートされ、終了コードは0が成功、1が失敗またはビジー、2が待機中として文書化されている。プロバイダー認証はコンソールまたは`sf providers`コマンドで設定でき、認証情報はPiの共有認証ファイル(`pi_home`)またはStageflow独自のストア(`sf_owned`)のいずれかに保存される。READMEは、StageflowがSDLCツールではないことを明示している。ソフトウェアデリバリーは一般的なサンプルパターンだが、ステージはユーザーが記述するものでありドメインに依存しない。 リポジトリにはMicrosoft Conductorとの比較が含まれており、Stageflowを、レビュー可能なエンベロープとオペレーターコンソールを備えた、ユーザーが記述するワークフロー向けのステージ単位のPi実行として位置づけ、Conductor側は多数のエージェントにまたがる決定論的なYAMLルーティングとして対比している。サンプルパイプラインは、hello-world、オペレーターゲート付きのプランレビュー、条件付きフォークルーティング、ステージMCP、Playwright MCP、Context7 MCP、GitHubリリースドラフト作成、MCPファーストのHITLツアー、CI検証をカバーする。ドキュメントはアーキテクチャ、クイックスタート、YAMLスキーマ、CLIリファレンス、エンベロープ、HITL、CI、MCP、プロバイダー、オペレーターコンソールを網羅している。本プロジェクトはMITライセンスで提供されている。