import InfoBox from '../components/InfoBox.astro';

A domain glossary landed a day before the scoring change it was written to support: agreed terms for a word, a direction letter, each fruit combo by name, and two entries flagged as genuinely ambiguous, word rarity and letter rarity, pointing at the fix that would resolve which one the game actually means.

## What rarity was supposed to mean

The [word score had already been "length times rarity"](/posts/removing-the-word-timer#filling-the-space-the-timer-left) for a while, but rarity meant word frequency, a number inherited from the dictionary's own data rather than chosen on purpose. It rewarded uncommon words, not uncommon letters, so "quiz" scored lower than a rare word built entirely from common letters, exactly backwards from what a Scrabble player would expect. An ADR settled it: rarity now means the Scrabble value of the letters actually in the word.

```
// before: word.length × rarityScore (rarityScore = word-frequency rank)
// after:  sum(Scrabble letter values) × sqrt(word.length)
```

The square root keeps length worth something without letting it dominate the way straight multiplication had, so a short word built from rare letters can still outscore a long word built from common ones. "Quiz" averages 5.5 per letter under the new table; "stone" averages 1.0. Length still helps, letters decide by how much.

## Teaching the AI the same taste

The duel opponent had been picking words by traversing a word-frequency ranking, the same signal the scoring model had just stopped using for anything but the daily challenge's own preference for recognizable words. Its candidate queries now band by the letter-value average directly and pick at random within the band, and the target ceiling for that band came down from 5.0 to 4.5 to match what real English words actually reach under the new table, rather than a round number nobody had checked against real data.

<InfoBox title="Everything else these two days touched">
  The leaderboard was cleared, since a score under the old model and a score under the new one are
  not the same number pretending to be comparable. The stats page's own label for the same value was
  renamed from a vague "word complexity" to the thing it has always actually measured, average
  letter rarity. And a separate pass gave both snakes a shared, flatter shape: a carved rather than
  colored outline, rounded corners only where a segment's own turn calls for one, and an etched
  arrow on each directional key matching the same visual language.
</InfoBox>

## Where this leaves things

A game where the same letters steer a snake and spell a word now scores the letters the way a Scrabble player already thinks about them, and the AI opponent picks its words by the same standard a player is being scored against, rather than by a signal that used to mean something else entirely.