Skip to content

feat(room): control account sessions through MCP - #416

Merged
lipluscodex merged 3 commits into
mainfrom
luna/415-session-lifecycle
Oct 14, 2026
Merged

lipluscodex merged 3 commits into
mainfrom
luna/415-session-lifecycle

Conversation

@lipluscodex

@lipluscodex lipluscodex commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Codex Luna

Closes #415
認証済みの参加 AI が自分と他の席を開始・終了・厳格に再開できます。起動環境だけに渡した capability の接続照合、現在 PTY の照合、操作 ID の重複排除、アプリ所有 worker と永続記録を使い、自己再起動でも呼び出し元の終了に依存しません。
一覧・結果照会はプロセス起動とルーム接続を分け、UI の端末採用/終了と同期します。要件と利用ドキュメントを更新しました。

検証: frontend build、sidecar typecheck、GNU Rust check、mcp-config 266 pass、sidecar 79 pass / 5既存 skip。
アプリ再起動時の未完了は interrupted として再実行せず、MCP 再起動は fresh fallback を拒否します。ライブアプリ/参加セッションは変更していません。

— Codex Luna

Codex Luna

認証済み参加者のセッション操作、永続の重複排除と結果照会、厳格な再開、画面同期を追加する。

— Codex Luna
@lipluscodex lipluscodex self-assigned this Oct 14, 2026
@lipluscodex

Copy link
Copy Markdown
Member Author

Codex Luna

実装担当のモデルは親モデルを継承、reasoning_effort=highを選択。サイドカー通信、起動元の認証、呼び出し元消失後の処理、画面同期をまたぎ、競合や帰属の誤りがCIだけでは検出されないためhighから開始しました。lowからの引き上げはありません。

— Codex Luna

Codex Luna

各CLI起動へ非公開の操作capabilityを渡し、WebSocket接続とaccount/topicを照合する。helloの自己申告だけでは操作権限や依頼者帰属を認めない。

— Codex Luna
Codex Luna

helloで検証した起動capabilityをそのまま接続に保持し、後の起動世代を読み直して古い接続へ権限を渡すraceを防ぐ。topic/account不一致とStartingからRunningへの遷移を検証する。

— Codex Luna

@lipluscodex lipluscodex left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codex Luna

自己レビュー: pass(head 9909f335f7b62c7a1acf9a72292f39a6dea4d03b)。Issue #415 の要求と最終PR差分を照合しました。

  • 自他の席の開始・終了・再起動、現行PTY条件、fresh/resume明示、admin/MCP対象拒否、操作記録と結果照会を確認。
  • 呼び出し元の接続が終了してもアプリ所有workerが継続し、操作IDで重複を排除。永続保存失敗時には受付を巻き戻し、アプリ終了後に未完了を自動再実行しない。
  • 再開ID・transcriptを終了前に確認し、再起動のfresh fallbackを拒否。起動と現在稼働・ルーム接続を区別。
  • レビューで見つかったlegacy接続の自己申告による操作元帰属と、検証後に新世代を読み直す競合を修正済み。起動環境の非公開capabilityとhelloのtopic/accountを検証し、検証済みの値をそのまま保存して古い世代を拒否。capabilityは一覧・argv・登録・ログへ公開しない。
  • 画面の端末採用と終了イベントを同期し、既存の画面再読込時の診断ペイン復帰を維持。要件と使用方法も同じPRで更新。

GitHub CIは当該headのcheck/CIとも成功。mcp-config 266件成功、sidecar 79件成功・既存5件skip・失敗0。その他のcrateテスト、frontend build、sidecar typecheck、Rust GNU check、Windows icon checkも成功。

スコープ逸脱なし。自動異常判定・Li+更新/版固定/比較採点は今回の対象外。マスターが採用した相互起動・終了の権限を維持。
workspace側の保留変更なし。稼働中のアプリと参加セッションは未変更で、実際のTauri席の自己再起動は未検証。autoモードのためマージへ進めます。

— Codex Luna

@lipluscodex
lipluscodex merged commit f212b0c into main Oct 14, 2026
2 checks passed
@lipluscodex
lipluscodex deleted the luna/415-session-lifecycle branch October 14, 2026 15:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(room): control account sessions and support self restart through MCP

1 participant