game_move_parse v1

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

Updated

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).

Verification

Task-internal validation and JSON schema checks per contract.json verification_policy.

Changelog

  • v1 — Maintained in catalog; see git history for semantic changes.

Examples

Minimal illustration (see sidecar examples for real payloads):

{}