ランタイムウォークスルー
タスク入力からプラン出力までのエンドツーエンドランタイムタイムライン。
このウォークスルーは、初期キャプチャからファイル検出、プラン生成、ターミナル実行までの単一タスクを追跡します。各ステージは特定のジョブタイプにマップされ、SQLiteに保存されるアーティファクトを生成します。
ハイレベルランタイムシーケンス
- 1.ユーザーがTaskDescriptionEditorコンポーネントを介してデスクトップUIでタスクの説明を入力または音声入力。
- 2.オプション:text_improvementジョブがTextImprovementProcessorを通じて生の入力を洗練。
- 3.ユーザーが実装計画パネルのstart_file_finder_workflowコマンドを介してファイル検出ワークフローをトリガー。
- 4.desktop/src-tauri/src/jobs/workflow_orchestrator/のWorkflowOrchestratorがワークフローレコードを作成しステージ1をスケジュール。
- 5.ステージ1(root_folder_selection):RootFolderSelectionProcessorがディレクトリツリーをLLMに送信、選択されたルートをIntermediateData.selectedRootsに保存。
- 6.ステージ2(regex_file_filter):RegexFileFilterProcessorがパターンを生成、git ls-filesを実行、マッチをIntermediateData.locallyFilteredFilesに保存。
- 7.ステージ3(file_relevance_assessment):FileRelevanceAssessmentProcessorがファイル内容をチャンキング、関連性をスコアリング、IntermediateData.aiFilteredFilesに保存。
- 8.ステージ4(extended_path_finder):ExtendedPathFinderProcessorがインポートと依存関係でコンテキストを拡張、IntermediateData.verifiedPathsに保存。
- 9.UIがevent_emitter.rs経由でworkflow-completedイベントを受信、ファイル選択表示を更新。
- 10.ユーザーがgenerate_implementation_planコマンドを介して選択されたファイルでプラン生成をトリガー。
- 11.desktop/src-tauri/src/jobs/processors/implementation_plan_processor.rsのImplementationPlanProcessorがjob:stream-progressイベントを介してXMLプラン内容をMonacoビューアにストリーミング。
- 12.ユーザーがVirtualizedCodeViewerコンポーネントでプランをレビュー、直接編集またはマージをリクエスト可能。
- 13.承認されたプランがコピーボタンテンプレートを介してターミナルにコピーされるか、外部エージェント用にエクスポート。
- 14.terminal_commands.rsのターミナルセッションがPTY出力をキャプチャし、エージェント注意状態を検出。
- 15.All artifacts persist in SQLite background_jobs and terminal_sessions tables for history and session recovery.
ランタイムタイムライン
タスク入力、ワークフローステージ、プラン出力を示すビジュアルタイムライン。
ジョブタイプマッピング
- text_improvement → TextImprovementProcessor → 洗練されたタスク説明
- root_folder_selection → RootFolderSelectionProcessor → 選択されたディレクトリ
- regex_file_filter → RegexFileFilterProcessor → パターンマッチしたファイル
- file_relevance_assessment → FileRelevanceAssessmentProcessor → スコアリングされたファイル
- extended_path_finder → ExtendedPathFinderProcessor → 拡張されたコンテキスト
- implementation_plan → ImplementationPlanProcessor → XML計画ドキュメント
- implementation_plan_merge → ImplementationPlanMergeProcessor → マージされた計画
Task input capture
Tasks enter the system through multiple input surfaces: typed text in TaskDescriptionEditor, voice dictation via useVoiceTranscription hook, or video analysis through VideoAnalysisDialog.
Each input type updates SQLite state: task_description in sessions and task_description_history, voice transcription inserts text into the session or terminal input, and video analysis responses are stored in background_jobs.
入力の洗練
text_improvementジョブタイプはTextImprovementProcessorを通じて生の入力を洗練し、テキストをXMLでラップしてLLMに送信し、文法、明確さ、構造の改善を行います。
洗練されたテキストはbackground_jobs.responseに保存され、Reactプロバイダー経由でsessions.task_descriptionを更新できます。
ファイル検出ワークフロー
FileFinderWorkflowは4つの連続ステージを実行します:root_folder_selectionがディレクトリを絞り込み、regex_file_filterがパターンを適用し、file_relevance_assessmentがコンテンツをスコアリングし、extended_path_finderが依存関係で拡張します。
各ステージは結果をプロセッサ間で渡されるIntermediateData構造体に保存し、最終的なファイル選択はsessions.included_filesに永続化されます。
計画生成
implementation_planジョブタイプはImplementationPlanProcessorを使用して、ファイルパス、操作タイプ、コード変更を含むplan_step要素を持つXMLフォーマットの計画を生成します。
計画コンテンツはjob:stream-progress Tauriイベント経由でUIにストリーミングされ、シンタックスハイライト付きでVirtualizedCodeViewer Monacoコンポーネントに表示されます。
計画のマージ
implementation_plan_mergeジョブはsource_plans XMLタグとユーザー提供のマージ指示を使用して複数の計画を結合し、競合を解決して変更を統合します。
マージされた計画はソース計画へのトレーサビリティを維持し、最終的なbackground_jobsレコードにmerged_fromメタデータを含みます。
Plan review
Plans open in the Monaco-based VirtualizedCodeViewer for review. Users can edit plan text directly, request modifications, or approve for execution.
Plan edits are persisted in background_jobs.response; signoff state is recorded in background_jobs.metadata.userSignoff.
実行ハンドオフ
承認された計画はコピーボタンテンプレート経由で統合ターミナルにコピーされるか、Claude Code、Cursor、Codexなどの外部エージェント用にエクスポートされます。
terminal_commands.rsのターミナルセッションはPTY出力をキャプチャし、エージェント注意状態を検出し、すべての実行アクティビティをterminal_sessionsテーブルにログ記録します。
状態の永続化
すべてのジョブアーティファクトはsession_id、task_type、status、prompt、response、トークン数、コスト追跡を含むbackground_jobsテーブルに永続化されます。
アプリ再起動時、RustコアがSQLiteからセッション状態を復元し、古い実行中ジョブを失敗としてマークし、ターミナル出力ログを復元します。