Skip to content

relay: ndf-next と同じ応答に書いた質問を待たずに会話を切り替える #1286

Closed

Description

@takemi-ohama

何が起きたか

2026-09-26 21:11 JST(セッション 12)に、conductor が利用者への質問(#1133 の書き直しの向きでよいか)と ndf-next のブロックを 同じ応答に 書いた。relay は 32 秒後の 21:11:40 にセッションを切り替えた(ended_by: mark)。利用者は質問に答える前に会話を切られ、「会話を続けている最中に再起動が掛かった」と受け取った。

  • relay のログ: ~/.local/state/ndf/relay/20260925T155545Z-7500-96642060/log.jsonl(section: 12 の end と section: 13 の start)
  • セッション 12 の記録: ~/.claude/projects/-work-ai-plugins/1f268663-7d8b-46ad-866d-d5df73cc2b65.jsonl(12:11:08Z の応答)
  • きっかけ: コンテキスト量の hook(token-guard.sh)が 208,387 トークンで Bash の起動を止め、ndf-next を出して終えるよう指示した

原因

  1. relay が「質問中」と見なすのは AskUserQuestion だけである。 plugins/ndf/scripts/relay_lib/mark.py の asked_after が見るのは asked ファイル(AskUserQuestion の hook が書く)の時刻で、本文に書いた質問(「お返事を待ちます」「よいでしょうか」)は検出しない。そのため合図が有効なまま残り、切り替わった
  2. 規約が、ndf-next を出す応答で質問することを禁じていない。 plugins/ndf/skills/development-workflow/references/context-window.md の「新しい会話で戻す」は、ブロックの前に承認・確認を挟まないと定める。しかし、同じ応答に答えを待つ質問を書くことは禁じていない

直し方の候補

案 得 失
A. relay 側で、合図を含む応答の本文に質問があれば切り替えを見送る 規約を守らない応答でも止まる 本文の質問の判定はヒューリスティックになり、誤検知すると切り替わらない(MVV の Value 4「再起動で利用者の手を止めない」とぶつかる)
B. context-window.md に「ndf-next を出す応答では質問しない。答えが要る問いは AskUserQuestion で出し、答えを受けてから合図を出す。上限で切るしかないときは、問いを引継ぎ文書へ書き、次の会話の最初に AskUserQuestion で出す」を足す 決定論で、relay の既存の仕組み(asked)に乗る 規約を読まない応答は防げない
C. B に加え、relay_lib/mark.py の cmd_mark で、合図を含む応答が ?・「ですか」・「でしょうか」・「お返事を待」で終わる文を持つとき mark_skipped(reason question)として記録だけ残す 規約の破りを後から数えられる 見送りはしないので、切り替わること自体は防げない

推奨は B(必要なら C を足す)。

受け入れ条件

  • ndf-next を出す応答で答えを待つ質問をしないことが、context-window.md の規約に書かれている
  • 上限で切るとき、保留の問いは次の会話の最初に AskUserQuestion で再び示される(引継ぎ文書の書き方を含む)
  • (A か C を採るとき)relay のテストに、本文の質問を含む合図の入力がある

関連

Activity

  1. added
    bugSomething isn't working
    priority: medium保守性・設計一貫性など、計画的に対応する
    on Sep 26, 2026
  2. takemi-ohama commented on Nov 7, 2026

    @takemi-ohama
    ContributorAuthor

    棚卸し(2026-11-07 の見直し)で、直っていることを確かめて閉じます。

    受け入れ条件 1・2 は plugins/ndf/skills/development-workflow/references/context-window.md(カットポイントでは確認を挟まずにブロックを出して終える)と references/handoff.md の手順 1(質問待ちを保留として残し、次のセッションが出し直す)にある(develop fc7e794 で確認)。受け入れ条件 3 は案 A・C を採るときだけの条件で、採っていない。再び考える条件: ndf-next と同じ応答に書いた質問で会話が切り替わった事例が 2 度目に起きたとき

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

    area: ndf-skillNDF の Skill 本体bugSomething isn't workingpriority: medium保守性・設計一貫性など、計画的に対応する

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions