12 sample accounts · global + 10 sectors · percentile 0–1000 | OLD (2026-05-28) → NEW (2026-06-03) → IMPROVED (edge-weighting + whitening) | generated for review · not in production | §8–§13 added 2026-06-09: v2 export · whitened-score trap · "v2 minus whitening" · "separation is in the raw" · inverse-global weighting · log-raw clip vs unclip · final solution (Approach 2 + log-raw leaderboard) | §14 added 2026-06-10: v2.1, purity edge-weighting + un-pinned elite band | §15 (2026-06-10): v2.1 shipped to production & verified against this report | §16 (2026-07-18): v2.3, content gate + purity-ratio specialty lens + decibel scale, was live (June-graph build) | §17 (2026-07-18/19): adversarial audit & hardening, org/Fame/seed-badge · ALF backstop + corroboration · media detector · 6-axis scorecard all-green | §CURRENT (2026-07-22): full-graph rebuild (10.45M accts, 76.4M edges) supersedes all the above — see the banner & comparison.html
CURRENT BUILD · 2026-07-22 · full-graph rebuild. Everything below traces the June evolution on the 6.75M-account / 39.6M-edge graph. The pipeline has since been rebuilt on the near-complete re-crawl (10.45M accounts, 76.4M edges, ~84% S1). Two things changed: (1) the June graph shipped no LLM classification, so the cosine gate / ALF / specialty-lens / endorsement stack below was a hand-built substitute for one; the new graph ships a tweet-based LLM (DeepSeek v3.2, bio + ~20 tweets, 120,855 S1 accounts), which becomes the content gate. (2) The architecture consolidates to tweet-LLM gate + ρ score-shaping + guarded ALF recall + org filter + decibel, cosine and the endorsement tier are retired; ρ and ALF are kept as orthogonal graph-signal complements. Global reputation is structurally identical (top-25 same order, 319 accounts ≥900 on both graphs). Current files: eigentrust-v2.5-newgraph-scored.csv (10.45M rows, same 53-col schema), skill_graph_radars_newgraph.csv (55,061 radars). The plain-language walkthrough is comparison.html.
Bottom line (June). Deeper S1 crawl is good for us, what it exposed is a scoring problem, and that problem is solved offline. On the published percentile scores, the 10×-deeper 2026-06-03 run made sector pollution look worse (more accounts top-1% in every sector), but that darkening is a measurement artifact of topic-blind trust propagation + rank scaling, not a reason to crawl less: §6 shows deeper crawl is a prerequisite and amplifier for the fix, its benefit was still climbing at 43% coverage, so keep crawling. The line of inquiry (§1→§14) lands on the June recommendation, §14's v2.1, purity edge-weighting + Approach-2 source down-weight + un-pinned scale: sector↔global correlation 0.54 → 0.40 with every sector improved, leaderboards intact, hubs differentiated. (The original 06-04 conclusion here proposed edge-weighting + whitening, 0.699 → 0.065, the whitening half later broke at full-population scale, §8.) Update (2026-06-10): v2.1 shipped to production (eigentrust-v2.1-downweight-purity-logknee.csv), §15 verifies the export matches this report.
Update · 2026-06-09. A production v2 export has since landed (eigentrust-v2-lambda-(0.1, 0.5, 0.8)). It ships the whitening from this report as a per-account sector score, but applied to the full 6.75M population without a reputation floor, it breaks: zero-reputation accounts (a Spanish train company, etc.) top the "AI" score while Sam Altman sinks to the bottom. The whitening here was validated on a curated dozen who all have real reputation; v2 is the missing other half of that story. See §8 for the evidence and the fix.
Index , the report is chronological; early sections are kept as history. For the June recommendation jump to §14 (all of it superseded by the 2026-07-22 rebuild, see banner).
Three states of the per-sector reputation, for the same 12 accounts:
How the versions evolved after this comparison was written: the production v2 export (2026-06-08, §8) shipped edge-weighting + λ-whitening, its whitened _score broke at population scale; v2 minus whitening (§9) kept edge-weighting + log-raw; Approach 2 (§11–§13) added the famous-source down-weight and became the §13 final; v2.1 (§14, current) upgrades the edge weight with a purity factor (strength × purity) and un-pins the scale's top band. Every later variant runs on the same NEW graph, only the scoring changes. Full map with statuses: the index above.
Metrics (lower = healthier sectors):
The data behind each version
The graph grew sharply between runs; the seed set did not change. IMPROVED is computed on the NEW graph, so it shares NEW's size, only the sector scores are recomputed.
| version | accounts (nodes) | follow-edges | scored | S1 crawled (trust-routing) |
|---|---|---|---|---|
| OLD, 2026-05-28 | 1,138,954 | 4,307,734 | 955,575 | 4,991 / 120,551 (4.1%) |
| NEW, 2026-06-03 | 6,752,476 | 39,593,204 | 6,752,453 | 51,552 / 120,551 (42.8%) |
| IMPROVED | same graph as NEW, sector scores recomputed (edge-weighting + whitening); global unchanged. Historical, whitening later broke at scale (§8) | |||
| v2 export, 2026-06-08 | same graph, production export (eigentrust-v2-lambda-*): edge-weighting + λ-whitening. Percentile usable; whitened _score broken (§8) | |||
| Approach 2, §13 final | same graph, edge-weighting + famous-source down-weight, scored log-raw (clipped). Offline, validated on all 10 sectors (§11–§13) | |||
| v2.1 (purity edge-weighting), §14 current | same graph, purity edge-weighting (strength × purity) + source down-weight, un-pinned scale. Offline, validated on all 10 sectors (§14) | |||
Seeds per sector , verified identical across OLD and NEW (same 318 seed handles & per-sector counts; the seed set was frozen between these runs, only the crawl grew)
| ai/ml | fintech | robotics | space | biotech | climate | quantum | nuclear | defense | semi | master* |
|---|---|---|---|---|---|---|---|---|---|---|
| 48 | 31 | 29 | 31 | 26 | 22 | 27 | 26 | 22 | 22 | 91 |
* master = sector-agnostic core anchors (used only in the global run). 318 unique s0 seeds total, some belong to multiple sectors, so the row sums to more than 318. These hand-picked anchors are the only "ground truth" the whole system is built on, which is why seed quality matters so much. Verified: OLD and NEW share the exact same 318 seeds (0 differences). An earlier pre-promotion run (2026-04-23, deep archive) used a smaller 233-seed set under a ≤2,000-following cutoff, the jump to 318 happened before both versions shown here.
The proposed fixes, in plain terms
All tentative, none are in production. They split into two kinds of change, which matters a lot for cost and risk:
1 · Edge-weighting, makes reputation topic-aware. (algorithm change · needs re-run) outcome: survived, upgraded with a purity factor in §14
The problem: a "follow" carries no topic. When the system spreads space reputation outward, it leaks down every follow, including totally off-topic ones, so space-reputation ends up piling onto whoever is generally popular, not onto genuinely space-connected people.
What it does: it makes each follow count more when it points to someone the space seeds (a hand-picked set of real space experts) actually follow, and less when it doesn't. Space-reputation then travels along space-relevant connections instead of spilling everywhere. (In short: a follow only carries "space trust" to the degree it looks like a space-world follow.)
2 · Whitening, removes the "generally-famous" inflation. (post-hoc transform · no re-run) outcome: dropped, breaks at full-population scale (§8)
The problem: all 10 of an account's sector scores share one big common ingredient, "how well-known are you overall." That single ingredient is enough to make anyone prominent look top-tier in every sector at once (that's the dark-everywhere pattern below).
What it does: it measures that shared "overall prominence" component and subtracts it out of all 10 sectors, leaving only what's distinctive about each account, the sectors where they genuinely stand out beyond their general fame. A real space specialist rises to the top; a generic big name flattens out across the board. (In short: grade on a curve so "famous everywhere" cancels and only true specialties remain.)
Why it was dropped, it makes the scores worse, not better: subtracting "overall prominence" also subtracts reputation itself. On the curated 12-account sample it looked great; on the full 6.75M population (§8) it inverted the ranking, zero-reputation junk pinned the top of the "AI" score (a Spanish train operator at 1000) while Sam Altman sank to the top-35%. The impressive decorrelation numbers (§2, dimmed rows) were bought by destroying the very signal the score exists to publish. Decorrelation has to happen inside the algorithm (fixes 1 & 4), not by rewriting the output.
3 · Residual, a gentler alternative to whitening. (post-hoc transform · no re-run) outcome: dropped with whitening, superseded by the Approach-2 line (§11)
The problem: same as whitening, every sector score is inflated by general prominence, but whitening can over-correct and hand a generic account a fake specialty (the quantum/nuclear artifact).
What it does: instead of removing the whole shared factor, it asks per account "is your space score higher than your overall standing predicts?" and keeps just that surprise. Gentler, leaves a bit more cross-sector overlap than whitening, but it won't invent fake specialties.
Why it was dropped, same disease, milder symptoms: it works the same way (subtract the reputation a model "expects"), so the published number still stops tracking actual reputation, small statistical surprises on near-zero accounts can outrank real authorities, and it does nothing about the actual cause (topic-blind trust propagation). Once the famous-source down-weight (fix 4, §11) delivered the decorrelation inside the algorithm with scores that stay reliable, the whole whitening/residual family was retired (§8).
All three above target correlation ("high in every sector"). A separate, fourth improvement, log-raw scaling (also a post-hoc transform), fixes a different symptom (the top saturating, "everything above 950"); see §5. outcome: survived, backbone of the final scale (§12–§14)
Two layers that joined the stack later (after this section was written, they replaced whitening/residual as the decorrelation layer)
4 · Famous-source down-weight, stops celebrities from re-spraying trust. (algorithm change · needs re-run · introduced in §11, documented in §13) outcome: in the §13 final and v2.1
The problem: edge-weighting (fix 1) filters where trust lands, but says nothing about who is passing it on. A globally-famous account follows thousands of people across every topic, so whatever sector trust reaches them gets re-sprayed topic-blind one hop downstream, re-polluting the sector signal that fix 1 just cleaned.
What it does: scales each account's outgoing trust by f(u) = gref/(gref + global(u)), ≈1 for normal and niche accounts, →0 for the globally famous, with the unspent trust returned to the seeds so the math stays mass-conserving and convergent. Famous accounts keep receiving the reputation they've earned; they just stop routing it. Sector trust then flows through niche domain experts, the best decorrelation lever tested (sector↔global 0.60→0.53, §11), it lifts genuine niche accounts and sinks junk hardest. (In short: celebrities are credible receivers of trust but terrible routers of it, let them receive, stop them routing. Why it must be applied as a non-renormalized outflow factor, and not as a plain edge weight, which would cancel, is the algebra in §11 and the explainer card in §13.)
5 · Un-pinned elite band, makes the top of the scale informative. (post-hoc transform · no re-run · introduced in §14) outcome: in v2.1
The problem: every bounded 0–1000 scale must decide what happens at the very top. The percentile saturates (the whole elite reads ≥950); §13's log-raw clip fixed the bulk but collapsed everything above the 99.9th percentile to a flat 1000, so the ~6 universal hubs read 1000 in every sector, and the #1 quantum specialist was indistinguishable from a generalist hub passing through.
What it does: keeps the chosen scale below the top band, then spreads the formerly-pinned top across 950–1000 by log-magnitude instead of clipping it. The rank order doesn't change, the display just stops throwing away the separation that was in the raw scores all along (§10): @sama reads AI 1000 / quantum 958, @demishassabis biotech 1000 / nuclear 844. Comes in two rank-identical displays, magnitude (reads like §13's log-raw) and rank (reads like a percentile; ≥950 = top 0.5% of the graph), both in §14.
| version | sector↔global corr | cross-sector corr | % top-1% in ALL 10 |
|---|---|---|---|
| OLD, 2026-05-28 (archived) baseline | 0.689 | 0.603 | 0.03% |
| NEW, 2026-06-03 (June; was live) was live | 0.699 | 0.662 | 0.26% |
| edge-weight only kept, evolves into §13/§14 | 0.608 | 0.622 | 0.23% |
| whitening only dropped, breaks scores (§8) | 0.083 | 0.172 | 0.00% |
| residual only dropped, breaks scores (§8) | 0.087 | 0.393 | 0.00% |
| edge-weight + whitening dropped, breaks scores (§8) | 0.065 | 0.138 | 0.00% |
| edge-weight + residual dropped, breaks scores (§8) | 0.072 | 0.433 | 0.00% |
| Approach 2, §13 final (edge-wt + source down-weight) §13 final | 0.556 | 0.570 | 0.12% |
| v2.1, §14 purity edge-weight (June proposal) §14 (June) | 0.496 | 0.517 | 0.02% |
Green = healthier (more decorrelated), red = more polluted, but a low correlation alone is not health. The dimmed whitening-family rows crush correlation by destroying the reputation signal itself: §8 showed that at full-population scale they rank zero-reputation junk above real authorities, so their impressive-looking numbers are quoted for history, not as candidates. Edge-weighting is the half that survived (it decorrelates without breaking reliability) and evolved into the §13/§14 line. The two bottom rows are the variants that replaced them. Their correlations are higher than whitening's, no reputation information is destroyed buying the number down, but the flagship pathology, accounts top-1% in all 10 sectors, falls 0.26% → 0.12% (§13) → 0.02% (§14 v2.1, 13× cleaner than live, and the ~1,300 accounts that remain are the genuinely-elite-everywhere hubs). On the un-pinned scale the score-level sector↔global reaches 0.40 (§14 corr table).
Each cell = that account's percentile (0–1000) in that sector, every table here uses this percentile/rank scale, including IMPROVED (the log-raw scaling in §5 is a separate alternative scale, not applied to these tables). Darker = higher. Watch the visual texture change: NEW becomes a near-solid dark block (everyone high in everything = polluted); IMPROVED breaks into a varied pattern (real per-account profiles). ★ = genuine-space anchor. Note: IMPROVED is the historical 06-04 proposal (its whitening half later broke, §8), the current proposal's heatmaps are in §14.
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 989 | 962 | 971 | 940 | 998 | 992 | 975 | 966 | 964 | 977 | 938 |
| @WazzCrypto | 915 | 852 | 986 | 707 | 837 | 769 | 744 | 783 | 860 | 844 | 796 |
| @ZeMariaMacedo | 868 | 955 | 969 | 907 | 960 | 915 | 930 | 914 | 927 | 955 | 963 |
| @murphcapital | 854 | 898 | 933 | 803 | 942 | 960 | 946 | 802 | 942 | 926 | 830 |
| @redphone | 851 | 920 | 956 | 718 | 941 | 881 | 689 | 862 | 905 | 917 | 752 |
| @matty_ | 823 | 800 | 936 | 652 | 935 | 883 | 665 | 800 | 870 | 861 | 621 |
| @lukedelphi | 839 | 894 | 930 | 898 | 926 | 857 | 659 | 842 | 907 | 899 | 901 |
| @IamSage | 717 | 566 | 883 | 514 | 870 | 749 | 617 | 571 | 855 | 758 | 672 |
| @therosieum | 811 | 795 | 898 | 701 | 935 | 862 | 592 | 931 | 820 | 758 | 580 |
| @fabrizio_builds ★ | 735 | 403 | 767 | 609 | 934 | 836 | 520 | 559 | 556 | 835 | 423 |
| @uselegion ★ | 488 | 193 | 663 | 164 | 865 | 740 | 65 | 151 | 158 | 191 | 168 |
| @legiondotcc | 795 | 762 | 875 | 787 | 934 | 848 | 746 | 740 | 802 | 870 | 580 |
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 994 | 995 | 991 | 999 | 998 | 994 | 991 | 993 | 996 | 990 |
| @WazzCrypto | 987 | 977 | 998 | 950 | 969 | 954 | 933 | 962 | 979 | 978 | 951 |
| @ZeMariaMacedo | 983 | 992 | 995 | 985 | 992 | 982 | 984 | 988 | 989 | 993 | 991 |
| @murphcapital | 976 | 980 | 988 | 959 | 993 | 986 | 980 | 946 | 983 | 987 | 953 |
| @redphone | 979 | 990 | 994 | 975 | 986 | 977 | 967 | 979 | 986 | 989 | 974 |
| @matty_ | 968 | 971 | 988 | 941 | 983 | 958 | 892 | 970 | 965 | 973 | 940 |
| @lukedelphi | 972 | 979 | 989 | 974 | 983 | 959 | 918 | 965 | 981 | 982 | 976 |
| @IamSage | 938 | 917 | 978 | 883 | 957 | 891 | 816 | 801 | 942 | 938 | 917 |
| @therosieum | 961 | 954 | 987 | 920 | 978 | 945 | 843 | 973 | 939 | 950 | 886 |
| @fabrizio_builds ★ | 922 | 905 | 942 | 845 | 977 | 926 | 757 | 866 | 757 | 946 | 810 |
| @uselegion ★ | 792 | 663 | 875 | 612 | 947 | 862 | 550 | 608 | 575 | 699 | 692 |
| @legiondotcc | 966 | 970 | 988 | 945 | 983 | 966 | 911 | 952 | 947 | 971 | 953 |
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 429 | 737 | 302 | 515 | 670 | 656 | 753 | 729 | 387 | 492 |
| @WazzCrypto | 987 | 488 | 791 | 220 | 553 | 622 | 521 | 745 | 749 | 483 | 455 |
| @ZeMariaMacedo | 983 | 454 | 751 | 286 | 481 | 608 | 627 | 766 | 729 | 412 | 556 |
| @murphcapital | 976 | 472 | 769 | 173 | 661 | 727 | 680 | 518 | 755 | 504 | 435 |
| @redphone | 979 | 500 | 761 | 323 | 451 | 649 | 613 | 729 | 735 | 446 | 468 |
| @matty_ | 968 | 514 | 793 | 190 | 615 | 609 | 374 | 800 | 748 | 476 | 476 |
| @lukedelphi | 972 | 398 | 775 | 297 | 569 | 556 | 466 | 741 | 754 | 474 | 635 |
| @IamSage | 938 | 487 | 825 | 271 | 677 | 515 | 354 | 425 | 779 | 613 | 623 |
| @therosieum | 961 | 540 | 813 | 373 | 709 | 672 | 204 | 833 | 752 | 458 | 151 |
| @fabrizio_builds ★ | 922 | 551 | 782 | 332 | 846 | 735 | 202 | 794 | 528 | 798 | 151 |
| @uselegion ★ | 792 | 152 | 881 | 19 | 960 | 925 | 103 | 470 | 398 | 183 | 381 |
| @legiondotcc | 966 | 468 | 785 | 201 | 631 | 718 | 506 | 753 | 719 | 513 | 368 |
The three fixes in isolation, each applied to NEW on its own
These are three separate, independent fixes, each shown alone (the combined IMPROVED above = edge-weight + whitening). Global is unchanged in all (they only touch sectors). Darker = higher. Compare the textures to see what each one does.
① Edge-weight only , algorithm change · needs a pipeline re-run
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 989 | 993 | 982 | 1000 | 999 | 990 | 988 | 989 | 994 | 982 |
| @WazzCrypto | 987 | 963 | 998 | 924 | 969 | 950 | 914 | 952 | 973 | 973 | 935 |
| @ZeMariaMacedo | 983 | 986 | 993 | 970 | 985 | 974 | 973 | 987 | 983 | 990 | 988 |
| @murphcapital | 976 | 956 | 977 | 908 | 991 | 978 | 960 | 865 | 975 | 974 | 927 |
| @redphone | 979 | 987 | 991 | 968 | 970 | 976 | 960 | 961 | 979 | 986 | 959 |
| @matty_ | 968 | 950 | 984 | 896 | 963 | 929 | 852 | 968 | 957 | 951 | 922 |
| @lukedelphi | 972 | 939 | 982 | 938 | 969 | 929 | 895 | 947 | 974 | 967 | 976 |
| @IamSage | 938 | 865 | 956 | 836 | 902 | 832 | 776 | 761 | 927 | 904 | 881 |
| @therosieum | 961 | 925 | 980 | 903 | 957 | 918 | 772 | 973 | 936 | 915 | 810 |
| @fabrizio_builds ★ | 922 | 859 | 893 | 826 | 951 | 877 | 709 | 881 | 722 | 947 | 743 |
| @uselegion ★ | 792 | 478 | 811 | 411 | 892 | 826 | 417 | 527 | 468 | 503 | 534 |
| @legiondotcc | 966 | 940 | 979 | 901 | 969 | 963 | 894 | 941 | 939 | 961 | 898 |
② Whitening only , post-hoc transform · no re-run
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 399 | 710 | 328 | 531 | 672 | 693 | 764 | 736 | 342 | 513 |
| @WazzCrypto | 987 | 474 | 777 | 274 | 536 | 615 | 598 | 758 | 754 | 433 | 475 |
| @ZeMariaMacedo | 983 | 418 | 724 | 324 | 520 | 629 | 677 | 767 | 736 | 359 | 545 |
| @murphcapital | 976 | 432 | 738 | 258 | 606 | 692 | 705 | 709 | 747 | 416 | 432 |
| @redphone | 979 | 448 | 739 | 312 | 531 | 638 | 649 | 762 | 743 | 386 | 500 |
| @matty_ | 968 | 480 | 771 | 265 | 646 | 655 | 481 | 787 | 739 | 447 | 457 |
| @lukedelphi | 972 | 452 | 750 | 389 | 581 | 611 | 530 | 753 | 750 | 416 | 564 |
| @IamSage | 938 | 497 | 822 | 266 | 748 | 599 | 387 | 471 | 769 | 572 | 607 |
| @therosieum | 961 | 506 | 798 | 276 | 708 | 682 | 372 | 816 | 723 | 447 | 294 |
| @fabrizio_builds ★ | 922 | 580 | 811 | 229 | 852 | 781 | 272 | 724 | 560 | 731 | 230 |
| @uselegion ★ | 792 | 285 | 873 | 53 | 943 | 892 | 126 | 391 | 425 | 431 | 502 |
| @legiondotcc | 966 | 470 | 769 | 281 | 641 | 680 | 546 | 748 | 710 | 429 | 511 |
③ Residual only , post-hoc transform · no re-run
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 745 | 801 | 746 | 794 | 797 | 788 | 792 | 791 | 785 | 765 |
| @WazzCrypto | 987 | 719 | 827 | 658 | 739 | 724 | 697 | 756 | 779 | 755 | 692 |
| @ZeMariaMacedo | 983 | 775 | 826 | 762 | 804 | 785 | 790 | 807 | 801 | 812 | 800 |
| @murphcapital | 976 | 752 | 819 | 701 | 817 | 806 | 792 | 743 | 797 | 809 | 714 |
| @redphone | 979 | 779 | 829 | 741 | 797 | 780 | 762 | 794 | 800 | 809 | 759 |
| @matty_ | 968 | 743 | 830 | 671 | 808 | 758 | 648 | 791 | 776 | 781 | 697 |
| @lukedelphi | 972 | 759 | 827 | 753 | 802 | 754 | 689 | 778 | 798 | 803 | 778 |
| @IamSage | 938 | 663 | 843 | 585 | 799 | 666 | 537 | 525 | 769 | 744 | 694 |
| @therosieum | 961 | 709 | 836 | 631 | 808 | 742 | 562 | 807 | 749 | 732 | 583 |
| @fabrizio_builds ★ | 922 | 662 | 788 | 523 | 854 | 759 | 405 | 674 | 560 | 805 | 469 |
| @uselegion ★ | 792 | 368 | 824 | 256 | 913 | 817 | 192 | 311 | 347 | 435 | 419 |
| @legiondotcc | 966 | 744 | 833 | 685 | 811 | 777 | 685 | 763 | 755 | 780 | 731 |
@uselegion, a genuine, low-profile space account
@pavelprata, a central hub
quantum 753, a whitening artifact (he's not quantum). See below.The first two fixes attack correlation ("high in every sector"). This third, separate one attacks the symptom you flagged, "so many accounts above 950", which isn't a reputation problem but a scaling one. It's an alternative scale for the published number; the §3 heatmaps all use percentile/rank scaling, and log-raw is shown here on its own, not folded into them.
3 · Log-raw scaling, spreads out the saturated top.
The problem: the published 0–1000 is a pure rank (percentile). By construction the top 5% sit ≥950 in any sector, and the whole elite core saturates near the ceiling, the #1 account and the 9,500th both read ~999, though their real trust differs by orders of magnitude.
What it does: raw trust is power-law (log10(raw) is bell-shaped). Scoring off log(raw) instead of rank gives the top a real gradient, the elite spread out and "≥950" becomes genuinely rare. Post-hoc, no re-run. (Honest tradeoff: the bottom then looks low, but that's truthful; those accounts genuinely have ~zero trust. The rank was spreading a meaningless near-zero tail across 0–900 and manufacturing the saturated top.)
% of accounts scoring ≥ 950
| rank (today) | log-raw | |
|---|---|---|
| GLOBAL | 5.0% | 0.19% |
| SPACE | 5.0% | 0.18% |
~26× rarer, "elite" stops being the default for the whole top cluster.
The 12, GLOBAL: rank vs log-raw
| account | rank | log-raw |
|---|---|---|
| @pavelprata | 998 | 962 |
| @WazzCrypto | 987 | 774 |
| @ZeMariaMacedo | 983 | 736 |
| @murphcapital | 976 | 657 |
| @redphone | 979 | 696 |
| @matty_ | 969 | 604 |
| @lukedelphi | 973 | 628 |
| @IamSage | 938 | 507 |
| @therosieum | 962 | 573 |
| @fabrizio_builds | 923 | 478 |
| @uselegion | 792 | 348 |
| @legiondotcc | 967 | 594 |
Crammed into 792–998 (std 53) under the rank → spread across 348–962 (std 150) under log-raw. The elite get differentiated, not saturated.
Where this went: log-raw became the backbone of the final scale, §12 settles clip vs. unclip, §13 ships log-raw (clipped) as the leaderboard scale, and §14 un-pins its top band (950–1000 by magnitude) so the elite no longer collapse to a flat 1000.
Tested by downsampling the current crawl to lower coverage and measuring edge-weighting's decorrelation (space). Can't test beyond the current ~43% directly, that needs new crawl data for the uncrawled S1, so this shows the slope and where it's heading.
| S1 crawl % | routing nodes | baseline corr | edge-weighted | edge-weight benefit (Δ) |
|---|---|---|---|---|
| 4.3% | 5,456 | 0.995 | 0.994 | |
| 12.8% | 15,766 | 0.964 | 0.955 | |
| 25.7% | 31,232 | 0.882 | 0.846 | |
| 42.8% (current) | 51,853 | 0.725 | 0.626 |
Read: two things improve as crawl rises, the baseline correlation falls on its own (0.995 → 0.725; more routing nodes let trust differentiate sectors), and edge-weighting's benefit accelerates (−0.001 → −0.099, the bars). The curve is still steepening at 43%, not flattening → pushing S1 crawl toward 100% should keep helping.
Caveats: the uncrawled ~69K S1 may be less central than this random downsample implies (real gain at 100% could be smaller); crawling S1 also reveals more S2 sinks; and the 6.6M uncrawled S2 remains the larger untapped population. The deeper crawl looked bad for raw scores but is a prerequisite and ongoing amplifier for the fix.
Superseded (2026-06-09/10). This was the recommendation before the v2 export landed. §8 then showed the whitening/residual output layer breaks at full-population scale, and the recommendation evolved: §13 (Approach 2 + log-raw leaderboard) → §14 (v2.1: purity edge-weighting + un-pinned scale, current). The crawl guidance (last bullet, §6) still stands. Kept unedited for history:
What shipped. The v2 export delivers three files, eigentrust-v2-lambda-0.1 / 0.5 / 0.8, over the same 2026-06-03 graph (6.75M accounts, identical universe). λ is the decorrelation strength (exactly the whitening dial from §1). It touches only the sectors: the global rank is byte-identical across all three λ, and even the sector percentile barely moves, so for a percentile product, λ=0.5 vs 0.8 changes almost nothing.
The trap. v2 exposes the decorrelation as a per-account whitened sector score, sitting right next to the un-whitened percentile, and the two contradict each other on the same person. The whitened score, computed on the full population with no reputation floor, is a ratio that divides reputation out → it rewards concentration, not standing. Result: corr(score, global) = −0.09 (anti-correlated with reputation) vs corr(percentile, global) = +0.68 (correct).
High-impact AI accounts, where each version puts them
The six most unambiguous AI figures alive, plus two zero-reputation accounts for contrast. Percentile columns (green header) rank them correctly, all pinned at the top. The whitened score columns (red header) invert it: the titans read mid (≈400–530) while the train company maxes at 1000.
| account | sector RANK, ai_ml percentile | whitened SCORE, ai_ml (by λ) | global score | ||||
|---|---|---|---|---|---|---|---|
| OLD | NEW | v2 λ0.5 | λ0.1 | λ0.5 | λ0.8 | ||
| @sama Sam Altman · OpenAI | 1000 | 1000 | 999 | 385 | 419 | 428 | 975 |
| @karpathy Andrej Karpathy | 999 | 999 | 999 | 396 | 429 | 437 | 967 |
| @ylecun Yann LeCun · Meta AI | 999 | 999 | 999 | 438 | 481 | 491 | 963 |
| @gdb Greg Brockman · OpenAI | 999 | 999 | 999 | 463 | 514 | 527 | 960 |
| @demishassabis Demis Hassabis · DeepMind | 999 | 999 | 999 | 424 | 461 | 470 | 959 |
| @andrewyng Andrew Ng | 999 | 999 | 999 | 464 | 511 | 522 | 959 |
| ▼ zero-reputation accounts (global_score 52), yet they sit at the top of the whitened AI score | |||||||
| @ouigo_es a Spanish train operator | 711 | 698 | 995 | 1000 | 1000 | 52 | |
| @polishtamales random account | 711 | 698 | 995 | 1000 | 1000 | 52 | |
Read: Sam Altman is ai_ml_percentile = 999 in every version (correct, he's a top-0.1% AI account), but his ai_ml_score is only ~419, ranking him top-35% of all 6.75M on that column. @ouigo_es, a train operator with global_score 52, gets the maxed ai_ml_score 1000. λ (0.1→0.8) nudges the titans' score up a few points but never fixes the inversion. The percentile is the only column that behaves; the whitened score must not be ranked on.
The 12 sample accounts under v2 (λ=0.5), the same split, on familiar faces
PERCENTILE (λ0.5) , the usable rank; note it lands ≈ NEW (§3), i.e. v2's percentile reverts to ~v1 behavior, still prominence-correlated
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 991 | 994 | 986 | 999 | 998 | 992 | 991 | 991 | 994 | 987 |
| @WazzCrypto | 987 | 969 | 997 | 945 | 970 | 950 | 928 | 959 | 975 | 976 | 949 |
| @ZeMariaMacedo | 983 | 988 | 994 | 980 | 988 | 979 | 979 | 988 | 985 | 991 | 990 |
| @murphcapital | 976 | 967 | 983 | 939 | 990 | 984 | 971 | 932 | 980 | 981 | 945 |
| @redphone | 979 | 987 | 992 | 972 | 979 | 974 | 964 | 974 | 982 | 987 | 969 |
| @matty_ | 968 | 960 | 986 | 927 | 974 | 947 | 876 | 971 | 963 | 964 | 938 |
| @lukedelphi | 972 | 958 | 985 | 959 | 976 | 947 | 905 | 962 | 976 | 974 | 980 |
| @IamSage | 938 | 898 | 966 | 856 | 935 | 863 | 799 | 771 | 941 | 926 | 904 |
| @therosieum | 961 | 941 | 982 | 914 | 968 | 935 | 830 | 976 | 941 | 936 | 857 |
| @fabrizio_builds ★ | 922 | 888 | 920 | 831 | 966 | 903 | 737 | 871 | 737 | 956 | 775 |
| @uselegion ★ | 792 | 585 | 842 | 539 | 920 | 829 | 496 | 575 | 530 | 631 | 634 |
| @legiondotcc | 966 | 954 | 983 | 931 | 977 | 960 | 899 | 952 | 946 | 969 | 931 |
WHITENED SCORE (λ0.5) , the broken column; same accounts, a wholly different (and much lower-magnitude) picture
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 646 | 257 | 171 | 124 | 561 | 434 | 307 | 157 | 344 | 274 | 198 |
| @WazzCrypto | 523 | 340 | 318 | 166 | 264 | 250 | 277 | 165 | 384 | 307 | 241 |
| @ZeMariaMacedo | 498 | 350 | 213 | 184 | 277 | 259 | 318 | 183 | 371 | 335 | 321 |
| @murphcapital | 446 | 329 | 197 | 155 | 366 | 339 | 353 | 144 | 397 | 338 | 231 |
| @redphone | 471 | 397 | 217 | 198 | 267 | 277 | 310 | 170 | 384 | 341 | 258 |
| @matty_ | 411 | 361 | 224 | 180 | 319 | 280 | 261 | 196 | 382 | 316 | 263 |
| @lukedelphi | 427 | 322 | 211 | 210 | 301 | 259 | 264 | 175 | 397 | 323 | 349 |
| @IamSage | 347 | 364 | 227 | 195 | 322 | 263 | 279 | 129 | 408 | 345 | 308 |
| @therosieum | 390 | 362 | 230 | 201 | 337 | 291 | 255 | 217 | 370 | 291 | 195 |
| @fabrizio_builds ★ | 328 | 382 | 198 | 194 | 409 | 319 | 225 | 180 | 292 | 441 | 197 |
| @uselegion ★ | 242 | 315 | 239 | 170 | 495 | 397 | 236 | 125 | 267 | 267 | 273 |
| @legiondotcc | 405 | 348 | 219 | 189 | 334 | 305 | 283 | 177 | 355 | 337 | 253 |
Same 12 accounts, same run, two columns that don't agree. The percentile block is dark (high rank, like NEW); the score block is muted and reshuffled. That gap is the whitening, and on these reputable accounts it's merely confusing; on the full population it surfaces the junk above.
Root cause & the fix
residual = sector_raw − predicted(sector_raw | global_raw), kept in raw magnitude units (additive, not a ratio), with a floor that zeroes the low-signal tail. A tiny account then has a tiny residual and cannot float up; a genuine authority's real sector excess survives. Rank that one residual → no score-vs-percentile split to disagree. λ becomes the residual strength, now safe to turn up.Decision: ship λ=0.5 using the percentile as the sector score and drop/quarantine the whitened _score (coherent product today); have the v2 author recompute the single sector number as a floored magnitude residual to actually reduce the cross-sector bleed without the purity artifact.
§8's recommendation made concrete: keep edge-weighting (sector reputation) and log-raw (de-saturation), drop the whitening. The v2 export omitted the sector raw, so this is a fresh edge-weighted run on the live graph, its global matches v2 bit-close (sama 1000, @pavelprata 998, @uselegion 792), so the sectors are comparable.
AI sector, the §8 inversion disappears
| account | ai_ml score, three ways | off-thesis bleed (edge-wt log-raw) | |||
|---|---|---|---|---|---|
| v2 whitened | edge-wt pct | edge-wt log-raw | quantum | nuclear | |
| @sama + 5 AI titans, all identical | 419 | 1000 | 1000 | 1000 | 1000 |
| @ouigo_es / @polishtamales zero-reputation junk | 1000 | 738 | 450 | 11 | 0 |
Dropping whitening flips §8's defect the right way round: the titans return to the top of AI (1000), the junk accounts collapse (global 88/59, off-sectors near 0, @ouigo_es AI falls 1000→738→450). log-raw additionally de-saturates: the share scoring ≥950 drops 5.0% → ~0.2% in every sector.
EDGE-WEIGHT + PERCENTILE (no whitening), 12 sample rank scale · compare to §3 NEW: hubs still high, but @uselegion's noise (ai 478, robotics 411) is gone
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 989 | 993 | 982 | 1000 | 999 | 990 | 988 | 989 | 994 | 982 |
| @WazzCrypto | 987 | 963 | 998 | 924 | 969 | 950 | 914 | 952 | 973 | 973 | 935 |
| @ZeMariaMacedo | 983 | 986 | 993 | 970 | 985 | 974 | 973 | 987 | 983 | 990 | 988 |
| @murphcapital | 976 | 956 | 977 | 908 | 991 | 978 | 960 | 865 | 975 | 974 | 927 |
| @redphone | 979 | 987 | 991 | 968 | 970 | 976 | 960 | 961 | 979 | 986 | 959 |
| @matty_ | 969 | 950 | 984 | 896 | 963 | 929 | 852 | 968 | 957 | 951 | 922 |
| @lukedelphi | 973 | 939 | 982 | 938 | 969 | 929 | 895 | 947 | 974 | 967 | 976 |
| @IamSage | 938 | 865 | 956 | 836 | 902 | 832 | 776 | 761 | 927 | 904 | 881 |
| @therosieum | 962 | 925 | 980 | 903 | 957 | 918 | 772 | 973 | 936 | 915 | 810 |
| @fabrizio_builds ★ | 923 | 859 | 893 | 826 | 951 | 877 | 709 | 881 | 722 | 947 | 743 |
| @uselegion ★ | 792 | 478 | 811 | 411 | 892 | 826 | 417 | 527 | 468 | 503 | 534 |
| @legiondotcc | 967 | 940 | 979 | 901 | 969 | 963 | 894 | 941 | 939 | 961 | 898 |
EDGE-WEIGHT + LOG-RAW (no whitening), 12 sample de-saturated magnitude · same accounts, a real gradient (no 999-pileup)
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 962 | 725 | 766 | 718 | 1000 | 985 | 745 | 748 | 752 | 777 | 738 |
| @WazzCrypto | 774 | 653 | 962 | 630 | 683 | 664 | 627 | 680 | 701 | 690 | 652 |
| @ZeMariaMacedo | 736 | 708 | 772 | 690 | 723 | 706 | 697 | 740 | 726 | 747 | 760 |
| @murphcapital | 657 | 641 | 699 | 616 | 750 | 716 | 673 | 612 | 705 | 693 | 642 |
| @redphone | 696 | 714 | 756 | 685 | 687 | 711 | 674 | 692 | 713 | 730 | 686 |
| @matty_ | 604 | 632 | 721 | 605 | 673 | 641 | 585 | 700 | 676 | 657 | 636 |
| @lukedelphi | 628 | 620 | 715 | 645 | 684 | 641 | 613 | 675 | 703 | 681 | 718 |
| @IamSage | 507 | 557 | 659 | 543 | 609 | 556 | 514 | 485 | 646 | 607 | 599 |
| @therosieum | 573 | 606 | 709 | 611 | 664 | 630 | 506 | 710 | 654 | 618 | 515 |
| @fabrizio_builds ★ | 478 | 553 | 600 | 532 | 657 | 595 | 424 | 623 | 534 | 652 | 460 |
| @uselegion ★ | 348 | 302 | 547 | 322 | 601 | 548 | 319 | 364 | 357 | 351 | 376 |
| @legiondotcc | 594 | 621 | 705 | 609 | 684 | 683 | 612 | 669 | 656 | 671 | 613 |
③ The fix, edge-weight + floored magnitude residual
Now the decorrelation done right: residual = log10(sector_raw) − [ a·log10(global_raw) + b ], "how far above the prominence-predicted baseline is your sector reputation," in log-magnitude (additive, not a ratio), computed only for accounts above a reputation floor (global pct ≥ 500; keeps 3.37M), ranked among them. Recomputed live (v13).
EDGE-WEIGHT + FLOORED RESIDUAL, 12 sample sharp, real specialties surface; junk floored out
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 107 | 235 | 83 | 945 | 827 | 180 | 173 | 208 | 160 | 106 |
| @WazzCrypto | 987 | 243 | 966 | 136 | 350 | 263 | 200 | 367 | 447 | 308 | 170 |
| @ZeMariaMacedo | 983 | 500 | 675 | 395 | 615 | 529 | 558 | 672 | 590 | 648 | 666 |
| @murphcapital | 976 | 476 | 634 | 323 | 801 | 725 | 642 | 406 | 648 | 654 | 408 |
| @redphone | 979 | 598 | 702 | 491 | 588 | 642 | 571 | 614 | 617 | 684 | 483 |
| @matty_ | 969 | 564 | 765 | 430 | 731 | 617 | 471 | 756 | 657 | 657 | 543 |
| @lukedelphi | 973 | 477 | 713 | 525 | 717 | 557 | 517 | 683 | 676 | 678 | 759 |
| @IamSage | 938 | 560 | 777 | 457 | 735 | 547 | 442 | 286 | 711 | 711 | 659 |
| @therosieum | 962 | 558 | 786 | 546 | 755 | 648 | 240 | 796 | 652 | 597 | 176 |
| @fabrizio_builds ★ | 923 | 607 | 690 | 497 | 844 | 723 | 184 | 763 | 525 | 849 | 202 |
| @uselegion ★ | 792 | 173 | 773 | 128 | 891 | 798 | 143 | 224 | 212 | 175 | 221 |
| @legiondotcc | 967 | 553 | 744 | 476 | 765 | 744 | 588 | 715 | 631 | 717 | 470 |
Compare to the §3 NEW block (near-solid dark): the residual carves out genuine specialties, @pavelprata space 945 (everything else ≤235), @wazzcrypto fintech 966, @uselegion space 891 / biotech 798. No fake elites, and the two junk accounts are floored out entirely (below the reputation floor → no sector score at all).
The AI super-accounts under all three variants
The six clearest AI figures alive, full per-sector rank under each new variant. Watch the texture: the first two are solid 1000 everywhere (the bleed); the residual is the only one that differentiates them.
① edge-weight + percentile , every titan, every sector = 1000 (maximum bleed)
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @sama | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @karpathy | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @ylecun | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @gdb | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @demishassabis | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @andrewyng | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
② edge-weight + log-raw , still 1000 everywhere (log-raw de-saturates the scale, not the correlation)
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @sama | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @karpathy | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @ylecun | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @gdb | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @demishassabis | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @andrewyng | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
③ edge-weight + floored residual , the bleed finally breaks into a per-sector profile
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @sama | 1000 | 792 | 727 | 741 | 769 | 702 | 711 | 715 | 719 | 723 | 780 |
| @karpathy | 1000 | 782 | 691 | 848 | 717 | 717 | 616 | 723 | 437 | 727 | 813 |
| @ylecun | 1000 | 770 | 479 | 764 | 597 | 602 | 521 | 731 | 477 | 621 | 762 |
| @gdb | 1000 | 787 | 680 | 684 | 482 | 298 | 560 | 609 | 581 | 599 | 713 |
| @demishassabis | 1000 | 780 | 545 | 683 | 611 | 871 | 617 | 739 | 330 | 640 | 680 |
| @andrewyng | 1000 | 768 | 409 | 731 | 494 | 552 | 514 | 660 | 305 | 557 | 762 |
So which do you actually want? If the sector score should answer "who's the biggest authority in AI" → use the percentile (Altman = top), accepting that prominent people rank high in several sectors. If it should answer "who genuinely specializes in AI beyond general fame" → use the floored residual (specialists surface, generalists flatten, junk gone). The two are different products; v2's whitened score tried to be the second but botched the math.
The trade-off, across all the options
| variant | junk at top? | titans ranked right? | top de-saturated? | cross-sector bleed? |
|---|---|---|---|---|
| v2 whitened score | ✗ junk on top | ✗ titans sink | ~ ok | ✓ fixed |
| edge-weight + log-raw (no whitening) | ✓ fixed | ✓ yes | ✓ fixed | ✗ returns |
| floored magnitude residual the fix | ✓ floored out | ~ elevated, not #1* | ✓ (+ log-raw) | ✓ reduced |
* the residual elevates the titans (no inversion, sama AI = top-21% among reputable accounts, not bottom-35% like the whitened score) but, being a specialty lens, won't rank a famous generalist #1 in their home sector. Pick percentile for authority, residual for specialty.
Bottom line: there is no single column that is both "biggest authority" and "purest specialist", that's the real tension, now measured. Percentile = authority (Altman tops AI, with some cross-sector bleed). Floored residual = specialty (sharp real specialties, junk floored, bleed broken, but famous generalists flatten to "broadly strong"). Whitening tried to be the specialist lens and broke the math (junk on top, titans sunk). The shippable pair: percentile for the headline sector rank, and the floored residual as a "specialty/edge" signal beside it, never the whitened score.
The natural source-fix, stronger edge-weighting to make a hub's reputation topic-aware, was tested at three strengths (weak → no-floor → squared). It does not separate the mega-hubs: Altman & the AI titans stay percentile 1000 in every sector at every strength. But the run pinpoints where the answer actually lives, the AI-vs-quantum signal is already in the raw scores; ranking is what hides it.
Stronger gating: hubs unmoved · specialists sharpen · peripherals & junk break
V0, current weight ssi + 0.05
| account | ai/ml | quantum | nuclear | space | fintech |
|---|---|---|---|---|---|
| @sama (≡ all 6 titans) | 1000 | 1000 | 1000 | 1000 | 1000 |
| @pavelprata | 989 | 988 | 989 | 1000 | 993 |
| @wazzcrypto | 963 | 952 | 973 | 969 | 998 |
| @uselegion ★ | 478 | 527 | 468 | 892 | 811 |
| @ouigo_es / @polishtamales | 738 | 18 | 4 | 8 | 10 |
V2, strongest gating ssi², no floor
| account | ai/ml | quantum | nuclear | space | fintech |
|---|---|---|---|---|---|
| @sama (≡ all 6 titans) | 1000 | 1000 | 1000 | 1000 | 1000 |
| @pavelprata | 116 | 117 | 116 | 1000 | 116 |
| @wazzcrypto | 159 | 160 | 159 | 160 | 998 |
| @uselegion ★ | 156 | 157 | 156 | 157 | 155 |
| @ouigo_es / @polishtamales | 591 | 592 | 591 | 592 | 590 |
5 sectors. @sama (≡ all 6 titans) stays 1000 everywhere, sharper gating can't move him. @pavelprata sharpens to a clean space specialist (off-sectors 989→116). The cost: @uselegion, a genuine low-profile space account, is crushed (space 892→157), and the junk floats up to a uniform ~591. Strong gating is worse, not better.
The one number that matters, @sama's raw reputation
| weighting | AI raw | quantum raw | AI ÷ quantum | both percentiles |
|---|---|---|---|---|
| V0, current | 1.8e−2 | 1.1e−3 | 17× | 1000 / 1000 |
| V2, squared | 3.4e−2 | 8.9e−4 | 38× | 1000 / 1000 |
Altman's AI reputation is 17–38× his quantum, at the current weighting already. The separation exists. But his quantum raw, though tiny for him, still beats ~99.9% of 6.75M accounts, so the percentile pins it at 1000. Ranking against the population destroys the within-account distinction.
Two questions, two scales, the resolution
| question | right scale | Altman |
|---|---|---|
| "What is this person about?" (radar / DNA card) | within-account, his sectors vs each other | AI ≫ quantum (17–38×) ✓ |
| "Who's top in AI?" (leaderboard) | population percentile | top in AI ✓, & genuinely high quantum (real, not bleed) |
The fix for the thing that looked wrong. "Altman is AI, not quantum" is a within-account statement, and it's already true in the raw (17–38×). No cross-account ranking can surface it, his absolute quantum standing genuinely is top-tier. So the per-account sector profile should be scored by within-account-normalized raw, applied only to reputable carded accounts (you never card a train company, so the junk blow-up never arises). That is exactly what the InvestorDNA radar already does, each person normalized so their top sector = 100.
A collaborator proposed weighting connections by 1 / global-ET(follower), down-weight topic-blind "famous" influence, amplify niche specialists. We tested three forms. The best one (non-renormalized source down-weight) genuinely improves aggregate decorrelation and favors the right accounts, but none of them moves a mega-hub off the top of a sector percentile. That turns out to be structural, not a tuning failure.
First, the algebra: why "1/global on every edge" mostly cancels
In EigenTrust each account distributes 100% of its trust as shares across who it follows (rows sum to 1). Multiply all of one account's out-edges by the same factor (1/global) and the renormalization-to-100% divides it straight back out, a no-op. So only the forms that break that assumption do anything:
Decorrelation, sector↔global correlation (lower = better)
| sector | baseline | A · seed ∝1/g | C · target discount | Approach 2 · src down-wt |
|---|---|---|---|---|
| ai_ml | 0.643 | 0.642 | 0.662 | 0.605 |
| quantum | 0.604 | 0.604 | 0.604 | 0.530 |
| space | 0.626 | 0.626 | 0.648 | 0.578 |
| fintech | 0.524 | 0.523 | 0.549 | 0.479 |
A (seed) is a near-perfect no-op, reweighting ~30–48 curated seeds is too diluted to survive propagation. C (target) actually made it worse. Approach 2 is the only one that improves every sector (and it beats our current edge-weighting's ~0.61), its source factor correctly targets the famous (f: @sama 0.005, @pavelprata 0.61, @uselegion 0.999), lifts the niche (@uselegion space 892→920, @fabrizio 951→966) and sinks junk (@ouigo quantum 18→2). Matty's instinct is validated, as a non-renormalized source down-weight it's a real, modest pipeline improvement.
Full per-account grid, 12 sample accounts (global + 10 sectors)
baseline (B0), current edge-weighting
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 989 | 993 | 982 | 1000 | 999 | 990 | 988 | 989 | 994 | 982 |
| @WazzCrypto | 987 | 963 | 998 | 924 | 969 | 950 | 914 | 952 | 973 | 973 | 935 |
| @ZeMariaMacedo | 983 | 986 | 993 | 970 | 985 | 974 | 973 | 987 | 983 | 990 | 988 |
| @murphcapital | 976 | 956 | 977 | 908 | 991 | 978 | 960 | 865 | 975 | 974 | 927 |
| @redphone | 979 | 987 | 991 | 968 | 970 | 976 | 960 | 961 | 979 | 986 | 959 |
| @matty_ | 969 | 950 | 984 | 896 | 963 | 929 | 852 | 968 | 957 | 951 | 922 |
| @lukedelphi | 973 | 939 | 982 | 938 | 969 | 929 | 895 | 947 | 974 | 967 | 976 |
| @IamSage | 938 | 865 | 956 | 836 | 902 | 832 | 776 | 761 | 927 | 904 | 881 |
| @therosieum | 962 | 925 | 980 | 903 | 957 | 918 | 772 | 973 | 936 | 915 | 810 |
| @fabrizio_builds ★ | 923 | 859 | 893 | 826 | 951 | 877 | 709 | 881 | 722 | 947 | 743 |
| @uselegion ★ | 792 | 478 | 811 | 411 | 892 | 826 | 417 | 527 | 468 | 503 | 534 |
| @legiondotcc | 967 | 940 | 979 | 901 | 969 | 963 | 894 | 941 | 939 | 961 | 898 |
A · inverse-global seed weighting , identical to B0 within ±2; the seed reweighting is a no-op
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 989 | 993 | 982 | 1000 | 999 | 990 | 988 | 989 | 994 | 982 |
| @WazzCrypto | 987 | 963 | 998 | 923 | 969 | 951 | 914 | 952 | 973 | 972 | 935 |
| @ZeMariaMacedo | 983 | 986 | 993 | 970 | 985 | 974 | 974 | 986 | 983 | 990 | 988 |
| @murphcapital | 976 | 956 | 977 | 909 | 991 | 978 | 961 | 865 | 975 | 974 | 927 |
| @redphone | 979 | 987 | 991 | 967 | 971 | 976 | 960 | 961 | 979 | 986 | 959 |
| @matty_ | 969 | 950 | 984 | 898 | 965 | 930 | 852 | 967 | 957 | 950 | 922 |
| @lukedelphi | 973 | 940 | 982 | 939 | 970 | 929 | 896 | 947 | 974 | 968 | 976 |
| @IamSage | 938 | 865 | 956 | 838 | 905 | 833 | 776 | 761 | 927 | 903 | 882 |
| @therosieum | 962 | 926 | 981 | 905 | 959 | 918 | 771 | 973 | 936 | 914 | 810 |
| @fabrizio_builds ★ | 923 | 859 | 893 | 824 | 953 | 877 | 710 | 881 | 722 | 948 | 743 |
| @uselegion ★ | 792 | 479 | 812 | 411 | 896 | 828 | 419 | 526 | 468 | 501 | 533 |
| @legiondotcc | 967 | 941 | 980 | 901 | 970 | 963 | 895 | 941 | 939 | 961 | 897 |
C · target-side global discount , lifts niche, sharper but worse aggregate corr
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 988 | 993 | 980 | 1000 | 999 | 990 | 985 | 991 | 994 | 979 |
| @WazzCrypto | 987 | 973 | 998 | 936 | 976 | 950 | 914 | 959 | 984 | 979 | 913 |
| @ZeMariaMacedo | 983 | 992 | 996 | 980 | 993 | 981 | 983 | 993 | 992 | 994 | 992 |
| @murphcapital | 976 | 973 | 984 | 938 | 996 | 982 | 978 | 925 | 988 | 984 | 940 |
| @redphone | 979 | 991 | 995 | 970 | 987 | 982 | 969 | 980 | 989 | 991 | 971 |
| @matty_ | 969 | 967 | 991 | 927 | 985 | 960 | 864 | 980 | 972 | 968 | 935 |
| @lukedelphi | 973 | 960 | 990 | 958 | 985 | 960 | 934 | 975 | 986 | 979 | 979 |
| @IamSage | 938 | 887 | 974 | 853 | 960 | 878 | 796 | 779 | 948 | 931 | 917 |
| @therosieum | 962 | 946 | 985 | 911 | 981 | 945 | 784 | 983 | 953 | 940 | 839 |
| @fabrizio_builds ★ | 923 | 892 | 923 | 838 | 981 | 925 | 759 | 889 | 744 | 966 | 815 |
| @uselegion ★ | 792 | 621 | 836 | 560 | 955 | 867 | 615 | 666 | 614 | 674 | 707 |
| @legiondotcc | 967 | 963 | 987 | 927 | 987 | 976 | 922 | 958 | 954 | 976 | 940 |
Approach 2 · non-renormalized source down-weight , best aggregate decorrelation
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 988 | 992 | 972 | 1000 | 999 | 983 | 974 | 988 | 994 | 968 |
| @WazzCrypto | 987 | 970 | 998 | 922 | 982 | 962 | 876 | 942 | 977 | 982 | 887 |
| @ZeMariaMacedo | 983 | 989 | 995 | 965 | 989 | 974 | 965 | 990 | 989 | 992 | 986 |
| @murphcapital | 976 | 957 | 973 | 919 | 996 | 974 | 948 | 866 | 975 | 973 | 889 |
| @redphone | 979 | 989 | 994 | 959 | 977 | 979 | 948 | 966 | 979 | 989 | 957 |
| @matty_ | 969 | 958 | 990 | 910 | 980 | 934 | 793 | 978 | 964 | 956 | 918 |
| @lukedelphi | 973 | 937 | 989 | 933 | 974 | 929 | 901 | 955 | 980 | 974 | 966 |
| @IamSage | 938 | 863 | 964 | 857 | 929 | 842 | 779 | 773 | 917 | 900 | 897 |
| @therosieum | 962 | 926 | 988 | 911 | 969 | 911 | 765 | 977 | 936 | 930 | 822 |
| @fabrizio_builds ★ | 923 | 862 | 898 | 839 | 966 | 880 | 709 | 898 | 702 | 956 | 757 |
| @uselegion ★ | 792 | 558 | 832 | 460 | 920 | 839 | 513 | 630 | 561 | 597 | 623 |
| @legiondotcc | 967 | 955 | 985 | 897 | 976 | 977 | 900 | 948 | 943 | 970 | 900 |
Read: A_seed ≈ B0 (a no-op). C and Approach 2 both lift the genuine niche accounts, @uselegion ai 478 → 621 (C) / 558 (P2), space 892 → 955 / 920, and Approach 2 best decorrelates (every sector's corr drops, table above). The 12 here all clear the reputation floor; the differentiation is real, not bleed.
The 6 AI super-accounts, full grid (this is the whole point)
B0 / A_seed / Approach 2, identical: 1000 across every sector
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @sama | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @karpathy | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @ylecun | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @gdb | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @demishassabis | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @andrewyng | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
C · target discount, the only variant that even dents them (a handful of 997–999)
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @sama | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @karpathy | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 999 | 999 | 997 | 1000 | 1000 |
| @ylecun | 1000 | 1000 | 999 | 1000 | 999 | 999 | 998 | 1000 | 997 | 1000 | 1000 |
| @gdb | 1000 | 1000 | 1000 | 1000 | 998 | 998 | 998 | 998 | 998 | 999 | 1000 |
| @demishassabis | 1000 | 1000 | 999 | 1000 | 999 | 1000 | 999 | 999 | 997 | 1000 | 1000 |
| @andrewyng | 1000 | 1000 | 998 | 1000 | 999 | 999 | 998 | 999 | 997 | 1000 | 1000 |
Six different people, all pinned at the ceiling in all 10 sectors, under the baseline and the strongest source down-weight (Approach 2). Target-discount (C) barely scratches a few cells to 997–999. No weighting variant gives them a real per-sector profile, exactly the iron law below.
The iron law, raw separation explodes, percentile never moves
| weighting variant | @sama raw AI ÷ quantum | @sama quantum percentile |
|---|---|---|
| baseline (current) | 17× | 1000 |
| A · inverse-global seeds | 15× | 1000 |
| C · target-side discount | 306× | 1000 |
| Approach 2 · source down-weight | 2,218× | 1000 |
Every lever widens @sama's within-account AI-vs-quantum raw ratio, up to 2,218× under Approach 2 (his quantum raw is 0.05% of his AI). And at every step his quantum percentile stays pinned at 1000. We slashed his quantum reputation 2,200-fold and he's still top-percentile, because even that crushed value beats 99.9% of 6.75M accounts.
Could de-saturating (log-raw) on top of Approach 2 finally show the hub's profile? Tested two log-raw scalings of the Approach-2 raw. Clipped (the §9 standard): no, the hub still saturates. Unclipped (magnitude-preserving): yes, it dents the hub and even surfaces secondary strengths, but it compresses everyone below the absolute elite. It confirms §10/§11 rather than overturning it.
@sama, AI vs quantum vs nuclear, three scorings of the same raw
| scoring of the Approach-2 raw | @sama AI | @sama quantum | @sama nuclear | |
|---|---|---|---|---|
| percentile (rank) | 1000 | 1000 | 1000 | no profile |
| log-raw · clipped 99.9th (§9 standard) | 1000 | 1000 | 1000 | no profile |
| log-raw · unclipped (max-normalized) | 1000 | 735 | 773 | AI leads ✓ |
Percentile and clipped-log-raw both pin his quantum at 1000, his top-0.1% quantum raw sits above the 99.9th-pct clip, so it saturates. Only the unclipped magnitude scale preserves the 2,218× raw gap → AI 1000, quantum 735.
Unclipped log-raw, the 6 AI titans finally get real profiles
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @sama | 1000 | 1000 | 787 | 802 | 789 | 755 | 764 | 735 | 773 | 768 | 784 |
| @karpathy | 1000 | 1000 | 777 | 1000 | 760 | 766 | 720 | 728 | 657 | 769 | 802 |
| @ylecun | 1000 | 1000 | 706 | 808 | 732 | 725 | 697 | 729 | 677 | 746 | 777 |
| @gdb | 1000 | 1000 | 770 | 777 | 685 | 643 | 708 | 687 | 712 | 725 | 753 |
| @demishassabis | 1000 | 1000 | 712 | 768 | 729 | 1000 | 720 | 727 | 641 | 746 | 739 |
| @andrewyng | 1000 | 1000 | 678 | 791 | 706 | 713 | 697 | 705 | 630 | 729 | 774 |
AI is now clearly #1 for all six, and genuine secondary strengths surface: @karpathy robotics 1000 (Tesla autopilot), @demishassabis biotech 1000 (AlphaFold), @sama robotics/space/semi ~785–800. The magnitude scale recovers what percentile and the clip hid.
…but the cost, everyone below the elite compresses
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 998 | 356 | 391 | 356 | 657 | 588 | 375 | 369 | 392 | 393 | 353 |
| @WazzCrypto | 987 | 325 | 571 | 313 | 362 | 350 | 300 | 344 | 372 | 358 | 292 |
| @ZeMariaMacedo | 983 | 358 | 415 | 348 | 376 | 363 | 353 | 396 | 396 | 384 | 383 |
| @murphcapital | 976 | 313 | 350 | 311 | 414 | 363 | 340 | 304 | 369 | 347 | 293 |
| @redphone | 979 | 359 | 401 | 343 | 356 | 370 | 340 | 361 | 376 | 375 | 342 |
| @matty_ | 969 | 314 | 382 | 304 | 359 | 328 | 250 | 374 | 359 | 330 | 313 |
| @lukedelphi | 973 | 300 | 379 | 321 | 351 | 325 | 312 | 353 | 377 | 348 | 352 |
| @IamSage | 938 | 259 | 340 | 262 | 315 | 269 | 232 | 193 | 332 | 290 | 299 |
| @therosieum | 962 | 293 | 378 | 305 | 346 | 314 | 185 | 373 | 340 | 309 | 193 |
| @fabrizio_builds ★ | 923 | 259 | 299 | 246 | 344 | 295 | 134 | 320 | 239 | 330 | 149 |
| @uselegion ★ | 792 | 51 | 267 | 62 | 309 | 267 | 76 | 121 | 120 | 90 | 109 |
| @legiondotcc | 967 | 311 | 370 | 295 | 354 | 367 | 311 | 347 | 345 | 344 | 301 |
The same 12 sample accounts that read 900–1000 on percentile now read ~250–650: @pavelprata (global 998) mostly 350–650, @uselegion space 309 / ai 51. Stretching the scale to the single top squashes the merely-very-good. Fine for a per-account radar, poor for a cross-account leaderboard.
Where this leaves the scale choice
So log-raw can bolt onto Approach 2, and unclipped it does reveal the hub, but it inherits the cross-account compression. Same split as §10: leaderboard → percentile (clip/de-saturate as you like); "what is this person about" → within-account/radar.
Final solution: compute the sector raw with edge-weighting + Approach-2 source down-weight (best decorrelation, favors niche, sinks junk), and score it with log-raw (clipped). The result is a true graph-wide sector rank, comparable across accounts, you can rank people on it, but de-saturated, so the elite spread into a real gradient instead of all piling at 950+. One number per sector, one leaderboard. (A per-account "radar" is available as a separate card visual, see the footnote, but it's self-relative, not a graph rank, so it's not the leaderboard.)
What "Approach 2 · source down-weight" actually is
An EigenTrust variant that stops globally-famous accounts from leaking generic prominence into every sector. It's two layers on top of the trust propagation, then a scale:
ssi(target) + floor), then row-normalized so every account hands out 100% of its trust as shares. (The same edge-weighting used throughout this report.)f(u) = gref / (gref + global(u)), a factor that's ≈1 for normal/niche accounts and →0 for the genuinely globally-prominent (gref = the 99.9th-percentile global score). So a famous account passes only a small slice of its trust onward; a niche domain expert passes ~all of it. The unspent trust (the 1−f(u) part) is returned to the seed, so the system stays mass-conserving and converges.Why it helps. A famous account's follows are topic-blind, everyone follows them, they follow everyone, so their trust spills generic prominence into every sector. Shrinking their outflow makes sector trust flow preferentially through the niche, topic-specific accounts (the ones picked as seeds for being domain experts, not for being famous). That sharpens the sector signal: it's the best aggregate decorrelation of everything tested (§11, sector↔global 0.60→0.53), and it lifts genuine niche accounts while sinking junk hardest.
1/global(source) and then row-normalizing (standard EigenTrust) cancels out, a constant factor on all of one account's shares washes away when they renormalize to 100% (the algebra is in §11). Approach 2 sidesteps that by not renormalizing: it shrinks the famous account's total outflow and returns the remainder to the seed. And the bounded f = gref/(gref+global) is used instead of a literal 1/global, which would explode on the long tail (a near-zero-reputation account would otherwise pass near-infinite trust). It's a deliberate, non-row-stochastic variant, a real algorithm change, so it needs a pipeline re-run (it can't be done post-hoc on the published scores).The final leaderboard, Approach 2 + log-raw (clipped) · global + 10 sectors
12 sample accounts , GLOBAL = de-saturated overall score; sector cells = log-raw graph rank
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 962 | 585 | 644 | 591 | 1000 | 972 | 619 | 622 | 655 | 662 | 596 |
| @WazzCrypto | 774 | 534 | 941 | 519 | 608 | 579 | 496 | 580 | 620 | 604 | 493 |
| @ZeMariaMacedo | 736 | 589 | 684 | 577 | 633 | 600 | 583 | 668 | 661 | 647 | 646 |
| @murphcapital | 657 | 515 | 576 | 515 | 695 | 600 | 562 | 513 | 617 | 584 | 495 |
| @redphone | 696 | 590 | 660 | 568 | 598 | 611 | 561 | 608 | 627 | 631 | 577 |
| @matty_ | 604 | 517 | 630 | 505 | 603 | 543 | 413 | 631 | 600 | 555 | 528 |
| @lukedelphi | 628 | 492 | 624 | 533 | 590 | 537 | 515 | 595 | 629 | 586 | 594 |
| @IamSage | 507 | 426 | 559 | 435 | 529 | 445 | 382 | 326 | 554 | 488 | 505 |
| @therosieum | 573 | 481 | 622 | 506 | 582 | 520 | 306 | 629 | 568 | 521 | 327 |
| @fabrizio_builds ★ | 478 | 426 | 492 | 407 | 578 | 488 | 221 | 540 | 399 | 556 | 251 |
| @uselegion ★ | 348 | 84 | 440 | 103 | 519 | 441 | 125 | 204 | 201 | 152 | 185 |
| @legiondotcc | 594 | 512 | 610 | 489 | 596 | 607 | 514 | 586 | 575 | 579 | 508 |
6 AI super-accounts
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @sama | 975 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @karpathy | 967 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @ylecun | 963 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @gdb | 960 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @demishassabis | 959 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
| @andrewyng | 959 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 |
What you get: a graph-wide, cross-account sector rank (you can compare and rank people on it), but de-saturated, @pavelprata reads space 1000 with genuine standing elsewhere (585–972), not the percentile's flat 968–1000; @wazzcrypto fintech 941; @uselegion sits lower across the board (global 792 → cells 84–519) because his overall reputation really is lower. No 0s for strong accounts, and lower-reputation accounts correctly rank lower everywhere, that's the comparability the radar throws away.
Footnote, optional per-account "radar" (a separate card visual, not a rank)
For a per-person card you can additionally show a within-account view (each person normalized to their own top sector). It answers "what is this person about", @sama AI-dominant, @karpathy robotics, @demishassabis biotech, and is useful as a shape/visual. But it is self-relative, not a graph rank: a 1000 means "their own top sector," not "#1 on the graph," and you cannot rank people on it (it's exactly why a global-998 account like @pavelprata shows 0s in it). Use it only as a card visual alongside the overall score, never as the sector leaderboard. The leaderboard above is the final scoring.
Ship-it. Scores: edge-weighting + Approach-2 source down-weight (needs a pipeline re-run). Scale: log-raw, clipped, graph-wide sector rank, de-saturated, no 0s, comparable across accounts. Accept: the ~6 universal hubs read ~1000 across sectors (their real top-tier standing, unavoidable and correct on any rank). Optional: within-account radar as a per-card visual only. Never: the v2 whitened _score, or the raw percentile's "everything ≥950" saturation. This is the final. (§14 below upgrades two of the three components, same architecture.)
The question: with §13 settled, is there anything left that keeps sectors more decorrelated, still floats the best accounts to the top, and gives a better representative score? Answer: yes, two upgrades survived a sweep of the remaining design space (experiments v20–v21, validated on all 10 sectors): a purity edge-weighting, the original §1 edge-weighting upgraded with a purity factor (named SPEC, for specificity, in the experiment scripts & result files), and an un-pinned elite band on the scale, shown in two rank-identical displays, a magnitude scale that reads like §13's log-raw and a rank scale that reads like percentiles. Same §13 architecture, the Approach-2 source down-weight stays exactly as is, but two of its three components get swapped. Everything else tested is a confirmed dead end (card below).
What changes vs §13, 2 of 3 components
f(u), unchanged. The Approach-2 layer from §13 stays exactly as documented there.| followed by | §13 weight (strength only) | purity weight (strength × purity) | |
|---|---|---|---|
| quantum specialist | 8 quantum seeds, no other seeds | 8 | 8 × 8/8 ≈ 7.6, keeps ~full weight |
| mega-hub | the same 8 quantum seeds + 70 AI/space/fintech seeds | 8, identical to the specialist | 8 × 8/78 ≈ 0.8, diluted ~9× |
ew = (ssi_s + 0.05) × (ssi_s + 0.05)/(ssi_total + 0.5) at the target (the 0.05/0.5 floors keep never-endorsed accounts at a tiny non-zero weight), rows renormalized to 100% as always, Approach-2 source down-weight f(u) applied on top unchanged.Decorrelation, every one of the 10 sectors improves
Sector↔global correlation (rank level; lower = more sector-specific signal). purity weighting beats the §13 edge weight in all 10 sectors; purity + un-pinned scale together cut the average from 0.54 → 0.40:
| sector | §13 · percentile | purity · percentile | §13 + un-pinned | purity + un-pinned |
|---|---|---|---|---|
| ai/ml | 0.605 | 0.549 | 0.573 | 0.352 |
| fintech | 0.479 | 0.423 | 0.459 | 0.286 |
| robotics | 0.611 | 0.547 | 0.600 | 0.487 |
| space | 0.578 | 0.513 | 0.566 | 0.411 |
| biotech | 0.579 | 0.519 | 0.567 | 0.417 |
| climate | 0.546 | 0.504 | 0.536 | 0.386 |
| quantum | 0.530 | 0.458 | 0.520 | 0.369 |
| nuclear | 0.444 | 0.384 | 0.442 | 0.344 |
| defense | 0.591 | 0.528 | 0.580 | 0.448 |
| semi | 0.595 | 0.534 | 0.583 | 0.457 |
| average | 0.556 | 0.496 | 0.543 | 0.396 |
Columns: §13 raw scored by percentile · purity-weighted raw by percentile · §13 raw on the un-pinned (knee) scale · purity-weighted raw on it. The §11 source down-weight took 0.60 → 0.53; purity weighting + an un-pinned scale continues to ~0.40, the largest decorrelation of anything tested in this report, with no degenerate side effects (unlike whitening, §8). The two v2.1 scale variants are rank-identical, so their correlations match (LOG-KNEE avg 0.394 · KNEE avg 0.396).
The v2.1 leaderboard, new scores (purity edge-weighting + Approach 2), shown on the magnitude scale
This is the v2.1 proposal as it would ship. The scale is LOG-KNEE, §13's log-raw (clipped) scale, kept: every score below the top band is the §13-style log-raw value (×0.95), so the numbers read exactly like the §13 final you've already seen. The only scale change is at the very top: the scores that §13's clip pinned to a flat 1000 now spread 950–1000 by magnitude.
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 913 | 392 | 455 | 441 | 957 | 905 | 436 | 442 | 497 | 499 | 424 |
| @WazzCrypto | 736 | 397 | 893 | 416 | 501 | 492 | 368 | 470 | 512 | 498 | 354 |
| @ZeMariaMacedo | 699 | 494 | 593 | 525 | 565 | 543 | 516 | 601 | 611 | 585 | 560 |
| @murphcapital | 624 | 429 | 487 | 478 | 638 | 502 | 470 | 466 | 559 | 528 | 414 |
| @redphone | 661 | 495 | 570 | 522 | 535 | 569 | 510 | 539 | 565 | 570 | 525 |
| @matty_ | 574 | 429 | 547 | 473 | 553 | 498 | 354 | 559 | 535 | 493 | 416 |
| @lukedelphi | 597 | 410 | 538 | 486 | 523 | 481 | 489 | 536 | 573 | 534 | 517 |
| @IamSage | 482 | 343 | 478 | 412 | 484 | 393 | 298 | 217 | 468 | 433 | 441 |
| @therosieum | 544 | 393 | 535 | 460 | 528 | 461 | 219 | 543 | 528 | 476 | 220 |
| @fabrizio_builds ★ | 454 | 360 | 420 | 346 | 525 | 444 | 110 | 483 | 314 | 504 | 142 |
| @uselegion ★ | 330 | 0 | 372 | 55 | 476 | 391 | 46 | 99 | 133 | 65 | 112 |
| @legiondotcc | 565 | 430 | 526 | 429 | 542 | 575 | 452 | 520 | 523 | 526 | 459 |
| AI SUPER-ACCOUNTS | |||||||||||
| @sama | 996 | 1000 | 968 | 971 | 967 | 962 | 963 | 958 | 965 | 966 | 968 |
| @karpathy | 995 | 1000 | 966 | 1000 | 963 | 964 | 955 | 957 | 892 | 967 | 971 |
| @ylecun | 994 | 1000 | 954 | 973 | 958 | 959 | 952 | 959 | 941 | 964 | 968 |
| @gdb | 994 | 1000 | 966 | 968 | 951 | 867 | 954 | 951 | 955 | 960 | 964 |
| @demishassabis | 994 | 1000 | 956 | 967 | 958 | 1000 | 957 | 958 | 844 | 964 | 962 |
| @andrewyng | 994 | 1000 | 945 | 971 | 954 | 958 | 953 | 954 | 862 | 961 | 969 |
Hubs: @sama reads AI 1000 · quantum 958, clearly elite everywhere, #1 only where he genuinely is. @karpathy's robotics 1000 and @demishassabis's biotech 1000 (Isomorphic Labs) are real and kept, and the magnitude band separates them hard where they're weakest (@demishassabis nuclear 844, @karpathy nuclear 892). Specialists: profiles get shape without losing graph-comparability, @pavelprata space 957 vs AI 392; @wazzcrypto fintech 893 vs AI 397. Junk sinks further (@ouigo_es ai/ml 267, 0 elsewhere, global 56). Even the GLOBAL column de-saturates: the hubs differentiate at 994–996 instead of all reading 1000.
Same scores, alternative display, the rank scale
Identical v2.1 scores (purity edge-weighting + Approach 2), identical rank order, only the number semantics change. Here the score below the top band is the percentile (mapped 0–950), so bulk numbers read much higher than §13's log-raw, and "≥950" literally means top 0.5% of the graph. Pick this one if scores should feel like ranks ("top 3%") rather than magnitudes; the choice between the two displays is deferred to product calibration.
| account | GLOBAL | ai/ml | fintec | roboti | space | biotec | climat | quantu | nuclea | defens | semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| @pavelprata | 958 | 725 | 815 | 785 | 972 | 964 | 770 | 740 | 854 | 876 | 768 |
| @WazzCrypto | 943 | 738 | 952 | 756 | 881 | 868 | 611 | 796 | 878 | 874 | 702 |
| @ZeMariaMacedo | 939 | 921 | 945 | 891 | 937 | 923 | 910 | 943 | 946 | 943 | 927 |
| @murphcapital | 932 | 822 | 878 | 835 | 950 | 880 | 844 | 786 | 927 | 908 | 755 |
| @redphone | 935 | 922 | 941 | 888 | 919 | 937 | 903 | 903 | 931 | 937 | 900 |
| @matty_ | 925 | 822 | 934 | 828 | 931 | 876 | 584 | 921 | 907 | 868 | 757 |
| @lukedelphi | 929 | 779 | 929 | 845 | 906 | 854 | 876 | 900 | 934 | 914 | 892 |
| @IamSage | 896 | 581 | 863 | 749 | 859 | 718 | 528 | 565 | 796 | 773 | 793 |
| @therosieum | 918 | 726 | 928 | 811 | 911 | 825 | 499 | 907 | 901 | 843 | 646 |
| @fabrizio_builds ★ | 881 | 634 | 732 | 690 | 908 | 799 | 398 | 821 | 521 | 882 | 528 |
| @uselegion ★ | 757 | 0 | 599 | 207 | 848 | 715 | 213 | 376 | 406 | 269 | 443 |
| @legiondotcc | 923 | 826 | 923 | 770 | 925 | 939 | 808 | 879 | 895 | 906 | 819 |
| AI SUPER-ACCOUNTS | |||||||||||
| @sama | 997 | 1000 | 972 | 981 | 979 | 975 | 976 | 971 | 976 | 978 | 978 |
| @karpathy | 996 | 1000 | 971 | 1000 | 976 | 976 | 971 | 971 | 963 | 978 | 980 |
| @ylecun | 996 | 1000 | 960 | 982 | 973 | 973 | 969 | 972 | 965 | 976 | 978 |
| @gdb | 995 | 1000 | 970 | 979 | 968 | 962 | 970 | 967 | 969 | 974 | 976 |
| @demishassabis | 995 | 1000 | 961 | 978 | 973 | 1000 | 972 | 971 | 960 | 976 | 974 |
| @andrewyng | 995 | 1000 | 956 | 981 | 970 | 972 | 969 | 969 | 961 | 974 | 979 |
Compare any row with the table above, e.g. @matty_ quantum reads 559 on the magnitude scale and 921 here. Same account, same raw score, same rank; the magnitude scale spreads people by how much reputation they have, the rank scale by how many accounts they beat.
Interim path (no pipeline re-run): if the v2.1 pipeline re-run isn't scheduled yet, the un-pinned top band also works as a pure display swap on the unchanged §13 scores, identical ranks, ships in seconds, and already removes the flat-1000 hub rows (@sama reads AI 1000 / quantum 977), but decorrelation stays at §13's 0.54 until the re-run lands (full table: results_v21_spec_full10.txt, P2_knee).
Choosing between the two displays, pros & cons
Reminder: both sit on the same v2.1 raw scores, identical ranks, identical leaderboards, identical decorrelation. Only the printed number changes; the trade-off is what that number communicates.
Magnitude scale (reads like §13's log-raw)
Rank scale (reads like a percentile)
Leaderboard sanity, top 10 per sector under v2.1
The decorrelation does not disturb who floats to the top, every sector's leaderboard is its genuine authorities, and crossovers appear exactly where they should (@elonmusk in robotics + space only; @karpathy in AI + robotics; @jigarshahdc in climate + nuclear):
Trade-offs & the dead ends (so nobody re-tests them)
shareγ, γ<1) softens it if calibration shows it's too aggressive.Ship-it v2.1. Scores: purity edge-weighting + Approach-2 source down-weight (one pipeline re-run). Scale: two rank-identical displays, final pick deferred to product calibration, the magnitude scale (LOG-KNEE: §13's log-raw feel kept, bulk scores ≈ §13 × 0.95, top 0.1% spreads 950–1000) or the rank scale (KNEE: bulk reads as percentile, "≥950" = top 0.5%). Result either way: sector↔global 0.54 → 0.40 with every sector improved, leaderboards intact, hubs elite-but-differentiated, specialists shaped, junk lower, no 0s for genuinely strong accounts. Interim path: un-pinning §13's scale on the unchanged §13 scores ships with zero ranking risk while the pipeline re-run is scheduled. Unchanged: never the whitened _score; radar stays a per-card visual only. Shipped: this was the production scoring in June, verified in §15 (since superseded by the 2026-07-22 full-graph rebuild, see banner).
v2.1 is no longer a proposal. A production export, data/eigen-rep-prod/eigentrust-v2.1-downweight-purity-logknee.csv (6,752,453 rows, flat 24-col schema), landed on 2026-06-10 implementing the §14 recommendation: purity edge-weighting + famous-source down-weight + log-knee magnitude scale. Verified against this report's offline computation: ranks match (global 0.99999, sectors 0.996–0.9997, all ten top-15 leaderboards identical); the small displayed-value differences are calibration-anchor cosmetics, quantified below.
What was verified
| check | result |
|---|---|
| Population | 6,752,453 rows · 0 unknown handles, exactly the scored set of the live graph |
| Global ranks | spearman 0.99999 |
| Sector ranks | spearman 0.996–0.9997 across all 10 sectors (tie-aware, non-zero accounts) |
| Top-15 leaderboards | identical in all 10 sectors (15/15) |
| Top-1000 per sector | ≥978/1000 in 9 sectors; climate 945/1000 |
| Hub rows | @sama AI 1000 · quantum 958 · global 996, within ±1–2 of the §14 magnitude table |
| Junk & structure | @ouigo_es ai/ml 266 (report 267), 0 elsewhere; @uselegion AI 0, matches exactly |
Per-sector rank agreement
| sector | rank agreement (spearman, non-zero) | top-15 match | top-1000 overlap |
|---|---|---|---|
| ai/ml | 0.99968 | 15/15 | 1000/1000 |
| fintech | 0.99966 | 15/15 | 992/1000 |
| robotics | 0.99916 | 15/15 | 1000/1000 |
| space | 0.99921 | 15/15 | 998/1000 |
| biotech | 0.99907 | 15/15 | 1000/1000 |
| climate | 0.99730 | 15/15 | 945/1000 |
| quantum | 0.99623 | 15/15 | 990/1000 |
| nuclear | 0.99947 | 15/15 | 987/1000 |
| defense | 0.99852 | 15/15 | 978/1000 |
| semi | 0.99799 | 15/15 | 980/1000 |
Method: tie-aware Spearman on 200k-account random samples restricted to non-zero accounts; top-N lists ranked by production score with raw-score tiebreak. Script: scripts/experiments/v22_verify_prod_v21.py.
Why displayed values differ by a few points (and why it doesn't matter)
Production's bulk scores sit +5 to +30 points above the report's tables, most at the bottom of the scale, zero at the top. This is calibration, not ranking: fitting the prod−report delta against log₁₀(raw) gives a perfect line (residual σ = 0.26, below rounding), which is the signature of the same formula with a slightly different lo anchor. The root cause is the non-zero set: production counts a few hundred thousand more accounts as non-zero per sector (different dust threshold), which moves the 0.5th-percentile floor of the log scale and the _percentile denominator. Every shift is monotone, nobody's rank moves.
>1e-15, lo = 0.5th pct of log₁₀(non-zero raw), knee = 99.9th pct, band = 950, linear percentile interpolation.Where everything lived (as of 2026-06-10)
data/eigen-rep-prod/, the 2026-06-03 graph (accounts.csv, follow-edges.csv, unchanged) + the v2.1 scores (eigentrust-v2.1-downweight-purity-logknee.csv).data/archive/eigen-rep-prod-scores-2026-06-03/; the v2 λ-whitening exports (§8) + source zip → data/archive/eigenrep-v2-exports-2026-06-08/. Each with a README.scores.csv schema (5 cols, sector_scores JSON) is gone from the live dir, cards/investor_dna/scripts/build_eigen.py and the S1-promotion scripts still point at it and need porting to the flat 24-col schema.§1–§15 tuned the graph; §16 adds what the graph provably cannot supply. The whole scoring line (v1 → v2 → v2.1) is graph-structural only, it swaps the seed/teleport vector and reweights edges. Two proofs (below) say that can never fix the sector pollution the founder raised: a mega-hub the sector seeds genuinely follow keeps a top sector percentile no matter how edges are weighted. The missing ingredient is content, a per-account, per-sector topical-relevance signal r_s derived from what an account is and posts, which the relevance columns of the v2.1 export were empty for.
v2.3 shipped that as a layered stack, all live in the June-graph build and its read-only API (2026-07-18; since superseded by the 2026-07-22 rebuild, see banner): (0) the content signal r_s; (3) a content gate + account-type filter that removes off-topic accounts from a sector; (2) the floored purity-ratio ρ specialty lens; and (4) a decibel scale that de-saturates the top. Same 2026-06-03 graph, same 318 seeds; v2.1's global ranks are unchanged. Research record: docs/technical/eigenrep-v3-redesign.md (diagnosis + literature survey) & eigenrep-v3-results.md (what shipped, with numbers).
The finding, why no graph change can fix sector pollution
Proof 1 · linearity. Personalized PageRank is linear in the teleport vector, so π_global = Σ_s (|S_s|/|S|)·π_s, each sector score is an additive component of the global score on the identical operator. Swapping the seed vector (which is all EigenRep does) can never escape "sector ≈ global."
Proof 2 · the iron law (§10–§12). Edge-weighting blew Altman's within-account AI ÷ quantum raw ratio to 2,218× and his quantum percentile never left 1000, because even his crushed quantum raw beats 99.9% of a mostly-empty graph. You cannot demote a hub on a percentile by reweighting; you have to refuse it the score.
Sector "flood" on live v2.1, trust reaches most of the graph, so every celebrity clears "top 5%":
| sector | accounts scored | % of graph |
|---|---|---|
| nuclear | 4,290,065 | 63.5% |
| semiconductors | 3,927,476 | 58.2% |
| defense | 3,874,727 | 57.4% |
| ai / ml | 2,453,030 | 36.3% |
Live probe: @elonmusk & @realdonaldtrump read 999p in all 10 sectors; a prototype found 86% of the defense top-500 had no topical term in their own bio.
Layer 0 · the content signal r_s, what an account is, not who follows it
For the top ~40k accounts per sector (the union where all pollution lives, the 6.6M-account tail already scores ≈0), embed name + bio + tweets with all-MiniLM-L6-v2 and take the cosine to a per-sector centroid (½ seed-account text + ½ a hand-written sector description). r_s ∈ [0,1] is semantic, not keyword, the named failure mode is Jimmy Fallon's bio joking "astrophysicist" and landing in a quantum top-500; the embedding places his comedy far from the quantum centroid regardless. The signal cleanly separates real operators from famous bystanders:
| account | what they are | on-topic r_s | best off-topic |
|---|---|---|---|
| @whatisnuclear | nuclear engineer | nuclear 0.67 | 0.52 |
| @preskill | quantum physicist | quantum 0.61 | 0.49 |
| @lrocket · Tom Mueller | rocket propulsion | space 0.61 | 0.50 |
| @sama | AI (OpenAI) | ai/ml 0.50 | 0.40 |
| @elonmusk | generalist mega-hub | space 0.35 (peak) | |
| @jk_rowling | novelist | quantum 0.21 (peak) | |
| @mrbeast | creator | ai/ml 0.19 (peak) | |
| @jimmyfallon | TV host | climate 0.21 (peak) |
Experts sit at 0.50–0.75 in their domain; celebrities peak at ~0.2–0.35 everywhere. The per-sector gate threshold, θ = median r_s of the sector's top-1000 (quantum 0.55, space/nuclear 0.41, defense 0.36), falls in the gap between them.
Layer 3 · the content gate, earn the sector or leave it
An account holds a sector-s score only if eligible(v,s) = is_seed(v,s) OR abstain(v) OR r_s ≥ θ_s, otherwise the score is zeroed and the percentile recomputed over the surviving pool. Three hardening layers close the gaps:
Seed-whitelist, a thin bio ≠ not an expert
A hand-curated sector seed is exempt from its own r_s floor. Rescued (would drop on r_s alone): @elonmusk in space (r_s 0.35, kept as a space seed), plus @sacca & @shellenberger (nuclear), @jaygambetta (quantum), @masason (semi), @ericschmidt (defense), terse-bio operators the embedding can't see but who genuinely belong.
Account-type filter, the r_s-passers that aren't people
X verifiedType + isAutomated, scraped for all 20,367 gate-survivors. 672 excluded even when a stray keyword clears r_s: @boeingspace, @cerebras, @federalreserve, @dhsgov, @nasauniverse, @coindesk, @elevenlabs… Government is split by a name heuristic so agencies drop but astronauts/officials stay.
Deeper coverage for thin bios, tweets + other languages
Tweets: for 1,308 accounts whose bio alone was too thin, r_s was recomputed from bio + up to 20 original tweets, e.g. @jimmyfallon space 0.47 → 0.14 once his actual (comedy) tweets are read, so he gates out. Languages: 321 non-English "abstain" accounts were scored in a separate multilingual model, 128 kept in-sector (e.g. Japanese AI/quantum/robotics researchers), 193 gated (parenting/creator accounts), instead of blanket-keeping them.
The effect is invisible at the top (the top-15 leaderboards were already clean, §15) and decisive in the 990–999 percentile band, the number a card actually shows. All scraped inputs are committed under data/eigen-rep-prod/ (SCRAPED_DATA.md) so nobody re-scrapes; total one-time cost ≈ $8.
Layer 2 · the purity-ratio ρ specialty lens, and the pollution, gone
On top of the gate, the floored purity ratio ρ = tsector / tglobal (λ=1, applied only where global rank is elite so a tiny denominator can't explode) demotes an account's off-domain sector standing, the "specialty lens." The table below is the combined payoff, gate + ρ, v2.1 → v2.3 percentiles, on the accounts the founder named. Net sector↔global percentile correlation over the surfaced pool: 0.38 → 0.16 (avg of 10 sectors).
| account | sector | v2.1 pct | v2.3 pct | what happened |
|---|---|---|---|---|
| JK Rowling | ai/ml · quantum · nuclear | 998 · 999 · 999 | 0 · 0 · 0 | novelist, gated from every sector |
| MrBeast | ai/ml | 999 | 0 | creator, gated |
| Barack Obama | ai/ml · defense | 999 · 999 | 0 · 0 | politician, gated |
| Turning Point USA | space · defense | 999 · 996 | 0 · 0 | advocacy org, gated |
| Piers Morgan | defense | 999 | 0 | broadcaster, gated |
| Elon Musk | semiconductors | 999 | 0 | off-topic for him, gated |
| Elon Musk | space | 999 | 1000 | genuine (SpaceX), kept #1 |
| John Preskill | quantum | 1000 | 1000 | in-domain, kept #1 |
| John Preskill | nuclear · semi | 739 · 998 | 0 · 759 | ρ demotes his off-domain standing |
| @whatisnuclear | nuclear | 1000 | 1000 | in-domain, kept |
| @whatisnuclear | ai/ml | 994 | 379 | ρ demotes off-domain |
Layer 4 · the decibel scale, the elite band is finally scarce
The log-knee magnitude scale (§14) put 13,067 accounts at ≥900, "top" meant nothing. v2.3's global headline is a decibel scale: clip(1000 + 140·log₁₀(raw / r_ref), 0, 1000), anchored to a frozen #1-account raw so it never re-inflates as the graph grows. Now 319 accounts clear 900. Sectors and the world rank also carry a fixed-headcount tier ladder.
| ≥ 900 accounts | count |
|---|---|
log-knee score (old) | 13,067 |
decibel db (v2.3) | 319 |
| decibel at world rank | db |
|---|---|
| rank 100 | 950 |
| rank 1,000 | 751 |
| rank 10,000 | 636 |
| rank 100,000 | 487 |
Tier ladder, fixed headcount by world rank (per sector and global)
| Legend | Titan | Elite | Notable | Ranked | Unranked |
|---|---|---|---|---|---|
| 100 | 400 | 1,500 | 28,000 | 70,000 | 6.65M |
| 1–100 | 101–500 | 501–2k | 2k–30k | 30k–100k | >100k |
Our 12 sample accounts in the final v2.3 scoring
The accounts this report has tracked since OLD → NEW → IMPROVED, as they stand in v2.3, decibel headline, world rank and tier. None currently holds a vetted sector standing: all 12 sit below the top-5000-by-graph-score band the content gate vets, so under the Tier-0 rule "only surface a sector score for a content-verified account" they show global standing only. (An earlier version of this table showed sector scores of 200–889 here, those were un-vetted tail artifacts, removed by the Tier-0 fix; see eigenrep-v3-audit.md. The Tier-2 full-graph r_s embed on the roadmap will extend sector coverage to accounts like these.)
| account | world rank | decibel | tier | vetted sector standing |
|---|---|---|---|---|
| @pavelprata | 10,885 | 631 | Notable | , none (not in vetted band) |
| @wazzcrypto | 85,247 | 502 | Ranked | |
| @zemariamacedo | 111,783 | 475 | Unranked | |
| @murphcapital | 159,850 | 421 | Unranked | |
| @redphone | 140,179 | 448 | Unranked | |
| @matty_ | 210,338 | 385 | Unranked | |
| @lukedelphi | 183,571 | 401 | Unranked | |
| @iamsage | 415,837 | 318 | Unranked | |
| @therosieum | 257,608 | 363 | Unranked | |
| @fabrizio_builds | 522,133 | 298 | Unranked | |
| @uselegion | 1,401,598 | 208 | Unranked | , (Legion reference acct) |
| @legiondotcc | 223,228 | 378 | Unranked | , (Legion reference acct) |
Decibel = frozen-anchor magnitude 0–1000; tier by world rank (Notable = 2,001–30,000). That the whole set shows "no sector" is the honest post-audit state: v2.3 only vouches for the ~800–4,100 content-verified accounts per sector (quantum 797 … defense 4,135); broadening that coverage is the Tier-2 build.
What we tried, and the two hard limits (the research)
ρ is the survivor of a full sweep of source-side decorrelators, each a complete EigenTrust re-run on the 39.6M-edge graph. Metric = sector↔global rank correlation on the raw sector vector (lower = less popularity leakage); v2.1 baseline = 0.40.
| approach | corr | verdict |
|---|---|---|
| v2.1 baseline, purity edge-weight + famous-source down-weight | 0.40 | keep |
| IDF / PMI edge weighting | 0.61 / 0.60 | ✗ backfires, floats junk (popularity discount ≠ topic) |
| degree-norm ÷ √in-degree | 0.32 | ✓ safe mild win |
| floored purity ratio ρ (λ=1, floor ≥ 900th pct) | 0.10 | ✓✓ the win, specialists sharpen, titans stay #1 in-domain |
| ρ with floor ≥ 500th pct, or ρ on IDF/PMI edges | −0.1 to −0.3 | ✗ over-corrects → whitening trap (junk floats to 900+) |
| topical edge-weight with the 40k r_s | 0.65–0.68 | ✗ needs r_s for all 6.75M (~38-hr embed); the tail re-pollutes |
Where v2.3 lived (June-graph build)
eigentrust-v2.3-{purity-ratio,content-gated,scored}.csv in data/eigen-rep-prod/, global identical to v2.1; sectors = ρ + gate; the -scored file adds the decibel headline + tiers.scripts/eigenrep_content_gate/build_v23.py → apply_gate.py → scale_tiers.py; content signal in build_rs.py. Scraped inputs (account types, tweets, r_s) are committed under data/eigen-rep-prod/, see SCRAPED_DATA.md so nobody re-scrapes.build_sample_api.py, the S1-promotion scripts, and cards/investor_dna/scripts/build_eigen.py all prefer v2.3 (v2.2 → v2.1 fallback). The read-only API now exposes global.db, global.tier, sectors.*.tier, and a score_scales block. Full write-up: docs/technical/eigenrep-v3-redesign.md + eigenrep-v3-results.md.§16 shipped v2.3; then it was stress-tested to breaking. A five-agent adversarial audit (each agent re-deriving from the live CSVs, not from this report) found v2.3 strong in its showcase band but failing below it: the content gate had vetted only the top-5000/sector (~0.6% of the graph), so un-vetted junk held Elite sector tiers; the global ladder still ranked brands/celebrities among the investors; and no validation existed at all. What followed is a systematic, measured hardening, and the headline is that an eval harness now scores six quality axes and every one is green.
The quality scorecard, eval_harness.py, ~196 handle-verified cases
| axis | what it measures | score |
|---|---|---|
| Expert recall | 117 real sector experts hold their sector | 99% |
| Pollution precision | 48 celebrities / athletes / musicians gated from every sector | 100% |
| Hard-neg precision | 26 sector media / newsletters / brand-orgs kept out of top standing | 100% |
| Bridge retention | 7 genuine dual-sector accounts hold both | 100% |
| Global tier hygiene | brands / agencies out of the investor tiers | 100% |
| Adversarial gaming | bio-stuffers blocked from inheriting a sector score | 100% |
The single recall miss is Mira Murati (a borderline case at the rescue threshold). A broad manual sweep confirms every sector's top-15 is genuine experts. Full record: docs/technical/eigenrep-v3-audit.md.
What was fixed, three tiers of hardening
Tier 0 · honest denominators
The un-vetted tail (6.7M accounts) is zeroed in every sector, so a sector percentile is computed over the content-vetted pool, not the flood, a fly-fishing report no longer read "space Elite". Global was re-sourced verbatim from the prod v2.1 CSV (a build had regenerated it from experiment raws and drifted up to 63% for mid-tier accounts).
Tier 1 · the global ladder is now investors
Org filter → "Org" tier: 672 brands / media / agencies / VC-firms (OpenAI, NASA, Tesla, Sequoia, YC, CNBC) pulled out of Legend/Titan/Elite. ρ_global → "Fame" tier: 298 generic-fame individuals (CNN, Bernie, Pelosi, Tom Hanks) demoted by a seeded÷uniform-PageRank purity ratio. Seed-badge: the 318 curated anchors are flagged (global_is_seed) so the elite tier isn't misread as organically discovered. ρ demote, not delete: a floored purity multiplier restored the content-verified cross-sector bridges the earlier ρ had zeroed (Preskill nuclear 0→369).
Tier 2 · the signal, measured
ALF follower-composition backstop asks: is an account's follower set over-represented in sector s vs the base rate? Thin-bio experts followed by sector people are rescued, Peter Shor, whose bio is song lyrics (r_s 0.29), has followers 54× concentrated in quantum → quantum Legend; celebrities followed by everyone stay at lift ≈ 1 and are not rescued. Recall 73% → 99%. ALF corroboration closes the bio-stuffing attack, a stuffed bio can't move the follower signal, so "@realdonaldtrump + defense keyword" is blocked. Media/brand detector catches the unpaid outlets X's verifiedType misses (The Robot Report, Endpoints News, EE Times, AnandTech), lifting hard-negative precision 38% → 100%.
Honest limits, measured, not hidden
§17 closed all-green; then the objective the whole report was tuned against went on trial. Every source-side decorrelator was re-run with tweaked values, and three independent adversarial reviewers audited the result. One conclusion: the corr number this report optimized since §11, sector↔global correlation, was measuring noise, and on the metric that actually matters no decorrelator beats any other, including doing nothing. The scoring doesn't change; the way it is judged does, and that is the real fix.
Why corr was the wrong ruler, four proofs
| proof | finding |
|---|---|
| wrong region | the top-100 a card actually shows is ≤0.01% of the whole-graph statistic, a full top-100 reshuffle moves corr by <0.0001. 99.99% of it is dormant accounts no one sees. |
| unstable | the same baseline reads 0.396 or 0.496 depending only on how zero-tied accounts are ordered. A ruler that wobbles 0.1 on a bookkeeping choice can't grade 0.1-scale changes. |
| no signal | a naive expertise oracle returned −0.50 in all 10 sectors, a pure zero-atom index artifact, not a target. |
| wrong direction | done right (over the real community) the legitimate target is positive, +0.28…+0.48, sector-specific, real experts are globally prominent. "Minimize toward 0" was chasing past the signal floor; the old "0.10 = the win" was over-whitening. |
On ground truth, every decorrelator is the same, and why
North-star metric = AUC: per sector, the fraction of (real expert, non-expert) pairs the ranking orders correctly. Rank-based, un-gameable by rescaling, lives at the top where the product is. Measured on the raw decorrelator vectors, ~12 experts × sector media/celebrities:
| decorrelator | AUC (expert>media) | verdict |
|---|---|---|
| BASE (no decorrelator) | 0.994 | already at the ceiling |
| purity-ratio ρ (shipped) | 0.994 | identical |
| degree-norm / IDF / PMI / matched-null | 0.994 | identical |
| posterior-share | 0.855 | the only mover, worse (floated 82 junk accts into a top-100) |
The corr spread across these was huge (0.60 → −0.21); the ground-truth difference is zero. The reason is a hard ceiling: a graph-only decorrelator can only flatten uniform fame, never demote it. Elon in quantum sits at percentile 999.9 → 998.1 (ρ) → 999.5 (matched-null), no method, however principled, pushes a universally-followed celebrity below the real experts. Only the content gate (what an account posts) and the org/media filter crack that, which is exactly what they already do (§16–§17).
The one robustness idea, tested and declined, the matched-null denominator
ρ = tsector/tglobal is a known, sound quantity (1 − Gyöngyi spam-mass, a likelihood ratio). Theory says the denominator should be uniform-popularity, not the investor-seeded global, a version that needs no bridge-protecting floor. It was built and measured against the shipped floored ρ on 29,076 content-eligible cross-sector standings:
| method | median bridge pct | % crushed <pct-100 |
|---|---|---|
| ρ unfloored | 0 | 76.6% |
| ρ floored, shipped | 747 | 2.9% |
| matched-null (no floor) | 574 | 9.6% |
Declined. The robustness claim doesn't hold empirically, the simple floor protects genuine cross-sector bridges better than the principled null (3× fewer crushed), with no offsetting AUC gain. The elegant theory loses to the measurement.
What changed, the ruler, not the scores
Kept: the shipped decorrelator (ρ + demote-floor). Nothing beats it on ground truth, and the low-corr variants over-whiten below the real signal floor. Retired: corr as an objective, it's now a one-line tripwire that fires only on inversion or fame-leak. New north star in eval_harness.py, on the live scored CSV:
| sector AUC (expert > non-expert) | score |
|---|---|
| mean across sectors, experts vs sector-media | 99.5% |
| weakest sector (ai_ml) | 95.8% |
| experts vs celebrities | 99.6% |
r_s embed, per-sector localized ranking, Tier 2/3), the only thing that can reach the fame the graph cannot.The obvious next ask: more accounts per sector. Two levers, tested end-to-end. A bigger embed union (top-5000 → top-20000/sector, 40k → 140k accounts) adds nothing, vetted coverage is flat (155k → 154k), because the content gate, not the union size, caps the pool. Lowering the content bar θ does broaden (+11–23%) and even recovers a real expert the gate had missed, but it leaks cross-sector fame the gold-set eval is blind to. Coverage sits at the content-precision ceiling; production is unchanged, and the harness gained a leak guard.
θ-lowering, the coverage/precision trade, measured
| content bar θ | vetted coverage | gold recall | cross-sector fame leaks |
|---|---|---|---|
| 1.0 (shipped) | 154,066 | 116/117 | 0 |
| 0.85 | 173,283 (+11%) | 117/117 (recovers Mira Murati) | 2, Karpathy→quantum, Lex→defense |
| 0.70 | 191,449 (+23%) | 117/117 | 6, Tyson/Nye/Nadella/Karpathy→quantum, Greta→nuclear, Lex→defense |
The gold-set scorecard rated θ-lowering a free win (recall ↑, AUC → 1.000, pollution/hard-neg clean), falsely: the leakers aren't in the gold negatives, and the worst (Karpathy, Nadella, Lex) are s0 seeds of a different sector, invisible to a celebrity/media list. Only a hand-built adversarial leakage probe caught them. That probe is now a permanent harness axis (cross-sector leakage: 8/8 on production).
What this means
abstain-spam hardening, a cross-sector-leakage guard in eval_harness.py, and a working fame-purity filter (RHO_FLOOR) on the shelf.The whole system was then put through a 5-front, literature-grounded audit (global core, sector decorrelator, content gate, eval methodology, red-team, each reading the live code and grounding against the papers, every load-bearing number re-verified). It confirmed the big design choices are sound, corrected a few things we'd mislabeled, found one real production hole and fixed it for free, and, most usefully, mapped where the genuine remaining headroom is and is not.
Corrections the audit forced (intellectual honesty)
| what we'd said | what's actually true |
|---|---|
| global is "downweight + purity" weighted | the global score is plain personalized PageRank (verified bit-for-bit); the purity edge-weight + famous-source down-weight apply to the sector runs only. The filename/description conflated them. |
| "every decorrelator is identical / the ρ swap is neutral" | that was an artifact of an underpowered eval, the AUC north-star saturates at 1.000, so it can't tell systems apart. Absence of evidence, not evidence of absence. The proper fix is pooled graded judgments over the real top-k with confidence intervals. |
| "graph structure can't separate fame from expertise" | overstated, ρ (a graph statistic we already compute) separates them ~3 orders of magnitude; raw PageRank mass can't, but the popularity-normalized ratio can. |
| precision "100%, all green" | precision measured only on the ~196 accounts we already trusted. 74% of sector standings are follower-rescued with no content check, never sampled, the real hole (next card). |
The real hole, found, measured, and fixed for free
The follower-composition backstop admits accounts on who-follows-them alone. A random sample showed it is excellent in big sectors (AI: real researchers/VCs) but content-blind in small ones, quantum surfaced a DJ, a phone company (OnePlus), and a gaming exec at top-percentile scores. Fix (no scraping, the bios were already in our data): embed the follower-rescued band and content-check it too. Result:
| effect | value |
|---|---|
| junk sector-standings removed | 9,434 (quantum −3,040, −18%) |
| expert recall / precision / leakage / AUC | held (99 / 100 / 100 / 99.5%) |
apply_gate.py reads an optional SECTOR_CLASS classification (the shape a prod tweet-DB + LLM emits) that is authoritative in the ambiguous band, live it gates @djskee/quantum while keeping @petershor1/quantum (r_s 0.23 vs 0.29). Absent the file, it is a no-op and the shipped scores are the pure rule results.Technical mechanism of each change (with a concrete before→after)
| change | mechanism (technical) | example: before → after |
|---|---|---|
| 1 · Content gate | r_s = cosine( MiniLM(all-MiniLM-L6-v2) embedding of name+bio, sector centroid ), where centroid = 0.5·mean(seed bios) + 0.5·written sector description. Keep sector s only if r_s ≥ θ_s (θ_s = median r_s of that sector's top-1000-by-score) AND the account's followers corroborate (ALF lift ≥ 1.3). | @wazzcrypto: all 10 sectors → 0 (crypto bio scores below θ in every sector, not follower-corroborated) |
| 2 · Fame removal | Celebrities/politicians fail both paths: their bio doesn't match a sector (low r_s) and their followers aren't sector-concentrated (ALF lift ≈ 1.0, since a famous account is followed by everyone). No path keeps them, so every sector zeroes. | @barackobama: quantum 966→0, nuclear 965→0, robotics 968→0 (keeps a global fame rank only) |
| 3 · Org / brand filter | org = ( X verifiedType == Business ) OR is_agency(name) OR media/brand detector (regex + curated list). org accounts are removed from every sector and assigned the global Org tier (unpaid brands X's verifiedType misses are caught by the detector). | @openai: ai_ml 977→0, semi 967→0 → global tier Org |
| 4 · Specialty lens ρ | ρ = t_sector(v) / t_global(v) (personalized-PageRank masses). For elite accounts (global pct ≥ 900), sector score ×= max(ρ, 0.15)1, a fame-uniform account has ρ≈0 in off-domain sectors and is demoted. (The gate does the hard zeroing; ρ shapes the surviving elite.) | @sama: ai_ml 1000→999 (kept), off-domain space 967→0, quantum 958→0, focused to real domains |
| 5 · Decibel scale | global_db = clip( 1000 + 140·log₁₀(raw / R_REF), 0, 1000 ), R_REF frozen = rank-#1's raw PageRank. Tiers are fixed-headcount by rank: Legend 100, Titan 400, Elite 1500, Notable 28k. De-saturates the top: 13,067 accounts ≥900 under the old log-knee → 319 under decibel. | same ranking, un-squashed: only ~100 accounts are now 'Legend' instead of thousands tied at ~1000 |
| 6 · Follower backstop + bio-check | ALF lift = ( sector-followers(v)/followers(v) ) / base_rate_s. Rescue thin-bio experts at lift ≥ 2.5; the 2026-07-20 fix additionally requires a rescued account to clear a content floor (RESCUE_FLOOR = r_s ≥ 0.15), gating follower-only junk whose bio is off-topic. | @oneplus: quantum 936→0 (bio r_s 0.06). @djskee: 939→948 survives (bio 0.23 ≈ real physicist 0.29, the ceiling) |
What each change impacted, at scale, with examples
| change | what it impacted (at scale) | example accounts |
|---|---|---|
| 1 · Content gate | Zeroed the graph-fame noise, a sector score now survives only if content backs it. ~145,600 vetted (account,sector) standings remain across the whole 6.75M graph; everything else is 0. | @wazzcrypto: 10 graph sectors → 0 (crypto influencer, no deep-tech bio) |
| 2 · Fame removal | Every celebrity / politician gated from all 10 sectors (they keep a global fame rank). | @barackobama, @jk_rowling, @mrbeast, @neiltyson → 0 in every sector |
| 3 · Org filter | 672 brands/agencies/media → the Org tier and off the person-lists; a 2026-07-20 pass cleaned 359 more mid-tier orgs the filter had missed. | @openai/@nasa → Org; @sanofi biotech 656→0, @siemens nuclear 629→0, @us_navyseals defense 627→0 |
| 4 · Specialty lens ρ | Off-domain elite demoted so titans focus on their real domains. | @elonmusk: 10 sectors → 2 (space, robotics); @sama → ai_ml + robotics + semi + defense |
| 5 · Decibel scale | Un-squashed the top: 13,067 accounts scored ≥900 on the old scale → 319 on decibel. | only ~100 accounts are 'Legend' now, vs thousands tied at ~1000 before |
| 6 · ALF + bio-check | Content-checked the follower-rescued band: removed 9,434 content-blind junk standings (quantum −3,040, −18%). | @oneplus quantum 936→0 (bio r_s 0.06); a sports-fan robotics 933→0 |
The sector scores are a spectrum, not all-or-nothing
fintech kept-scores: p10 250 / median 434 / p90 951, 63% below 500. A single account is a mix: @lisasu semi 1000 + defense 824; @pavelprata space 955 + fintech 399. A sector 0 = not a content-verified participant there, not "ranked low." The mid-tier VC accounts that zero out (e.g. @murphcapital) weren't content-verifiable deep-tech operators; their old sector scores were follow-graph fame. (@wazzcrypto looked identical to the cosine gate but the v2.5 LLM recovers his real fintech.)
June (v2.1) → Now (v2.5), the exact skill-graph radar (one score everywhere). ('Now (v2.5)' throughout this section is the June-graph v2.5 build, superseded by the 2026-07-22 full-graph rebuild — see banner.) Bold = earned expertise (sector experts trust you); muted = interest (who you follow / engage with); struck = removed fame; · = never scored.
How to read every cell: two numbers, June score → Now score. When they look identical (e.g. 999→999) the score was kept unchanged, not a duplicate. Green kept (content-verified), amber endorsed middle tier (v2.4, §22), red strike removed, · never scored. The June columns are dense (graph-only put everyone in every sector); the Now columns are sparse and honest (content gate + ρ + org/fame filters + endorsed recovery).
| account | overall June→Now | AI | Fin | Robo | Space | Bio | Clim | Qtm | Nuc | Def | Semi |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Real experts (AI leaders), focused to their true domains | |||||||||||
| @sama | 996→974Legend | 1000→999 | 967→286 | 970→965 | 967→279 | 962→253 | 966→961 | 967→962 | |||
| @karpathy | 995→966Legend | 999→999 | 966→961 | 999→999 | 962→959 | 964→960 | 966→962 | 970→964 | |||
| @ylecun | 994→962Legend | 999→999 | 953→952 | 972→966 | 958→188 | 958→213 | 959→956 | 963→959 | 967→962 | ||
| @gdb | 994→959Legend | 999→999 | 968→963 | 951→216 | 960→957 | 963→242 | |||||
| @demishassabis | 993→958Legend | 999→999 | 955→236 | 966→962 | 958→240 | 999→999 | 958→228 | 964→959 | 962→958 | ||
| @andrewyng | 993→957Legend | 999→999 | 945→200 | 971→965 | 954→206 | 957→219 | 961→958 | 967→962 | |||
| Titan, kept in-domain, removed elsewhere | |||||||||||
| @elonmusk | 1000→1000Legend | 972→972 | 971→971 | 999→997 | 999→997 | 965→281 | 960→276 | 963→250 | 968→286 | 975→386 | 970→970 |
| Famous non-experts, removed from every sector | |||||||||||
| @jk_rowling | 965→765Elite | 908→257 | 888→236 | 956→266 | 955→300 | 534→300 | 950→300 | 950→300 | 961→284 | 958→231 | 913→253 |
| @barackobama | 980→867Titan | 964→300 | 963→300 | 968→300 | 959→300 | 960→300 | 968→300 | 966→300 | 965→300 | 953→300 | 961→300 |
| Organizations, moved to the Org tier, off the person lists | |||||||||||
| @openai | 992→946Org | ||||||||||
| @nasa | 979→859Org | ||||||||||
| Mid-tier tracked accounts, below the vetted band, so sector scores withheld | |||||||||||
| @pavelprata | 914→631Notable | 391→300 | 453→300 | 440→254 | 957→300 | 905→300 | 454→237 | 505→300 | 434→294 | ||
| @wazzcrypto | 740→502Ranked | 395→182 | 891→793 | 415→184 | 500→200 | 503→196 | 361→183 | ||||
| @zemariamacedo | 704→475Unranked | 492→277 | 591→300 | 523→277 | 565→271 | 542→247 | 528→209 | 611→234 | 591→291 | 566→274 | |
| @murphcapital | 630→421Unranked | 429→285 | 486→300 | 477→271 | 637→300 | 501→300 | 490→300 | 557→300 | 536→300 | 422→251 | |
| @redphone | 666→448Unranked | 568→300 | 534→197 | 568→162 | 579→195 | 532→157 | |||||
| @matty_ | 581→385Unranked | 545→300 | 472→177 | 552→298 | 497→300 | 565→283 | 500→218 | ||||
| @lukedelphi | 604→401Unranked | 409→286 | 536→300 | 486→292 | 522→297 | 480→269 | 494→212 | 542→299 | 571→206 | 543→300 | 522→300 |
| @therosieum | 552→363Unranked | 534→300 | 526→291 | 460→300 | 549→300 | 483→220 | |||||
| @fabrizio_builds | 464→298Unranked | 418→300 | 525→300 | 443→300 | 505→297 | ||||||
| @uselegion | 342→208Unranked | · | 370→300 | 53→237 | 475→300 | 390→300 | 74→208 | ||||
| @legiondotcc | 572→378Unranked | 429→258 | 525→300 | 429→296 | 541→300 | 574→300 | 468→218 | 528→219 | 531→271 | 468→204 | |
| Junk, one still leaking (the ceiling case) | |||||||||||
| @djskee | 847→581Notable | 442→300 | 848→300 | 442→265 | 505→300 | 542→258 | 476→300 | 939→300 | 505→300 | 882→300 | |
The content gate (§16) trades recall for precision: it zeroes any (account, sector) whose bio doesn't clear θ. Correct for fame noise, but it also produces false negatives, genuinely distinctive operators whose bio just doesn't name the sector.
Canonical case, @wazzcrypto: by the follow graph he is fintech rank 8,702 / 6.75M (top 0.13%) and is directly followed by fintech seed @howardlindzon, yet his bio (“shadowy super speculator”) scores r_s≈0 in every sector, so v2.3 zeroed him everywhere. That is the gate over-reaching.
Recovery rule (per account, its top sector only): recover a gated (v,s) iff Os(v) ≥ 1 (≥1 sector-s seed follows v) AND specs(v) ≥ 10·spec2nd(v) (distinctive, s dominates the account's own profile) AND top-20k within-sector rank, minus fame-flagged. Distinctiveness is what rejects fame:
| account | followed by | distinctiveness (top ÷ 2nd sector) | result |
|---|---|---|---|
| @wazzcrypto | 1 fintech seed | 3,407× | recover fintech → 793 |
| @elonmusk | 17 defense seeds | 1.1× (uniform) | rejected, fame |
| @realdonaldtrump / @paulg / @pmarca | 15–23 seeds | 2.8× / 1.4× / 1.3× | rejected |
Score: min( logknee(specs) × 0.9, sector rank-500 ceiling ). The 0.9 endorsement discount + ceiling hold the whole recovered band below the content-verified elite (max ~875 vs elite 900+), so 0 endorsed accounts enter any sector top-100 (verified all 10). Each carries is_endorsed=1 + endorsed_sector, leaderboards filter to content-verified while cards still show the endorsed score.
Org handling: the pool draws from the 6.6M tail (no type data), so orgs slip in. A targeted verifiedType scrape of all 55,485 candidates (~$10, full raw profiles saved, §23) removed 1,583 Business/Gov-agency/automated accounts. Org outbound reputation propagation is untouched (display-only filter; @anthropicai still boosts whom it follows).
Result: 53,902 recovered with capped middle scores; @wazzcrypto fintech 0→793 (Notable, endorsed); @stripe/@intel/@nvidia stay 0; 0 endorsed in any top-100. Residual meme/parody contamination (personal-type accounts the type-scrape can't see) stays mid-band, contained by the discount + flag; an LLM pass over raw.description clears it with no new scraping.
A process lesson worth recording, because it cost real money. The production graph scrape called the twitterapi.io profile endpoint (GET /twitter/user/info) for every account, then normalized each response down to five columns, name, bio, follower_count, following_count, total_tweets, and discarded the rest of the paid-for payload.
When the seed-endorsement recovery needed to keep organizations off the person-lists, the field that does it cleanly, verifiedType (Business / Government / …), had never been stored. We had to re-scrape 55,485 accounts (~$10) to recover data already bought once. Re-paying for discarded data is the tax on normalizing too early.
Fixed: scrape_account_type.py now persists the entire raw profile object under a raw key (~24 fields). The recovery set's full profiles live in data/eigen-rep-prod/recovered_profiles.jsonl.
| field the API returns free | why every field earns its keep |
|---|---|
id (numeric) | The only STABLE identifier, handles get renamed, IDs don't. Enables the bulk endpoint (/twitter/user/batch by userIds, ~half the per-call cost), dedup, cross-scrape joins, and rename tracking. We couldn't use the cheap batch path here because IDs were never stored. |
verifiedType | The clean org/agency filter, the exact signal needed to keep Stripe / Intel / NASA off person-leaderboards. Not derivable from name or bio. |
isBlueVerified · isVerified · isAutomated | Verification tier + bot flag, inputs to credibility weighting and spam gating. |
createdAt | Account age, one of the strongest bot / sockpuppet signals. |
| location · statusesCount · favouritesCount · mediaCount · entities · url · pinnedTweetIds · profilePicture | Activity, context, and links for sector classification, liveness/inactivity flags, and future org-logo detection, all delivered in the same call, all previously discarded. |
Recommendation for the next full graph build: store the raw API response verbatim (a raw JSONL keyed by numeric id) alongside any normalized columns, for the profile GET and every other paid endpoint (followings, tweets). Storage is cheap; re-scraping millions of accounts to recover one dropped field is not.
✓ Already delivered as a handoff asset, data/eigen-rep-prod/recovered_profiles.jsonl. The complete profile (all ~24 raw fields) for every one of the 55,485 accounts in the recovery set, precisely the population that can surface in sector leaderboards and needs org-filtering. Prefetched once (~$10); the dev team should consume it rather than re-scrape. It already yielded endorse_droplist.txt (1,583 Business/Gov-agency/automated handles excluded from v2.4), gives reliable org-filtering at the top of every leaderboard via verifiedType, unlocks the numeric-id bulk path, and feeds the LLM sector-classifier (a no-scrape pass over raw.description).
The v2.4 pipeline was tested against the actual production "People on the map" list that motivated the project, and two enhancements (a graded skill-graph and an LLM participant filter) were built and shipped as v2.5.
Validation, the production map, fixed
The old app surfaced famous people and brands ranked high in sectors they have nothing to do with. In v2.4 every flagged case is 0 in the wrong sector:
| account | old app (v2.1) | now (v2.4) | the fix |
|---|---|---|---|
| Elon Musk | Semiconductors 970 | semi 0 (now robotics 997 + space 997) | specialty lens |
| J.K. Rowling | AI/ML 908 | 0 in every sector (Fame) | fame filter |
| Turning Point USA | Space 950 | 0 (Org tier) | org filter |
| TBPN (a podcast) | AI/ML 959 | 0 | media / brand filter |
| Piers Morgan | Defense 950 | 0 (Fame) | fame filter |
| @realdonaldtrump | (fame everywhere) | 0 in every sector (Titan) | content gate + fame |
Of ~40 map accounts checked, all flagged brands/celebrities are cleanly fixed and crypto figures now read fintech; a residual handful of very-famous investors (e.g. Chris Dixon, still 6 sectors) carry one stray sector, the precision ceiling the bio-LLM (Roadmap B) closes.
Shipped: the graded skill-graph radar
The skill-graph is shipped: 19,608 balanced radars in skill_graph_radars.csv (June-graph build; the 2026-07-22 full-graph rebuild produces 55,061 radars in skill_graph_radars_newgraph.csv — see banner). Each account gets real anchor sectors plus graded interest secondaries (who you follow) capped below them, and true-zero where there is no connection. Two fame-resistant signals, inbound reputation (who follows you) and outbound interest (who you follow), both computed free from the existing crawl with no scraping, normalized to a measured per-sector baseline. e.g. Elon Musk: space 997, robotics 997, ai_ml 972, fintech 971, semi 970 (anchors) plus defense 386 interest; NVIDIA: semi 969, ai_ml 950; John Carmack: ai_ml 967, space 957. Producer build_skill_graph.py; design docs/technical/eigenrep-skill-graph-design.md.
Shipped: the LLM participant filter (v2.5, additive)
Shipped as v2.5 (additive). We ran DeepSeek V4 Flash (any OpenAI-compatible model works) over 118,414 accounts, reading name+bio and keeping a sector only for genuine participants, stacked on the cosine floor, never guessing from fame. It recovered 3,706 jargon/founder bios cosine missed (@wazzcrypto to fintech), pruned 57,824 false positives cosine had verified (journalists, politicians, a music band), and reclassified 32,976, taking the verified sector claims from 190,468 to 54,678 (49% were non-participants). Whole-graph cost $2.41. It ships as new llm_* columns in eigentrust-v2.5-scored.csv, every legacy v2.4 column untouched, and the classifier also reads recent tweets at card-time. Seeds stay authoritative via curation plus a legacy-override table (e.g. Elon PayPal fintech). Full methodology: handoff doc section 13. (June-graph build: this bio-LLM was an additive overlay on cosine. On the current 2026-07-22 full-graph rebuild the tweet-LLM classification shipped with the graph is the content gate — $0, in eigentrust-v2.5-newgraph-scored.csv — see banner.)
Methodology. Reproduced the EigenTrust algorithm per docs/technical/eigentrust-spec.md (α=0.20, dangling→seed, sector = seed-vector swap); the unweighted baseline matches the live run bit-exact. Edge weight = target's sector-seed in-degree; whitening removes PC1 (≈70% of sector-score variance); residual regresses each sector on global. All computed on the live 2026-06-03 graph (6.75M nodes, 39.6M edges). Global-score note (2026-07-20): the production global column is plain personalized PageRank; the purity edge-weight + famous-source down-weight are sector-only (the …downweight-purity… filename describes the sector treatment, not the global column).
Status. §1–§14 were written as offline analysis/proposals. As of 2026-06-10 the §14 v2.1 scoring went live in production (eigentrust-v2.1-downweight-purity-logknee.csv), verified in §15. As of 2026-07-18, v2.3 (content gate + purity-ratio specialty lens + decibel scale, §16) was the live production scoring. As of 2026-07-22, the pipeline was rebuilt on the near-complete re-crawl (10.45M accounts, 76.4M edges) and v2.5-newgraph supersedes all of the above — see the CURRENT BUILD banner at the top & comparison.html. Prior scorings archived under data/archive/. Source: data/exports/edge_weight_experiment/results_v8_three_version.txt · scripts in scripts/experiments/ · full analysis in docs/technical/eigentrust-improvements.md.
§8 (2026-06-09). v2 export = data/eigen-rep-prod/eigenrep-v2-exports/eigentrust-v2-lambda-(0.1, 0.5, 0.8).csv (same 6.75M-account graph as NEW; only the scoring changes). Figures gathered live from the λ-files + current/archived scores.csv. Finding: the un-whitened _percentile is the usable sector rank; the whitened _score needs a reputation floor + magnitude-residual form before it's safe to expose.
§9 (2026-06-09). "v2 minus whitening" = fresh edge-weighted run (seed-indegree weights, FLOOR=0.05) scored by percentile and log-raw, no whitening. Recompute: scripts/experiments/edgeweight_lograw_nowhiten.py → data/exports/edge_weight_experiment/results_v12_edgeweight_lograw.(json|txt). Global reproduction matches the live run; confirms edge-weight+log-raw restores reputation order & de-saturates, but leaves cross-sector bleed for top hubs.
§10 (2026-06-09). Strong-edge-weighting sweep = scripts/experiments/strong_edgeweight_test.py → results_v14_strong_edgeweight.(json|txt) (3 weighting strengths × 5 sectors). Finding: hubs stay percentile-1000 at every strength, but @sama's AI raw is 17–38× his quantum raw, the within-account separation is in the raw and is destroyed by population ranking. Resolution: within-account-normalized raw for the per-account profile (as the InvestorDNA radar already does); percentile for the leaderboard.
§11 (2026-06-09). Inverse-global weighting (Matty) = scripts/experiments/matty_inverse_global.py (A seed / C target) + matty_approach2.py (non-renormalized source down-weight) → results_v15_matty.*, results_v16_approach2.*; full per-account grid (all 12 sample + 6 AI × 10 sectors) = matty_full_grid.py → results_v17_full_grid.*; §12 log-raw clip-vs-unclip = matty_approach2_lograw.py → results_v18_approach2_lograw.*; §13 final solution = Approach 2 + log-raw (clipped) leaderboard (sector cells from v18 log_clip, global log-raw from §5/v2 global_score); the within-account radar (matty_final_recommendation.py → results_v19_final.*) is demoted to an optional per-account visual. Finding: source down-weight is the best decorrelation lever (sector↔global 0.60→0.53, lifts niche, sinks junk) but @sama's quantum percentile stays 1000 even at a 2,218× raw AI/quantum ratio, the hub-percentile bleed is structural, not a weighting failure.
§14 (2026-06-10). Remaining-design-space sweep = scripts/experiments/v20_beyond_final.py → results_v20_beyond.(json|txt) (KNEE / seed-pool percentile / contrastive subtraction μ∈{0.25,0.5,1.0} / share×global post-hoc on Approach-2 raws, + the purity edge weight (script name: SPEC) on 4 sectors and α=0.5 in-algorithm; raw vectors cached in v20_raws/). Full 10-sector SPEC confirmation = v21_spec_full10.py → results_v21_spec_full10.(json|txt). Purity (SPEC) edge weight = (ssi+0.05) × (ssi+0.05)/(ssi_total+0.5) at the target; KNEE = percentile→0–950 below the 99.5th pct of non-zero raw, log₁₀-magnitude→950–1000 above it; LOG-KNEE = §13's log-raw clip rescaled to 0–950 below the 99.9th pct, log₁₀-magnitude→950–1000 above it (rank-identical to KNEE; bulk values ≈ §13 log-clip × 0.95). Finding: purity weighting improves sector↔global correlation in 10/10 sectors (avg 0.556→0.496 rank-level; 0.543→0.396 with KNEE) with clean top-15 leaderboards; KNEE alone on §13 raw (the interim path) is a rank-preserving display swap that already de-saturates the hub rows. Dead ends confirmed: contrastive subtraction (zeroes 64–83% of the graph), α=0.5 (no effect), share×global (breaks pure graph-rank semantics), seed-pool percentile (not a score).
§15 (2026-06-10). Production verification = scripts/experiments/v22_verify_prod_v21.py against data/eigen-rep-prod/eigentrust-v2.1-downweight-purity-logknee.csv (6,752,453 rows; flat 24-col schema). Tie-aware Spearman on non-zero accounts (200k–300k samples), top-15/top-1000 overlap per sector, 20-handle table vs §14, calibration fit (prod−report delta linear in log₁₀ raw, residual σ 0.26). Result: ranks match (global 0.99999, sectors 0.996–0.9997, top-15 identical ×10); value deltas are lo-anchor calibration. Archives: original 2026-06-03 scoring → data/archive/eigen-rep-prod-scores-2026-06-03/; v2 λ-exports → data/archive/eigenrep-v2-exports-2026-06-08/.
§16 (2026-07-18). v2.3 = v1's sector raws re-ranked by the floored purity ratio ρ = tsector/tglobal (λ=1, applied where global percentile ≥ 900) + a content gate (per-account r_s from all-MiniLM-L6-v2 embeddings of name+bio+tweets; seed-whitelist; X account-type exclusion; multilingual abstain) + the decibel magnitude scale. Build: scripts/eigenrep_content_gate/{build_rs,build_v23,apply_gate,scale_tiers}.py; scraped inputs committed under data/eigen-rep-prod/ (SCRAPED_DATA.md). Comparison (v2.2 gate-only vs v2.3 gate+ρ, both content-gated): sector↔global percentile correlation 0.38→0.16 (avg of 10); off-topic celebs/brands gated to 0 in both (the gate, not ρ); ρ demotes off-domain specialist standing (Preskill nuclear 739→0, semi 998→759) while keeping in-domain #1s. Global de-saturation: 13,067 accounts ≥900 under log-knee → 319 under decibel. Full write-up: docs/technical/eigenrep-v3-redesign.md + eigenrep-v3-results.md.
§17 (2026-07-18/19). Five-agent adversarial audit (docs/technical/eigenrep-v3-audit.md) → Tier-0/1/2 hardening. Tier 0: un-vetted tail zeroed (sector percentile over the vetted pool, not the flood); global re-sourced verbatim from the prod v2.1 CSV. Tier 1: org-filter → "Org" tier (672); ρ_global "Fame" tier (298, seeded÷uniform PageRank purity); seed-badge (global_is_seed); ρ demote-not-delete (floored multiplier). Tier 2: ALF follower-composition rescue (compute_alf.py; recall 73→99%); ALF corroboration (closes the bio-stuffing attack); media/brand detector (media_detect.py; hard-neg precision 38→100%). Validation: eval_harness.py (6 axes, recall 99 · precision 100 · hard-neg 100 · bridges 100 · hygiene 100 · gaming 100, ~196 verified handles) + sweep_quality.py. Coverage-expansion (union k=20k / full-graph embed) tested and reverted, single-cosine adds noise below the top band. Build: scripts/eigenrep_content_gate/{build_v23,apply_gate,scale_tiers,compute_alf,compute_rho_global,media_detect,eval_harness}.py.
§18 (2026-07-19). Decorrelator re-test (docs/technical/eigenrep-v3-audit.md "Decorrelator re-test"). Reproduced anchors (BASE avg corr 0.396, ρ 0.099) from cached raws, swept ~40 variants post-hoc (rho floor/λ/rho_min × denominator {seeded, uniform-pop}, degree-norm powers + floored, stacks, matched-null, posterior) via scripts/experiments/v3_decorr_sweep2.py; re-scored on ground truth (oracle target ρ*, expert-vs-media/celebrity AUC, junk@100) via v3_decorr_auc.py; matched-null bridge-retention A/B on 29,076 content-eligible standings. Three adversarial fable reviewers (literature / numerical-audit / metric-critique) converged: corr is bookkeeping-dominated (top-100 ≤0.01% of it; 0.396↔0.496 on tie-handling; naive oracle −0.50) with a positive legit target (+0.28…+0.48); all decorrelators tie at AUC 0.994; ρ = 1−Gyöngyi relative spam-mass; matched-null retains bridges worse than the shipped floor (median pct 574 vs 747). Outcome: keep the shipped decorrelator; the AUC battery is now the north star in eval_harness.py (mean 99.5%, min 95.8% ai_ml), corr demoted to a tripwire.
§19 (2026-07-19). Coverage re-test (docs/technical/eigenrep-v3-audit.md "Coverage-expansion re-test"). Union expansion: build_rs.py --out embedded k=20000 (140,722 accounts) to a side file; gate+scale+eval vs shipped k=5000 → vetted coverage 155,408→154,066 (capped by the content gate, not union size; ALF-rescue coverage k-independent at 58,734). Latent bug fixed: non-Latin abstain bios were kept in ALL sectors; ABSTAIN_CORROB keeps them only where followers corroborate (−0.02% at k=5000, gates the spam at k=20000). θ-lowering (THETA_SCALE): sweep 1.0/0.85/0.70 → coverage +0/+11/+23%, recall 116→117 (recovers Mira Murati), but adversarial leakage probe shows 0/2/6 cross-sector fame leaks (Karpathy/Nadella/Tyson→quantum) invisible to the gold sets. Added a cross-sector-leakage axis to the harness (8/8 on production). Conclusion: keep k=5000 θ=1.0; clean broadening needs a person-type/fame-purity filter, not more graph.
§20 (2026-07-20). Five-front architecture audit (docs/technical/eigenrep-architecture-audit-2026-07.md), each front reading the live code/data and grounding against the literature (Kamvar EigenTrust, Gyöngyi TrustRank/spam-mass, Haveliwala TSPR, Andersen-Chung-Lang, SimClusters, learning-to-rank), all load-bearing numbers re-verified. Fixed: the follower-rescued (ALF) band is now bio-content-checked (build_rs.py --include-alf + RESCUE_FLOOR=0.15/ABSTAIN_CORROB=1 now default), removed 9,434 junk sector-standings (quantum −3,040) with recall/precision/leakage/AUC held; pre-fix scoring archived to data/archive/eigenrep-pre-alfcheck-2026-07-20/. Corrections: global = plain PPR (not purity-weighted); the AUC eval is underpowered (saturated at 1.000) so prior "all decorrelators identical / ρ-denominator neutral" A/Bs are not conclusive; ρ is a graph statistic that does separate fame from expertise. Deferred with reasons: the uniform-denominator ρ swap (literature-correct, empirically modest), SEC-data wiring (helps only the investor slice, doesn't crack the researcher/influencer ceiling, adds a matching dependency), and a supervised/world-knowledge person-type classifier on the surfaced pool (the one real ceiling-mover, bounded LLM cost, scoped not built).