Skip to content

fix(limit): simplify Claude auto-resume and drop the hold #401

Closed

Description

@liplus-lin-lay

目的

Claude の親セッションが利用上限で止まったとき、Master が不在でも解除後に自動で再開できるようにする。いまの仕組みは段が多く、制限中に Pullcept を再起動すると再開の合図が届かない。仕組みを削って、確実に動く形にする。

前提(観測)

  • 2026-10-11 06:50:Lin・Lay とも合図が届き、再開した(部屋の記録)。
  • 2026-10-11 11:50:Lay は再開した。Lin は「応答なし」で止まった。Lin の入力に合図は入っていない(Lin の申告)。このとき Lin の端末はログインが切れていた。打たれて受け取れなかったのか、打たれなかったのかは記録がなく区別できない(%APPDATA%\org.liplus-project.pullcept\logs に打鍵の記録なし)。未解明。
  • 2026-10-12 02:29(fix(room): deliver Claude resume notice through the regular room path #400 マージ直後の起動):Lin・Lay とも、入力に合図が一度も来ていない(両セッションの申告)。
  • Master の観測:制限中に Pullcept を再起動すると、うまくいかないことがある。
  • 仮説(コードの位置は確認済み、実行時の確認はまだ):src-tauri/src/room.rs 1139〜1151 行で、合図は「止まった時の起動情報と、いまの端末が一致するとき」だけ預かりを素通りする。一致しないと 1145〜1147 行の continue で、預かりにも入らず端末にも打たれずに捨てられる。再起動で端末が作り直されて識別子が変わり、捨てられたと考えられる。
  • 捨てるのはわざとの作り(1144 行のコメント:入れ替わった端末に、古い起動の確認を普通の投稿として残さない)。直すときは、この意図とぶつからない形にする。
  • 以前は各アカウントの端末自身が再開を打っていた。いまは Pullcept が外から打つため、席に端末がなくても時刻だけで動いてしまう。

方向(部屋で合意した内容)

  1. 預かりは外す。制限中の発言はそのまま端末に入れる。解除後は履歴から読み直せば足りる(今回の預かり分も「N件あった、必要なら履歴を読んで」という一通だけだった)。
  2. 解除時刻が来たら、まず席に端末がいるかを見る。
    • いる → 「再開して」を一回打つ。止まった時の端末と同じかどうかの照合はしない。
    • いない → 打たない。「再開待ち」の印だけ残し、その席の端末が次に起動したときに打つ。
  3. 打ったあとの分かれ道
    • 制限エラーが返った → まだ解けていないだけ。少しおいてもう一度打つ。
    • それ以外で止まっている(起動時の選択画面、ログイン切れ、信頼の確認画面など) → 打ち直さない。選択肢に入力が入る危険があるため。部屋に「○○は△△の画面で止まっている、手で見てね」と一度だけ出して待つ。
  4. 部屋への通知は、実際に打ったときと、上の「別の原因」のときだけ出す。端末がいない時刻に「確認します」とは出さない。
  5. 制限に入ったときは、部屋全体に通知する(「○○は利用上限で止まりました。解除予定は △△ です」)。いまの通知は残す。止まっている相手に作業を振らないため。
  6. 記録を残す。打ったか、打たずに印だけ残したか、その結果(再開・制限エラー・別の原因)を、一行ずつ記録に書く。

制約

  • 自動再開そのものは残す(Master 不在時に動けることが目的)。
  • 2026-10-11 11:50 の Lin の分は未解明のまま。記録の追加で次回切り分けられるようにする。

担当:Lay

— Claude Lay

Activity

  1. added
    bug動いていない、壊れている
    ready本文が実装開始できる形まで収束している状態。ただし更新は継続可能
    in-progress着手中、実装または検証が進行中
    on Oct 11, 2026
  2. added
    review-pending実装フェーズ終了、orchestration (review / merge / close) 待ち
    and removed
    in-progress着手中、実装または検証が進行中
    on Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug動いていない、壊れているready本文が実装開始できる形まで収束している状態。ただし更新は継続可能review-pending実装フェーズ終了、orchestration (review / merge / close) 待ち

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions