EXPERIMENTAL AGENT DIAGNOSTICS · V0.1
Every move
leaves evidence.
A small card game. A closer look at decision-making. See what an agent did, inspect what it could have done, and test a fix.
Working reference demo · Scripted agents · No account needed
They offer their
last piece of evidence.
THE WORKING EXPERIMENT
Run it. Inspect it. Compare it.
Built-in scripted examples.
No model or API key involved.
Reference report loaded. Run the checks to reproduce it.
Local greedy
A legal alternative avoided the immediate loss.
A legal action could have secured a win now.
Includes a loss that no legal move could prevent.
ONE CHANGE, SAME CASES
Check the outcome
before choosing the move.
The added check catches immediate consequences. These examples were designed to exercise that check.
No model ranking or full-game win rate is implied.
OPEN A DECISION FILE
Follow the evidence.
21 tactical checks + 15 controls.
Select a case, then inspect its three variations.
The last object
An opponent offers their last scandalous object. You can deny or redirect it.
| Player | Evidence on the table | Scandalous |
|---|---|---|
| P1 | secret photo | 1 |
| P2 THIS AGENT | spare keyhush money | 2 |
| P3 | spare keyalibi | 1 |
| P4 | hush moneyhush money | 2 |
P2’s hand at decision timeGIFT · EXCHANGE · DENY · REDIRECTOther players’ hands are hidden.
Gift at decision time: P1 → P2 · 1 secret photo object(s)
Redirect to P3
P1 wins immediately.
No immediate winner. Play continues.
Immediate loss was preventable
The selected action gives an opponent an immediate win. At least one legal alternative prevents that immediate loss; it does not guarantee a later win.
DENY keeps the bundle with its sender. REDIRECT still removes it from the sender.
A change to testCheck whether resolving a gift would end the game before choosing a defense.
We verify the consequence, not the agent’s internal reason. Alternative outcomes are one-step checks; they do not predict the rest of the game.
Inspect the recorded observation & action
Exact input to the scripted agent, submitted action, and deterministic state fingerprints. No opponent hands or future draws are included.
{
"observationHash": "4375e29c6fdca2a8960fdc358c87ff76b1290605d8ea2d5a8e51c6b647b6665e",
"preStateHash": "48627f37e438d70b2b921f66e0fc40bcb65b6ab4626d9bf11949ac0849c29d15",
"observation": {
"config": {
"rulesVersion": "0.1-test-baseline",
"rulesStatus": "provisional-test-baseline",
"objectCounts": {
"SECRET_PHOTO": 6,
"HUSH_MONEY": 6,
"SPARE_KEY": 6,
"SIGNED_LETTER": 6,
"VOICE_RECORDER": 5,
"SIGNET_RING": 5,
"ALIBI": 2
},
"actionCounts": {
"GIFT": 26,
"EXCHANGE": 12,
"DENY": 6,
"REDIRECT": 4
},
"objectsPerPlayer": 5,
"handSize": 4,
"substituteOnlyWithoutGift": true,
"substituteCost": 2,
"allowAlibiTransfer": true,
"turnCap": 300
},
"configHash": "fb821756987d5860b5c44f3f7d62b2e8ef2569055d1148d265eb2f86362285f5",
"seat": 1,
"ownHand": [
{
"id": "a4",
"type": "GIFT"
},
{
"id": "a35",
"type": "EXCHANGE"
},
{
"id": "a43",
"type": "DENY"
},
{
"id": "a46",
"type": "REDIRECT"
}
],
"players": [
{
"id": "P1",
"objects": [
{
"id": "o5",
"type": "SECRET_PHOTO"
}
],
"handSize": 3,
"scandalousCount": 1
},
{
"id": "P2",
"objects": [
{
"id": "o17",
"type": "SPARE_KEY"
},
{
"id": "o7",
"type": "HUSH_MONEY"
}
],
"handSize": 4,
"scandalousCount": 2
},
{
"id": "P3",
"objects": [
{
"id": "o14",
"type": "SPARE_KEY"
},
{
"id": "o36",
"type": "ALIBI"
}
],
"handSize": 4,
"scandalousCount": 1
},
{
"id": "P4",
"objects": [
{
"id": "o10",
"type": "HUSH_MONEY"
},
{
"id": "o9",
"type": "HUSH_MONEY"
}
],
"handSize": 4,
"scandalousCount": 2
}
],
"activeSeat": 0,
"startSeat": 0,
"phase": "AWAIT_RESPONSE",
"turn": 1,
"moveId": 1,
"pending": {
"sender": 0,
"recipient": 1,
"objectType": "SECRET_PHOTO",
"bundleIds": [
"o5"
],
"spentSeats": [
0
],
"initiatingAction": {
"kind": "GIFT",
"costCardIds": [
"a20"
],
"objectType": "SECRET_PHOTO",
"target": "P2"
}
},
"result": null,
"drawCount": 32,
"discardCount": 1,
"unusedCount": 29,
"latestSpent": [
{
"id": "a20",
"type": "GIFT"
}
],
"legalActions": [
{
"kind": "ACCEPT"
},
{
"kind": "DENY",
"costCardIds": [
"a43"
]
},
{
"kind": "REDIRECT",
"costCardIds": [
"a46"
],
"target": "P3"
},
{
"kind": "REDIRECT",
"costCardIds": [
"a46"
],
"target": "P4"
}
]
},
"submittedAction": {
"kind": "REDIRECT",
"costCardIds": [
"a46"
],
"target": "P3"
},
"chosen": {
"action": {
"kind": "REDIRECT",
"costCardIds": [
"a46"
],
"target": "P3"
},
"label": "Redirect to P3",
"outcome": "loss",
"winners": [
"P1"
],
"counts": [
{
"player": "P1",
"scandalous": 0,
"objects": []
},
{
"player": "P2",
"scandalous": 2,
"objects": [
{
"id": "o17",
"type": "SPARE_KEY"
},
{
"id": "o7",
"type": "HUSH_MONEY"
}
]
},
{
"player": "P3",
"scandalous": 2,
"objects": [
{
"id": "o14",
"type": "SPARE_KEY"
},
{
"id": "o36",
"type": "ALIBI"
},
{
"id": "o5",
"type": "SECRET_PHOTO"
}
]
},
{
"player": "P4",
"scandalous": 2,
"objects": [
{
"id": "o10",
"type": "HUSH_MONEY"
},
{
"id": "o9",
"type": "HUSH_MONEY"
}
]
}
],
"postStateHash": "f471630573b5f8681e55c7e756270a391236e23be07f8d9fe3800687c0aa49e9"
},
"verdict": "avoidable-loss"
}022ee2e418e2f6c97833a9af907fa35dfc68df09aa2bf2b347c6a90b341146ddarena-diagnostics-v0.1 · rules 0.1-test-baselineTHE SMALL PRINT, IN PLAIN SIGHT
Know what the result means.
Get rid of the evidence.
Public object cards sit in front of each player. Action cards are private. Give away a matching bundle, exchange objects, or respond to a gift. You win when no scandalous objects remain. ALIBI does not count against you.
One decision at a time.
These are 36 synthetic positions across 12 families. Three variations rotate seats and ordinary object types; one also reverses the action menu. All use provisional rules 0.1-test-baseline. They are not completed games or a random sample of play.
Consequences we can verify.
The engine checks each legal alternative for an immediate outcome. A gift awaiting a response is not counted as a secured win. An unavoidable loss receives no error finding. Passing a check says nothing about optimal long-term strategy.
A deliberately small fix.
Both examples are deterministic programs, not AI models. The second adds an observation-only check for immediate wins and losses. Both receive a state snapshot and legal-action menu. These tests do not measure memory or independent rule discovery.
Calibration, not a leaderboard.
The agents and cases were developed together. These public checks are not held out, and 36 related variations are not 36 independent trials. There are no confidence intervals, model rankings, or general-intelligence scores attached to this demonstration.
Bring an agent. Test a hypothesis.
External-agent connections through MCP/API, fresh held-out cases, and matched full-game trials are the next stage. They are not available in this release. The source download includes the observation format and local evaluation entry point.
Game-based evaluation builds on work such as GameBench and TextArena. Our explanations distinguish observable consequences from internal reasoning, a limitation explored by Turpin et al. These papers motivate the approach; they do not validate this suite.
A game you can play.
An experiment you can inspect.
The Arena is a new diagnostic prototype. Our earlier playtest is a separate exploratory study, with its original results and limitations intact.