feat: Replace additive scoring with equilibrium-constrained scorer (ΔØ) #16050
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR TITLE:
feat: Replace additive scoring with equilibrium-constrained scorer (ΔØ)
PR BODY:
Summary
Drop-in replacement for the weighted scoring layer that fixes the fundamental flaw in how engagement and rejection signals interact.
Current approach (additive):
Problem: High engagement overcomes high rejection. A viral rage-bait post with 10,000 likes and 5,000 blocks still scores positive.
Proposed approach (multiplicative equilibrium):
Fix: Rejection collapses the score. No amount of engagement overcomes significant rejection. One block is worth more than a thousand likes.
Results
Toxic content with 40% higher raw engagement scores 84% lower under equilibrium constraint.
Small creators with genuine engagement are preserved — the penalty only activates when rejection signals are present.
What Changed
Files added:
src/weighted_scorer_delta_null.rs— Drop-in replacement for weighted_scorer.rssrc/delta_null_scorer.rs— Standalone implementationsrc/delta_null_scorer.py— Python reference for testingdocs/MATH.md— Formal mathematical derivationdocs/INTEGRATION.md— Step-by-step integration guideconfig/delta_null.toml— Configuration parametersexamples/demo.py— Interactive demo with test scenariosNothing removed. This is additive — existing code is untouched.
How It Works
The core constraint is ΣΔ = 0: sustainable content ranking requires equilibrium between constructive and destructive user signals.
Theoretical Foundation
This is standard control theory (Wiener, 1948) applied to recommendation systems:
Full derivation: docs/MATH.md
Integration Path
Fastest (2-4 hours): Replace weighted_scorer.rs with weighted_scorer_delta_null.rs, add
lazy_staticdependency, build.Conservative (1-2 weeks): Wrap existing scorer with equilibrium layer, A/B test, gradual rollout.
Standalone repo with full documentation: https://github.com/Architect-SIS/delta-null-scorer
Why This Matters
The algorithm isn't dumb because it lacks data. It's dumb because it uses addition where it needs multiplication. Rejection should destroy a score, not merely reduce it. That's not an opinion — it's what control theory has said for 78 years.
Author: K. Fain (ThēÆrchītēcť)
License: AGPL-3.0 (compatible with this repository)