diff --git a/docs/0-requirements.md b/docs/0-requirements.md index 4284a70..76bbaab 100644 --- a/docs/0-requirements.md +++ b/docs/0-requirements.md @@ -146,7 +146,7 @@ Claude の親が利用上限で止まり、拒否が解除予定を名指して ### ルーム参加 AI によるセッション操作(#415) -稼働中の認証済み参加アカウントが、設定済みの起動可能アカウントを topic/account/current PTY ID で識別して開始・終了・再起動できる。自分以外の席も対象とし、人間 UI の操作を残す。任意コマンド API にせず、admin と MCP サーバーの起動は拒否する。起動の環境だけに渡す capability を接続で照合し、hello の account 自己申告だけを依頼者認証に使わない。依頼者・厳密な対象・結果/失敗理由を部屋に残す。 +稼働中の認証済み参加アカウントが、設定済みの起動可能アカウントを topic/account/current PTY ID で識別して開始・終了・再起動できる。自分以外の席も対象とし、人間 UI の操作を残す。任意コマンド API にせず、admin と MCP サーバーの起動は拒否する。起動の環境だけに渡す capability を接続で照合し、hello の account 自己申告だけを依頼者認証に使わない。依頼者・厳密な対象・結果/失敗理由を、実行結果のアプリ通知1通で部屋に残す。受付時には部屋へ投稿しない(#417)。 アプリが受付と結果を永続記録し、自己再起動で呼び出し元が消えても実行を続ける。同じ操作 ID の同一依頼は再実行せず、現行 PTY と異なる終了/再起動を拒否し、UI と起動排他を共有する。通信断は未確認、アプリ終了時の未完了は interrupted とし、次回起動で自動再実行しない。再起動は既存会話の厳格な再開に限定し、再開不能を新規へ置換しない。新規開始は fresh と明示する。 diff --git a/docs/1-room.md b/docs/1-room.md index c220614..fe3dff3 100644 --- a/docs/1-room.md +++ b/docs/1-room.md @@ -561,7 +561,7 @@ liplus-desktop の `stream_parser.rs` および `spawn_stream_pty` / `spawn_stre 状態は `accepted` → `running` → `process_started` / `stopped` / `failed`。開始成功はプロセスを作ったという意味で、`process_running` と `room_connected` を別に確認する。接続は同じアカウント名ではなく起動世代と接続で照合する。`stopped` は Pullcept の PTY 所有の解放と終了要求を示し、OS 上のプロセス消滅の検証ではない。再起動成功だけで Li+ 版や hook 読込を反映済みとは扱わず、新しい席本人が確認する。 -依頼者、対象 topic/account/expected PTY、操作、結果/理由は依頼者の部屋にアプリ通知として残し、画面にも失敗を出す。MCP から作った端末も既存の seat 読み直しで採用する。採用前の出力や旧端末の scrollback は再構築しない(画面再読込時と同じ制約)。 +依頼者、対象 topic/account/expected PTY、操作、結果/理由は、成功または失敗の実行結果のアプリ通知1通として依頼者の部屋に残す。受付時には部屋へ投稿せず、受付の永続記録と accepted/running の状態照会は維持する(#417)。画面にも失敗を出す。MCP から作った端末も既存の seat 読み直しで採用する。採用前の出力や旧端末の scrollback は再構築しない(画面再読込時と同じ制約)。 アプリ終了時と次回起動時に未完了の `accepted` / `running` を `interrupted` にし、自動再実行しない。強制終了時は最後に保存できた状態から判断する。完了保存が失敗した場合は画面のログエラーを確認し、実際の席を一覧で照会する。記録は保持し続けるため、app data の削除は重複排除の履歴も消す。自動の異常検出・相互停止規約・Li+ 更新・版固定はこの機能に含めない。 diff --git a/src-tauri/src/session_control.rs b/src-tauri/src/session_control.rs index ca1279b..e65f941 100644 --- a/src-tauri/src/session_control.rs +++ b/src-tauri/src/session_control.rs @@ -222,7 +222,6 @@ impl SessionControl { )? }; if is_new { - self.notice(app, &id); let worker_app = app.clone(); let worker_id = id.clone(); // Owned by the app runtime, never by serve_participant or a sidecar.