Repository navigation
Commit 1b75a85
committed
fix(pm): decide an inherited population per CALLER, off what the import binds
`inherited-population` is keyed on the MODULE, while whether a contribution
is fabricated is a property of the CALLER: a gate that binds one exported
string constant out of `scripts/pm/dispatch-gates.mjs` inherited that
module's whole declared watch surface and was told to run for every card
touching the workflow directory it never opens.
`firstPartyImportBindings` carries the binding beside each resolved target
(the resolution and its order are unchanged to the byte), and
`importBindsNoPopulation` reads it: an importer binding only primitive value
constants reaches none of the module's reads and inherits nothing, while a
table, a function, a class, a namespace, a default, a re-export and every
clause this reading cannot parse inherit exactly what they did. A string
constant whose own text is one of the module's paths stays population-
bearing — binding a one-path population is reading it.
Measured over the live tree: 1 of 52 followed import edges answers inert,
and exactly 1 of 307 families' derived population moves.
Claude-Session: https://claude.ai/code/session_01DAcomhvR9kKizeYgg89Vo8
Co-authored-by: Claude <noreply@anthropic.com>1 parent 295eae5 commit 1b75a85
1 file changed
Lines changed: 390 additions & 20 deletions
0 commit comments