TypeScript 5.7.3 control (--lib es2023 --strict --noEmit):
declare const readonlyValues: readonly number[];
const key: keyof readonly number[] = Symbol.unscopables; // accepted
declare const other: unique symbol;
const wrong: keyof readonly number[] = other; // TS2322, unique symbolHome currently emits TS2322 for both assignments and renders the second source as broad symbol. The well-known Symbol.unscopables property in symbolGlobalType is Primitive.symbol_t; keyofTypeFromOperand turns synthetic Symbol.unscopables member names into string literal keys. An ordinary symbol, another unique symbol, and the well-known key must remain distinct. Replacing all three with broad symbol would incorrectly accept wrong.
Acceptance: represent well-known and declared unique symbols with stable type identity; resolve their computed property keys into the same identity in keyof, indexed access, assignment and type display; accept the first assignment and reject the second with the TypeScript 5.7.3 diagnostic. Add matched TypeScript/Home CLI oracles for readonly and mutable arrays, focused checker coverage, and guarded checker/Program/LSP runs. Do not special-case this one spelling in the assignment diagnostic.