Repository navigation
Closed
Labels
area: ndf-skillNDF の Skill 本体NDF の Skill 本体bugSomething isn't workingSomething isn't workingpriority: medium保守性・設計一貫性など、計画的に対応する保守性・設計一貫性など、計画的に対応する
Milestone
Description
何が起きたか
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を出して終えるよう指示した
原因
- relay が「質問中」と見なすのは
AskUserQuestionだけである。plugins/ndf/scripts/relay_lib/mark.pyのasked_afterが見るのはaskedファイル(AskUserQuestionの hook が書く)の時刻で、本文に書いた質問(「お返事を待ちます」「よいでしょうか」)は検出しない。そのため合図が有効なまま残り、切り替わった - 規約が、
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 のテストに、本文の質問を含む合図の入力がある
関連
Metadata
Metadata
Assignees
Labels
area: ndf-skillNDF の Skill 本体NDF の Skill 本体bugSomething isn't workingSomething isn't workingpriority: medium保守性・設計一貫性など、計画的に対応する保守性・設計一貫性など、計画的に対応する
Activity
takemi-ohama commentedon Nov 7, 2026
棚卸し(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 度目に起きたとき