AskUserQuestion の自由入力(その他) (2026-08-12)
ユーザー報告: 「AskUserQuestionで自由入力欄がない」。
ツールの上流仕様は「ユーザーは常に『その他』を選んで自由テキストで回答できる」と 約束している。選択肢しか描画しない現行カードはその約束を欠いていた。
1. 回線の事実
Section titled “1. 回線の事実”パネルの回答送信は updatedInput.answers = { <質問文>: <文字列> }(02b §5 で検証済みの形)。
値はただの文字列なので、自由入力は既存の配線にそのまま載る。multiSelect の
カンマ結合が「上流未検証」マーカー付きで出荷されている前例と同じ位置づけになる。
未検証で残っている主張: 選択肢に無い任意文字列がその slot を通ってモデルに届くこと。
検証プローブ(scratchpad/probe_freetext.js — haiku に2択で質問させ、どちらでもない
自由文で回答し、返答に反映されるか見る)は用意済みだが、CLI が再びログアウト状態
(loggedIn:false)で実行できない。再認証後にプローブ → 合格でリリースタグ、の順。
2. 設計(Claude Desktop 準拠)
Section titled “2. 設計(Claude Desktop 準拠)”- 各質問の選択肢の末尾に合成の「その他…」ボタン(見た目は通常の選択肢と同じ +
--otherクラス)と、選択時のみ表示されるテキスト欄。 - 単一選択: その他と実選択肢は排他。テキスト非空で初めて回答済み。選択・入力中は 自動前進しない(入力中に画面が切り替わるのを防ぐ)。Enter が「入力し終えた」の 明示的な合図で、非空なら次の未回答へ前進する。
- multiSelect: その他はチェックと共存し、非空のときだけ結合ラベルの末尾に加わる。 Enter は前進しない(まだ選び終えていない可能性がある)。
- 送信値は Trim + SanitizeForDisplay 後の素のテキスト(接頭辞なし)。判定と送信が 同じ「有効テキスト」を共有するので、絵文字だけの入力が Submit を有効にしながら 空文字を送る、という食い違いは構造的に起きない。
- その他の選択を外すとテキストは破棄する(見えない状態で保持して後で復活するのは 不可視状態であり、このプロジェクトの欠陥クラス)。
- サンドボックス 2049 tests / 0 failed(その他まわり11件を含む)。
- 本番エディタで実物の4問リクエストに対し: その他ボタン4・欄4(選択まで非表示)、 実 Clickable 経由のクリックで欄が出現、自由文「Emerald green with tiny gold flecks」が 回答ペイロードの該当質問の値としてそのまま載ることを確認(他の質問は選択肢ラベル)。
- 残: 回線プローブ(上記)。再認証待ち。