Things we're aware of but haven't done yet.
- Hide
AuctionResult.top_bidfrom bot clients. Right now it's a field on the publicAuctionResulttable so anything that subscribes (including bots) sees both the winner's bid amount and what they paid. Standard Vickrey only needspaidto be public; revealingtop_bidleaks each winner's true valuation and undermines truth-telling. Keep it visible to the spectator UI for drama ("Brutus bid 22, paid 11") but strip it from anything a bot can read. Options:- Split the table: keep a public
AuctionResultwithwinner_bot_idandpaidonly; puttop_bidin a separate table that's behind an admin-gated view (the UI uses an admin-ish identity). - Or just drop
top_bidfrom the schema entirely and accept a less dramatic spectator UX.
- Split the table: keep a public
-
Gate
auction_tickandlobby_timeout_tickto the scheduler. They're currently callable by any client, which would let someone trigger a premature lobby resolution or auction close. Fine for a hackathon, not for a real deployment. -
Per-bot identity in
submit_bid/submit_wordis implicit. Bots authenticate via theirBotCredential. If a token leaks, the holder can do anything that bot can do. Token recovery means minting a new credential — the old one keeps working until you actively delete the row. We don't expose a "revoke credential" reducer yet.
-
Match views could show the lobby that produced them and link back. Right now there's no breadcrumb from
/matches/:idback to the lobby it came from. -
top_bidcolumn on the spectator UI Recent Auctions table — blocked on the bot-visibility fix above.