Agents¶
Agents represent decision makers such as players, bots, or scripted actors. The Agent class provides a convenience wrapper whose think(engine) method can return an action decision or whose run(engine) method can perform work. Decisions ultimately need to use engine.dispatch().
The Engine's agent:* actions maintain the replicated doc.agents map for game state such as agent records, resources, and cards. This CRDT registry is separate from the legacy Agent convenience wrapper and its own session/space bindings; do not assume the two objects are interchangeable.
An agent is not an authority. A local or remote agent can propose a move, but rules and policies determine whether that move is valid. CRDT convergence alone does not make an agent honest or prevent cheating.