Handbook
game_move_rank v1
Parsed JSON subset returned to callers:
Invariants
- Every
move_idinranked_movesmust be copied from callerlegal_moves(subset allowed). ranked_movesis non-empty;rankintegers are1..keach exactly once forkrows.confidencevalues are numeric in[0,1](not boolean / NaN).
Input
| Field | Type | Notes |
|---|---|---|
player_view |
JSON object | Seat-filtered projection |
legal_moves |
non-empty list | Minimum move_id per row |
objective |
string | Strategic goal description |
heuristic_scores |
JSON object | Keys ⊆ legal move_id; numeric values ; may omit keys |
style |
string | balanced | aggressive | defensive | teaching |
temperature, timeout_sec |
optional | Knobs |
Output
Parsed JSON subset returned to callers:
| Field | Content |
|---|---|
ranked_moves |
{move_id, rank, confidence, reason} rows |
overall_plan |
string summary |
risk_notes |
list of strings |
Hidden information
Only encode information in player_view + legal_moves that the active seat may know; heuristic keys must likewise avoid undisclosed futures.