Parent: #548
A strict two-file reduction isolates mapped object-literal contextual typing across an import. For type Handlers = { [K in Kind]?: (item: Item<K>, rewritten: boolean) => Item }, the property a: (item, rewritten) => ... must specialize K to "a".
TypeScript 6.0.3 and the native TypeScript preview infer Item<"a"> and report only the deliberate TS2322 and TS2339 controls. Home leaves the callback parameter as Item<K>, adds a false TS2322 for K to "a", and adds a false whole-argument TS2345.
The checker currently substitutes a mapped property key only when the template contains a directly recognized indexed-access shape. A general callable template can carry the mapped key through nested generic arguments instead.
Acceptance criteria:
- specialize mapped member templates with the concrete object-literal property key
- preserve unrelated outer generic parameters and optional mapped members
- remove the false whole-object TS2345 without weakening negative property checks
- add a permanent imported positive/negative regression
- match TypeScript 6.0.3 and the native preview exactly on the standalone oracle
- run full checker and Program suites, ReleaseFast, and the unchanged Zod diagnostic audit with zero additions
- document any admitted corpus change in the performance record and README