# X_FROZEN_RECORD_INFERRED

## Means

`const X: Readonly<Record<K, V>> = Object.freeze({…})` lets the type argument be INFERRED

## Typical cause

the annotation claims a closed key set and the freeze infers `T` from the literal, so an EXTRA key compiles in silence. `Object.freeze<Record<K, V>>({…})` is the one form. This refusal carried no code until 2026-09-06

## Fix

`bun run frozen-records --json` — write the type argument out and drop the annotation

[CLI and verify](/error-codes#cli-and-verify)
