Skip to content

ADR-009: Speed Round Feeds Player Profile at Reduced Weight

Status: Accepted Date: 2026-03-03 Context: Speed round responses (quick this-or-that choices) are faster and less deliberate than full scenario games. They still reveal preferences, but with less signal per response. The question is whether to feed them into the player profile at all.

Decision

Speed round responses feed into the same PlayerDecisionProfile via updatePlayerProfile(), but with a game type multiplier of 0.4x:

Game type weights:
  multiplayer: 1.0
  solo:        0.85
  speed_round: 0.4
  intake:      0.0  (intake never reaches updatePlayerProfile; this is a safety fallback)

The weight multiplier applies to all profile updates: category driver distributions, context rules, and keyword preferences.

Rationale

Speed round choices are genuine preference signals — a player choosing "move fast" over "get consensus" in a 5-second this-or-that reveals real tendencies. But the reduced deliberation time means:

  1. The choice may be more reflexive than reflective, not fully representing considered values
  2. There's no rationale text, so driver classification falls back to keywords only (no semantic classification)
  3. The binary format (2 options) produces less information per choice than a 4-option scenario

The 0.4x weight captures this: speed round data accumulates into the profile but doesn't dominate it. A player's 21-question intake contributes roughly the same total signal as 3-4 full scenario games.

Solo games are weighted 0.85x vs multiplayer's 1.0x because the social context of multiplayer (knowing others will see your choice) adds slight pressure toward authentic decision-making.

Alternatives Considered

  • Exclude speed round entirely (0.0x): Wastes 21+ data points from intake and daily quiz. The signal is real, just noisier.
  • Full weight (1.0x): Would let 21 quick taps dominate a profile built from 5 careful scenario games.
  • Separate profile for speed round data: More accurate but doubles the complexity of profile management and prompt building.

Consequences

  • Intake (21 questions) provides a warm start for the profile before the first full game.
  • Daily quiz responses continue refining the profile between full games.
  • The 0.4x weight means a speed round response needs ~2.5x more repetitions to have the same profile impact as a solo game response.

Key files: - src/lib/ai/player-model.tsgetGameTypeWeight() (line 396)