You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
engine PR 2: per-file dynamism count replaces the flat irc term (child of #2716) #2719
After PR 1, irc is still a flat per-language number (0–4 from the strictness table). It is summed into six formulas in six different units — 5 pseudo-branches in _calc_cog_load, 5 attack hits in _calc_safety, 2.5 debt items in _calc_tech_debt, 5 API surfaces in _calc_documentation, +0.5 density points in _calc_concurrency, +0.75 in _calc_state_flux.
The thing that term was standing in for is countable per file: high_risk_execution + reflection_metaprogramming + dynamic eval. On the crucible: shell median 13.2 / 100 LOC, p90 54, max 123, no file at zero — but 80% of python, 76% of go and 84% of groovy files are at zero and pay the language constant anyway.
Scope
Replace the irc term with the file's own dynamism count, one formula at a time, each its own commit with a crucible before/after:
_calc_documentation — measured_risk + irc → same shape
_calc_tech_debt, _calc_concurrency, _calc_state_flux — decide per formula whether dynamism belongs there at all; the current multipliers were fit to one integer, not to a meaning
Pointer arithmetic, macros and type bypasses stay in their own formulas — they are visible constructs with their own meaning, not dynamism.
The strictness irc from PR 1 remains only where a language-level term is defensible after this, at the small bounded weight; if the pilot finds no predictive value it goes to zero.
Activity
feat(core-engine): per-file dynamism replaces the flat language irc i…
fix(core-engine): shell reflection counts dispatch, not command subst…