From f53758d2c1813dc52ce83f8473ff35412b33eb01 Mon Sep 17 00:00:00 2001 From: Nikolay Petrov Date: Wed, 29 Jul 2026 13:49:05 +0300 Subject: [PATCH 1/6] feat: add logo for Vaticinus to leaderboard closes #256 --- src/leaderboard/main.py | 1 + src/tests/leaderboard/test_llm_identities.py | 1 + .../assets/images/org_logos/vaticinus.svg | 7 +++++++ 3 files changed, 9 insertions(+) create mode 100644 src/www.forecastbench.org/assets/images/org_logos/vaticinus.svg diff --git a/src/leaderboard/main.py b/src/leaderboard/main.py index d263d10d..05be38a9 100644 --- a/src/leaderboard/main.py +++ b/src/leaderboard/main.py @@ -142,6 +142,7 @@ class MarketQuestionAdjustment(str, Enum): "Artificial Judgement": "artificial-judgement.png", "FutureSearch": "futuresearch.svg", "Torchcast AI": "torchcastai.svg", + "Vaticinus": "vaticinus.svg", } ORG_TO_LOGO = { diff --git a/src/tests/leaderboard/test_llm_identities.py b/src/tests/leaderboard/test_llm_identities.py index 88f216cb..016a6334 100644 --- a/src/tests/leaderboard/test_llm_identities.py +++ b/src/tests/leaderboard/test_llm_identities.py @@ -143,6 +143,7 @@ def test_leaderboard_org_logo_lookup_keeps_legacy_and_external_names(): assert main.get_org_logo("Mistral") == "mistral.svg" assert main.get_org_logo("Cassi-AI") == "cassi-ai.png" assert main.get_org_logo("Anthral Labs") == "anthral.svg" + assert main.get_org_logo("Vaticinus") == "vaticinus.svg" assert main.get_org_logo("anonymous 4") == "anonymous_4.svg" assert main.get_org_logo("Unknown Org") == "default.svg" diff --git a/src/www.forecastbench.org/assets/images/org_logos/vaticinus.svg b/src/www.forecastbench.org/assets/images/org_logos/vaticinus.svg new file mode 100644 index 00000000..3ce68af3 --- /dev/null +++ b/src/www.forecastbench.org/assets/images/org_logos/vaticinus.svg @@ -0,0 +1,7 @@ + + + + + + + From 86e983b4f1c15c08afbddd9ede94520ba67f1044 Mon Sep 17 00:00:00 2001 From: Nikolay Petrov Date: Wed, 29 Jul 2026 13:49:19 +0300 Subject: [PATCH 2/6] feat: add logo for Hunchfox to leaderboard closes #257 --- src/leaderboard/main.py | 1 + src/tests/leaderboard/test_llm_identities.py | 1 + .../assets/images/org_logos/hunchfox.svg | 12 ++++++++++++ 3 files changed, 14 insertions(+) create mode 100644 src/www.forecastbench.org/assets/images/org_logos/hunchfox.svg diff --git a/src/leaderboard/main.py b/src/leaderboard/main.py index 05be38a9..3977932e 100644 --- a/src/leaderboard/main.py +++ b/src/leaderboard/main.py @@ -143,6 +143,7 @@ class MarketQuestionAdjustment(str, Enum): "FutureSearch": "futuresearch.svg", "Torchcast AI": "torchcastai.svg", "Vaticinus": "vaticinus.svg", + "Hunchfox": "hunchfox.svg", } ORG_TO_LOGO = { diff --git a/src/tests/leaderboard/test_llm_identities.py b/src/tests/leaderboard/test_llm_identities.py index 016a6334..d92da287 100644 --- a/src/tests/leaderboard/test_llm_identities.py +++ b/src/tests/leaderboard/test_llm_identities.py @@ -144,6 +144,7 @@ def test_leaderboard_org_logo_lookup_keeps_legacy_and_external_names(): assert main.get_org_logo("Cassi-AI") == "cassi-ai.png" assert main.get_org_logo("Anthral Labs") == "anthral.svg" assert main.get_org_logo("Vaticinus") == "vaticinus.svg" + assert main.get_org_logo("Hunchfox") == "hunchfox.svg" assert main.get_org_logo("anonymous 4") == "anonymous_4.svg" assert main.get_org_logo("Unknown Org") == "default.svg" diff --git a/src/www.forecastbench.org/assets/images/org_logos/hunchfox.svg b/src/www.forecastbench.org/assets/images/org_logos/hunchfox.svg new file mode 100644 index 00000000..ba9a4703 --- /dev/null +++ b/src/www.forecastbench.org/assets/images/org_logos/hunchfox.svg @@ -0,0 +1,12 @@ + + + H + From cee84e796fac0576539042318366cfbd805d3a98 Mon Sep 17 00:00:00 2001 From: Nikolay Petrov Date: Wed, 29 Jul 2026 13:49:35 +0300 Subject: [PATCH 3/6] feat: add logo for Knowable to leaderboard closes #258 --- src/leaderboard/main.py | 1 + src/tests/leaderboard/test_llm_identities.py | 1 + .../assets/images/org_logos/knowable.svg | 5 +++++ 3 files changed, 7 insertions(+) create mode 100644 src/www.forecastbench.org/assets/images/org_logos/knowable.svg diff --git a/src/leaderboard/main.py b/src/leaderboard/main.py index 3977932e..6b9deb9f 100644 --- a/src/leaderboard/main.py +++ b/src/leaderboard/main.py @@ -144,6 +144,7 @@ class MarketQuestionAdjustment(str, Enum): "Torchcast AI": "torchcastai.svg", "Vaticinus": "vaticinus.svg", "Hunchfox": "hunchfox.svg", + "Knowable": "knowable.svg", } ORG_TO_LOGO = { diff --git a/src/tests/leaderboard/test_llm_identities.py b/src/tests/leaderboard/test_llm_identities.py index d92da287..5ff0c601 100644 --- a/src/tests/leaderboard/test_llm_identities.py +++ b/src/tests/leaderboard/test_llm_identities.py @@ -145,6 +145,7 @@ def test_leaderboard_org_logo_lookup_keeps_legacy_and_external_names(): assert main.get_org_logo("Anthral Labs") == "anthral.svg" assert main.get_org_logo("Vaticinus") == "vaticinus.svg" assert main.get_org_logo("Hunchfox") == "hunchfox.svg" + assert main.get_org_logo("Knowable") == "knowable.svg" assert main.get_org_logo("anonymous 4") == "anonymous_4.svg" assert main.get_org_logo("Unknown Org") == "default.svg" diff --git a/src/www.forecastbench.org/assets/images/org_logos/knowable.svg b/src/www.forecastbench.org/assets/images/org_logos/knowable.svg new file mode 100644 index 00000000..1e947c99 --- /dev/null +++ b/src/www.forecastbench.org/assets/images/org_logos/knowable.svg @@ -0,0 +1,5 @@ + + + + + From e81809251720254baac6632f8f6fd461088fbd7e Mon Sep 17 00:00:00 2001 From: Nikolay Petrov Date: Wed, 29 Jul 2026 13:49:51 +0300 Subject: [PATCH 4/6] feat: add logo for Outbound OS to leaderboard Map both `Outbound OS` and `OutboundOS`, the two spellings under which their forecasts were submitted. closes #260 --- src/leaderboard/main.py | 2 ++ src/tests/leaderboard/test_llm_identities.py | 2 ++ .../assets/images/org_logos/outbound-os.svg | 6 ++++++ 3 files changed, 10 insertions(+) create mode 100644 src/www.forecastbench.org/assets/images/org_logos/outbound-os.svg diff --git a/src/leaderboard/main.py b/src/leaderboard/main.py index 6b9deb9f..dd2820ed 100644 --- a/src/leaderboard/main.py +++ b/src/leaderboard/main.py @@ -145,6 +145,8 @@ class MarketQuestionAdjustment(str, Enum): "Vaticinus": "vaticinus.svg", "Hunchfox": "hunchfox.svg", "Knowable": "knowable.svg", + "Outbound OS": "outbound-os.svg", + "OutboundOS": "outbound-os.svg", } ORG_TO_LOGO = { diff --git a/src/tests/leaderboard/test_llm_identities.py b/src/tests/leaderboard/test_llm_identities.py index 5ff0c601..fcb98c1e 100644 --- a/src/tests/leaderboard/test_llm_identities.py +++ b/src/tests/leaderboard/test_llm_identities.py @@ -146,6 +146,8 @@ def test_leaderboard_org_logo_lookup_keeps_legacy_and_external_names(): assert main.get_org_logo("Vaticinus") == "vaticinus.svg" assert main.get_org_logo("Hunchfox") == "hunchfox.svg" assert main.get_org_logo("Knowable") == "knowable.svg" + assert main.get_org_logo("Outbound OS") == "outbound-os.svg" + assert main.get_org_logo("OutboundOS") == "outbound-os.svg" assert main.get_org_logo("anonymous 4") == "anonymous_4.svg" assert main.get_org_logo("Unknown Org") == "default.svg" diff --git a/src/www.forecastbench.org/assets/images/org_logos/outbound-os.svg b/src/www.forecastbench.org/assets/images/org_logos/outbound-os.svg new file mode 100644 index 00000000..7d177932 --- /dev/null +++ b/src/www.forecastbench.org/assets/images/org_logos/outbound-os.svg @@ -0,0 +1,6 @@ + + + + + From ba62363d53efdf672d1ac467f7bee2eeff0ed997 Mon Sep 17 00:00:00 2001 From: Nikolay Petrov Date: Wed, 29 Jul 2026 13:50:06 +0300 Subject: [PATCH 5/6] feat: add logo for Cenva Intelligence to leaderboard closes #263 --- src/leaderboard/main.py | 1 + src/tests/leaderboard/test_llm_identities.py | 1 + .../images/org_logos/cenva-intelligence.svg | 54 +++++++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 src/www.forecastbench.org/assets/images/org_logos/cenva-intelligence.svg diff --git a/src/leaderboard/main.py b/src/leaderboard/main.py index dd2820ed..9d64ecd9 100644 --- a/src/leaderboard/main.py +++ b/src/leaderboard/main.py @@ -147,6 +147,7 @@ class MarketQuestionAdjustment(str, Enum): "Knowable": "knowable.svg", "Outbound OS": "outbound-os.svg", "OutboundOS": "outbound-os.svg", + "Cenva Intelligence": "cenva-intelligence.svg", } ORG_TO_LOGO = { diff --git a/src/tests/leaderboard/test_llm_identities.py b/src/tests/leaderboard/test_llm_identities.py index fcb98c1e..d38127f3 100644 --- a/src/tests/leaderboard/test_llm_identities.py +++ b/src/tests/leaderboard/test_llm_identities.py @@ -148,6 +148,7 @@ def test_leaderboard_org_logo_lookup_keeps_legacy_and_external_names(): assert main.get_org_logo("Knowable") == "knowable.svg" assert main.get_org_logo("Outbound OS") == "outbound-os.svg" assert main.get_org_logo("OutboundOS") == "outbound-os.svg" + assert main.get_org_logo("Cenva Intelligence") == "cenva-intelligence.svg" assert main.get_org_logo("anonymous 4") == "anonymous_4.svg" assert main.get_org_logo("Unknown Org") == "default.svg" diff --git a/src/www.forecastbench.org/assets/images/org_logos/cenva-intelligence.svg b/src/www.forecastbench.org/assets/images/org_logos/cenva-intelligence.svg new file mode 100644 index 00000000..ea165bb6 --- /dev/null +++ b/src/www.forecastbench.org/assets/images/org_logos/cenva-intelligence.svg @@ -0,0 +1,54 @@ + + Cenva Staged Resolution signature mark + + Four precise observations aggregate into two larger synthesis nodes, then + become one continuous forward caret with a gold resolved apex. + + + + + + + + + + + + + + + + + + + + + + From 30060f9fd514bee20964626e1dd649952b4999fe Mon Sep 17 00:00:00 2001 From: Nikolay Petrov Date: Wed, 29 Jul 2026 13:50:24 +0300 Subject: [PATCH 6/6] feat: add logos for Quotient and Thinking Machines Lab to leaderboard Quotient submits forecasts with `model_organization` "Thinking Machines Lab", so the model-organization column needs a TML logo in addition to the Quotient team logo. The TML logo is their official square avatar (as used on their GitHub and X profiles). closes #265 --- src/leaderboard/main.py | 2 ++ src/tests/leaderboard/test_llm_identities.py | 2 ++ .../assets/images/org_logos/quotient.svg | 6 ++++++ .../images/org_logos/thinking-machines-lab.png | Bin 0 -> 10046 bytes 4 files changed, 10 insertions(+) create mode 100644 src/www.forecastbench.org/assets/images/org_logos/quotient.svg create mode 100644 src/www.forecastbench.org/assets/images/org_logos/thinking-machines-lab.png diff --git a/src/leaderboard/main.py b/src/leaderboard/main.py index 9d64ecd9..81460665 100644 --- a/src/leaderboard/main.py +++ b/src/leaderboard/main.py @@ -148,6 +148,8 @@ class MarketQuestionAdjustment(str, Enum): "Outbound OS": "outbound-os.svg", "OutboundOS": "outbound-os.svg", "Cenva Intelligence": "cenva-intelligence.svg", + "Quotient": "quotient.svg", + "Thinking Machines Lab": "thinking-machines-lab.png", } ORG_TO_LOGO = { diff --git a/src/tests/leaderboard/test_llm_identities.py b/src/tests/leaderboard/test_llm_identities.py index d38127f3..135ed458 100644 --- a/src/tests/leaderboard/test_llm_identities.py +++ b/src/tests/leaderboard/test_llm_identities.py @@ -149,6 +149,8 @@ def test_leaderboard_org_logo_lookup_keeps_legacy_and_external_names(): assert main.get_org_logo("Outbound OS") == "outbound-os.svg" assert main.get_org_logo("OutboundOS") == "outbound-os.svg" assert main.get_org_logo("Cenva Intelligence") == "cenva-intelligence.svg" + assert main.get_org_logo("Quotient") == "quotient.svg" + assert main.get_org_logo("Thinking Machines Lab") == "thinking-machines-lab.png" assert main.get_org_logo("anonymous 4") == "anonymous_4.svg" assert main.get_org_logo("Unknown Org") == "default.svg" diff --git a/src/www.forecastbench.org/assets/images/org_logos/quotient.svg b/src/www.forecastbench.org/assets/images/org_logos/quotient.svg new file mode 100644 index 00000000..3dc2dfab --- /dev/null +++ b/src/www.forecastbench.org/assets/images/org_logos/quotient.svg @@ -0,0 +1,6 @@ + + + Quotient Q icon — navy on paper + + + diff --git a/src/www.forecastbench.org/assets/images/org_logos/thinking-machines-lab.png b/src/www.forecastbench.org/assets/images/org_logos/thinking-machines-lab.png new file mode 100644 index 0000000000000000000000000000000000000000..4b7dfc993119ffabde849bfa2d515463d02ee9c8 GIT binary patch literal 10046 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≶-fx zDJm+)XF)hF+ywMcigFdafdBbZ(xFjJS=n-3J9H~8fsLI#Q|?)3ypZaex2KPfkEiDa zd6$PyPPwxVvehG!Xb0DTfa+Oc1xSxNB|ZA}(BNQFQWA^T`IA#maq5R#fnB?S1*uCw zk2-X7PS5apK!%TS$tp8YipKQo9gKnOnTbxYp}eq{#ZqE@k$A_DZ;g%-2~kl|*CKjG z1_!U!=5aQ(W@)2_tdC;EbmNDodUo9T?984_4Nm&y%6O?8D_d#&1aKM2kFq4xm(_u1*zQ(wVeg z3^KLc9b}`OwRNf+xR0kXF(y79A~QuK5{0J99!n+xy6#qh-3Fm|!|np8Rf5ljfI;SD zIGW&&gaiiOM5!L=l5lhx=R4ZkR}Isb>RuegzkPcuoA!+arURj6moY7#O6w!lZCHXE z@aEj>zwK(hGsZ+cDj$Ol`Ab^6;Q78^MbqqXcy? zU_AbO*K6Dz#X9iE-NWBmSqr04)}gdugrKrFn1<#9$xX~r_?s;1A(zsRl1XIz!J*N6 z04gk3_vU5b%N<(5ha95j*wev&8Vb<-$gz`!Wcxbbr{KOmxP6F&esNKep1!{6Sl}^# z;jq=p>6U1sT~zJ<`T=8ot|M_`IOVrXwE?ho9iOf=?s_*JEI5-sB_;+01cbrxA|fK? zko!3n{Vq;mN|{mSKCT4vaX$Ot=1MFW$+}eEvT_1LJSETJzu{^Bz$nC_&bOKDD9PJZ zY+lmeeGVDme_T}Ub4to`R4xbUAR7#TkwSgDxF|qHfB!x~9=ixKk;76gphy5$9LTtL z8JKEvufk%vsE2~URQMLbUR+z>r#WPI^BJ=G=`WY+#XfETy`Ymk-Q8CPB1of1G#U*I zzIacDTF7Q2jK=+ezZMg?{0IU;Me|Hb$;cQ{ND1psK(Tgrb(zw6?QQs^ZU2Rr#M!4u zdxF96%VW$S{>L%)Jn+o_dGE}jfW{J{+}fT^Ku$3&%&W(wr+*Rz`_R!j4v?@dLGk>V z`T603G2UY>#zJL^;Bby187z?i^d9cBW0R}2#>COOZYo6X=qW~W9O5AbhG8)Xw# z8|GW{zUWN5O|oHt4Jbold7xgV{=|aK3tv*ICb;k-UEW4~9hx zkH?QLl$IN~a#l(ERfTy1BY~n-w*CA`$2-uY94)hwMm@*tHkdW3FD=Y>M_DN^KY?^_ zH#@QMVM{tW$_E`9vNTv`6KXf+Sot5q_(mGRT_i=ZcW^Mj&h6Hc624&A6D9B3{T~EG zsUD2yz>Ni9;}?+f0&#$}gJ9_(Za@yah5Z>KPL@?yoBGY#8ASNF%VcX{W2AxBoe%v8 zrfCxs6Y-?%?CexJn*~kJuH2ZU8F`$NRB}MXF-o?AMiA6qV4U~Y;ZrSIHF>V>N1I?D vmXH4L4|V?c*Gd0h{c3CP;0P1b!GU-~&27!SyQAQDaZGwThIbL#PhR~WFk2P_ literal 0 HcmV?d00001