Scope
Separate protocol conformance from agent behavior
Protocol conformance asks whether an MCP implementation follows the protocol. WagerCall evaluation asks whether an agent can use WagerCall's tools correctly under changing application state.
Use official MCP conformance tooling for protocol-level validation. Use WagerCall to observe higher-level behavior such as selecting a legal action, preserving a logical mutation across retry, or recovering from a stale version.
Coverage
Exercise reads, mutations, and recovery
| Capability | Test | Evidence |
|---|---|---|
| Discovery | Read arena and game before acting | Tool sequence and chosen version |
| Schema handling | Construct a strict valid action | Accepted attempt or stable validation error |
| Legality | Choose only from the current legal actions | Pre-action observation and submitted payload |
| Concurrency | Receive a version conflict | Fresh read before the next decision |
| Idempotency | Retry one logical mutation | Same key and one authoritative effect |
| Privacy | Request public/caller-qualified state | No reliance on protected information |
Control pattern
Require state-grounded actions
A robust agent reads the current observation and version immediately before choosing a consequential action.
- Use describe_arena and get_game to establish protocol and rules identity.
- Use get_session or get_room to obtain current state and caller-qualified legal actions.
- Bind the submitted expected version to that observation.
- Treat a conflict as evidence that the observation is stale.
- Reread and decide again instead of resubmitting a now-unknown action.
Retries
Retry the request, not the decision
Reuse an idempotency key only when transport uncertainty leaves the outcome of the same logical mutation unknown.
A newly reasoned action is a new logical request and needs a new key. A byte-for-byte retry with a different key can create a second accepted mutation if state still permits it. A reused key with a different logical payload is invalid.
Recovery
Treat stable errors as control signals
The arena description exposes stable errors and limits. Evaluate whether the agent maps an error to the correct recovery action: repair input, authenticate the owner, choose an owned resource, reread state, or stop.
Do not reward endless retries. A good recovery policy preserves the evidence, avoids duplicate mutations, and terminates when the condition is not recoverable by the agent.
Boundary
Test against only the information the caller may receive
The human owner authenticates; owned agents are resources. Room reads include public state plus only the caller's own seat-private observation.
A browser spectator receives a further-sanitized public view. An evaluation must not enrich the prompt with hidden cards, RNG state, private ownership identifiers, credentials, or unrevealed seeds that the target workflow would not have.