# X_DECLARED_KEY_UNREAD

## Means

a leaf key of a **declaration surface** — the type a primitive or a `define*` factory takes — is read by nothing in `packages/*/src`

## Typical cause

the same defect `X_CONFIG_KEY_UNREAD` catches on `AppConfig`, one surface over, where no rule existed. Measured: `packages/render/src/route.ts` declared `budget.css`, `budget.cls` and `budget.tbt`, `registerRoute` flattens a budget to `budgetJs` + `budgetLcp`, and every reader downstream reads only those two — so `budget: { cls: 0.1 }` was ignored in silence while `x verify`'s own `budgets` step reported green. A ratchet, and a pin whose reason is blank is a finding too

## Fix

delete the key from its declaration, or wire it and prove the read; to keep it deliberately, add it to `DECLARATION_READER_PINS` in `scripts/declaration-readers.ts` with the sentence naming who reads it

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