forge-lcdl

game_move_explain v1

Single JSON object:

Invariants

  • Returned move_id must equal selected_move_id verbatim (post-parse check).
  • The model discusses only legal_moves content; selected_move_id is validated before any LLM call.

Input

Field Type Notes
player_view JSON object Seat-filtered projection
legal_moves non-empty list Rows include move_id (plus optional echoes)
selected_move_id string Must be legal before chat
utterance, temperature, timeout_sec optional Extra context

Output

Single JSON object:

  • move_id — duplicates selected_move_id
  • explanation — non-empty prose
  • facts_used — list of strings
  • caveats — list of strings

Hidden information

Do not place opponent secrets in player_view fields when wiring prompts; treat private as model-visible only when policy allows.