Parent #416; profile evidence and rejected whole-path indexes #848. The retained CommonJS scale1024 sample from compiler206 shows requireSpecifierForLocal repeatedly scanning root statements while checking typed member reads. Source still scans every statement for a local name, preserving earliest same-section static require candidate before the anchor and a cross-section fallback only if preceding candidate specifiers agree. Existing local_value_decls_by_container stores first declaration/boundaries, so replacing this with a first-declaration shortcut would be incorrect for duplicate non-require/require declarations or import-equals aliases.
Candidate: lazily group require candidates by local name inside the existing per-container declaration-index ownership, retaining statement order, source spans and virtual-section data. No benchmark/name-specific branches, numeric cap, approximate type lookup or discarded diagnostics. Preserve source-index invalidation and cleanup; on allocation failure, retain the complete original scanner rather than an empty guessed result. Add equivalence controls for duplicates, before/after positions, import-equals, same/cross-section ambiguity, nonliteral/member-call lookalikes, replacement and failure. Freeze current774f72f16 baseline and use exact-parent fair A/B plus all-family warnings and independent confirmation; preserve full suites/production identities and document accepted or rejected results including README table. No speedup/fix claimed yet.