Primary finding
`buy_shares` silently caps trade size, hiding the actual amount spent from the agent's UX
- backend/wonderwall/simulations/polymarket/platform.py:150-159
The agent requests $X, platform silently spends only $X * (max_trade / X). No warning is returned. `total_cost` in the response reflects the capped amount, but there’s no signal saying "your request was reduced". The agent's perceived behavior will diverge from its planning, and it’s easy for the LLM to repeatedly try to spend more than allowed without realizing it’s being throttled.
Recommendation
Either return an explicit `capped=True, requested=<x>, executed=<y>` field, or return an error and require the agent to retry with a valid amount.