Skip to content

Model Dutch Blitz mechanics in Race Outlook#269

Closed
mwickett wants to merge 1 commit into
mwickett/history-blended-race-outlookfrom
mwickett/dutch-blitz-mechanics-forecast
Closed

Model Dutch Blitz mechanics in Race Outlook#269
mwickett wants to merge 1 commit into
mwickett/history-blended-race-outlookfrom
mwickett/dutch-blitz-mechanics-forecast

Conversation

@mwickett

@mwickett mwickett commented Jun 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Derive per-player cards-played and blitz-pile samples from actual round data
  • Use mechanics-aware sampling in the Monte Carlo forecast when cards/blitz data is available
  • Add next-round blitz-out win probability and 20+ point swing probability
  • Surface Blitz-out path and 20+ pt swing readouts in Race Outlook

Stack notes

Claude review

  • Claude reviewed the PR3 diff and found no blocking issues
  • Addressed its major fidelity finding by enforcing the existing GAME_RULES.MIN_CARDS_FOR_BLITZ minimum whenever a simulated round is a blitz
  • Added a regression test showing swing probability is intentionally independent from next-round win probability

Verification

  • npm run lint
  • npm test
  • RESEND_API_KEY=re_dummy npx next build

Integration/testing PR: #270 contains the full stack for end-to-end testing.

@vercel

vercel Bot commented Jun 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
blitzer Ready Ready Preview, Comment Jun 27, 2026 7:41pm

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d8a7b05839

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/lib/scoring/probability.ts Outdated
let winnerBlitzed = false;

for (let r = 0; r < MAX_FUTURE_ROUNDS; r++) {
const outcomes = stats.map((s) => sampleRoundOutcome(s, rng));

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Ensure simulated rounds include a blitzer

When each player's mechanics are sampled independently here, a future round can have zero outcomes[i].blitzed (for four players with 20% blitz rates this happens about 41% of the time). The app's scoring rules reject such rounds via validateGameRules in src/lib/validation/gameRules.ts, which requires at least one blitzPileRemaining === 0, so the mechanics forecast spends many simulations on impossible non-blitz rounds and skews next-round danger/blitz-out odds; resample or otherwise condition the round on at least one blitzer.

Useful? React with 👍 / 👎.

@mwickett

Copy link
Copy Markdown
Owner Author

Closed as superseded by merged integration PR #270.

@mwickett mwickett closed this Jun 27, 2026
@mwickett
mwickett deleted the mwickett/dutch-blitz-mechanics-forecast branch June 27, 2026 22:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant