ランタイムモデル
Studio、セッションランタイム、プロバイダー、ツール、メモリ、補助サービスの責任分担を確認します。
Studio ホストプロセス
一つのユーザーレベル Studio プロセスが複数リポジトリのルートセッションをホストできます。各アクティブセッションはモデルターン、エージェント、実行イベント、対話状態を所有します。ブラウザ接続が切れても実行は継続し、同じセッションでは一つのターンだけが動きますが、異なるセッションは並行実行できます。
非公開のループバックエンドポイント上で管理対象 Gateway 子プロセスも監督します。プロバイダー設定は保存済みワークスペース状態とプロセス寿命を結び付けずに置き換えられます。
ワークスペースランタイム
ファイルツールのルートは選択したルートセッションに登録されたディレクトリです。読み取りと編集にはパス検証と古い内容のアンカーチェックを使います。シェルコマンドはそのワークスペースから開始しますが、OS サンドボックスではありません。
任意の LSP セッションもルートに制限され、モデルからは読み取り専用です。q は診断、hover、定義、参照、シンボルを提供し、サーバーからの編集要求は拒否します。
永続サービス
q は永続状態の責任を分離します。
| コンポーネント | 責任 |
|---|---|
| Workspace Memory | タスク履歴、レコード、ワークスペース検索インデックス |
| Global Library | 共有スキル、proposition、判定キュー |
| Loom | 大きなツール結果の不変キャプチャ |
| Usage サービス | トークンイベント、集計、アーカイブ、ダッシュボードデータ |
Studio と互換クライアントは必要に応じてこれらのサービスを確保します。サービスコマンドで一部のサービスをブラウザ UI と独立して実行し続けることもできます。
境界が重要な理由
複数の q プロセスは選択中のチャットセッションやライブのプロバイダー会話を共有せずに永続サービスを共有できます。プロセスロックは一つのセッションを所有し、同じワークスペースの別セッションは並行実行できます。
派生インデックスは交換可能です。JSON レコードが正本で、Bleve と HNSW データは再構築できます。