Dashboard¶
Set open_dashboard=True in ExperimentConfig to open a live browser dashboard during experiments.
Enabling¶
config = ExperimentConfig(
game_id="ultimatum",
num_matches=10,
open_dashboard=True,
dashboard_port=8765, # default port
)
The dashboard opens automatically at http://127.0.0.1:8765 and polls for updates every 800ms.
What it shows¶
Summary section¶
The dashboard adapts its metrics to the game being played:
Ultimatum:
- Deals / No-deal — how many matches reached agreement
- Mean shares — average deal amount per agent (agreements only)
- Mean utility (share - v) — average utility per agent (agreements only)
First-price auction:
- Resolved / Timed out — how many auctions completed vs expired
- Mean bids — average bid per agent (resolved only)
- Mean utility (valuation - bid) — average utility per agent (resolved only)
Match details¶
Click on any match to expand its event trace: every message, action, and outcome.
Visibility info tooltips¶
Each message and action event has a small (i) icon on the right. Hover over it to see a tooltip explaining what information is visible and to whom. Tooltips are game-aware — every action type across all games has a specific description:
Messages:
- Public: "Visible to all agents"
- Private: "Visible to: alice, bob" (lists actual recipients)
First-price auction:
submit_bid: "Bid value is sealed (hidden from others) / Only revealed in final outcome"
Ultimatum:
submit_offer: "Offer visible to all agents / Reservation values are private"reject: "Clears pending acceptances"
Bilateral trade:
propose: "In competitive mode: only initiator sees all proposals / Providers only see their own"accept_delivery: "Triggers payment release"dispute_delivery: "Triggers dispute resolution"
Provision point:
submit_commitment: "Binding — deducted from endowment / Private valuations remain hidden"signal_intent: "Non-binding (cheap talk)"
Principal-agent:
reject_contract: "Game ends, all payoffs = 0"record_outcome_score: "Score visible to all agents / Determines final payment"
Private messages additionally show a yellow left border and a PRIVATE badge inline.
Live match¶
While a match is running, the dashboard shows a live event stream for active matches with the same visibility tooltips.