forge-lcdl

game_move_parse v1

One JSON object with required status in selected | ambiguous | illegal_or_unmatched:

Invariants

  • Any move_id or list entry produced from this task must appear verbatim in caller-supplied legal_moves. Invented ids are SchemaFailure at validation.

Input

Field Type Notes
player_view JSON object Seat-filtered projection; see hidden-info note below
legal_moves non-empty list Each entry must include move_id; optional label, action_type, args echoes
utterance string NL to classify
timeout_sec, temperature optional Pass-through knobs

Output

One JSON object with required status in selected | ambiguous | illegal_or_unmatched:

  • selected: move_id (one input id), confidence in [0,1] (not boolean / NaN), optional reason
  • ambiguous: candidate_move_ids non-empty duplicate-free subset of legal ids; optional reason
  • illegal_or_unmatched: suggested_move_ids subset (may empty); optional reason

Hidden information

Orchestrator must populate player_view so undisclosed opponent secrets never appear under public/private for the active seat unless product policy intentionally allows (private is still visible to prompts—exclude sensitive material).