Clusters of equal max importance rank by density, and density counts
every member, so a named function with unrelated helpers merged around
it outranked a cluster holding a named function alone. Taken whole, the
higher clusters spent the file's reservation on the helpers and the
isolated named function rendered nothing (lib/response.ts repro:
sendBody 0 of 36 lines). Reordering alone only moves the victim.
Two rules, both scoped to incidental members (not named, not an entry
point, not on the call path):
- a cluster's incidental members may only use what is left once every
lower-ranked cluster's protected members are paid; its own protected
members are never held back, so named-vs-named stays rank's call;
- in a cluster holding a protected member, incidental members are never
kept past the render's ceiling in rendered size, so the source-order
window back to the ceiling no longer cuts a named body's tail (gin's
handleHTTPRequest) on selection or on any re-render.
47 deterministic queries over the 7 README repos plus express vs main:
named bodies complete 198 -> 234 (17 responses up, 0 down), named lines
+10%, responses over the 25K cap 5 -> 1. One new final-cut truncation
(django-bag) comes from owedPayableBelow's MIN_CHARS threshold, recorded
in the design doc. On main + the named-concentration branch: 235 -> 279.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>