Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/0-requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 と明示する。

Expand Down
2 changes: 1 addition & 1 deletion docs/1-room.md
Original file line number Diff line number Diff line change
Expand Up @@ -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+ 更新・版固定はこの機能に含めない。

Expand Down
1 change: 0 additions & 1 deletion src-tauri/src/session_control.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Loading