{
  "edition": "2026-10-31",
  "name": "Rubric, edition of Saturday 31 October 2026",
  "url": "https://rubric.hrih.si/editions/2026-10-31/",
  "published_at": "2026-10-31T06:00:00Z",
  "rubric_version": "2.3",
  "how_ranking_works": "https://rubric.hrih.si/how-ranking-works/",
  "license": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "Rubric (rubric.hrih.si)",
    "notice": "CC BY 4.0, Rubric (rubric.hrih.si), edition of 2026-10-31: https://rubric.hrih.si/editions/2026-10-31/"
  },
  "models": {
    "jev": "jev-1.14.0",
    "judge_a": "claude-haiku-5-5",
    "judge_b": "gpt-5.6-luna",
    "writer": "claude-sonnet-5-5",
    "claim_check": "claude-sonnet-5-5 + jev-1.14.0",
    "summarizer": "claude-haiku-5-5"
  },
  "fields": {
    "rank": "Place in the edition; since rubric 2.3 after the placement terms (see score_rank), before it the place by score",
    "id": "The story id in Rubric",
    "title": "The title as shown",
    "url": "The source: the original article, paper or release",
    "domain": "The host name of the source",
    "site": "The site of the source, as Rubric names it",
    "categories": "Topic keys; \"other\" when the story fits none",
    "category_names": "The topics as the site names them",
    "format": "The kind of piece: paper, write-up, release, analysis, tutorial, news, new project",
    "depth": "How far the story was checked: claim_checked, three_judges or two_judges",
    "published_at": "The publication time of the source, when known",
    "jev": "Judge 1 (jev-1.14.0): its own weighted sum of the rubric questions, 0 to 1, before penalties; null when it did not score the story",
    "judge_a": "Judge 2 (claude-haiku-5-5): its own weighted sum of the rubric questions, 0 to 1, before penalties; null when it did not score the story",
    "judge_b": "Judge 3 (gpt-5.6-luna): its own weighted sum of the rubric questions, 0 to 1, before penalties; null when it did not score the story",
    "score": "The published total: the mean answer of the panel per question, weighted, minus the claim-check and freshness penalties",
    "contested": "True when the judges disagreed on at least one question by more than the contested threshold",
    "flag_penalty": "Taken off the total for claims the checkers both flagged",
    "freshness_penalty": "Taken off the total for older work",
    "score_rank": "Rubric 2.3+: the place by score alone; null in editions ranked before it",
    "topic_penalty": "Rubric 2.3+: taken off for placement only, for stories of the same topic placed above it beyond the free ones; not part of score",
    "repeat_penalty": "Rubric 2.3+: taken off for placement only, for similarity to a story placed above it today or ranked in a recent edition; not part of score",
    "summary": "The summary of the source by Rubric, written by AI",
    "page": "The page of the story on Rubric, with the full breakdown",
    "card": "The social card of the story (PNG, 1200 × 630)",
    "breakdown": "JSON only: the weight of each question and the answer of each judge, with the mean and spread of the panel"
  },
  "stories": [
    {
      "rank": 1,
      "id": "st_20261031_9475",
      "title": "4 real? Tracking exploitation and patching of eMudhra’s weak keys",
      "url": "https://blog.cloudflare.com/emudhra-patching/",
      "domain": "blog.cloudflare.com",
      "site": "Cloudflare Blog",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-10-30T17:38:50.000Z",
      "jev": 0.7555,
      "judge_a": 0.7563,
      "judge_b": 0.8384,
      "score": 0.7833,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 1,
      "topic_penalty": 0,
      "repeat_penalty": 0.0082,
      "summary": "Cloudflare reports that eMudhra's intermediate CA keys were trivially weak (one was the number 4), so anyone can derive them and forge certificates for any domain that unpatched clients accept. Its outbound logging saw about 22,000 handshakes using the keys in a week, mostly test sites, and no evidence of interception, though forged certificates appeared within hours of disclosure. Probes on challenge pages, skewed by bot traffic, show over half of large networks still trusting the chain. Figures come from Cloudflare alone, and eMudhra's script explanation is unverified.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/1/",
      "card": "https://rubric.hrih.si/og/2026-10-31/1.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.778,
          "judge_a": 0.72,
          "judge_b": 0.82,
          "mean": 0.7725,
          "spread": 0.1
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.77,
          "judge_a": 0.8,
          "judge_b": 0.95,
          "mean": 0.84,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.88,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.82,
          "spread": 0.1
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.858,
          "judge_a": 0.85,
          "judge_b": 0.88,
          "mean": 0.8625,
          "spread": 0.03
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.863,
          "judge_a": 0.85,
          "judge_b": 0.92,
          "mean": 0.8778,
          "spread": 0.07
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.858,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.8125,
          "spread": 0.078
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.74,
          "judge_a": 0.75,
          "judge_b": 0.86,
          "mean": 0.7833,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.08,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.42,
          "judge_a": 0.15,
          "judge_b": 0.12,
          "mean": 0.23,
          "spread": 0.3
        }
      }
    },
    {
      "rank": 2,
      "id": "st_20261031_8862",
      "title": "North Korea Steals USD 6.36B from Binance in the Largest Hack in History",
      "url": "https://www.trmlabs.com/resources/blog/north-korea-steals-usd-6-36-billion-from-binance-in-the-largest-hack-in-history",
      "domain": "trmlabs.com",
      "site": "trmlabs.com",
      "categories": [
        "security",
        "fintech"
      ],
      "category_names": [
        "Security",
        "Fintech"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-10-30T07:01:16.000Z",
      "jev": 0.6676,
      "judge_a": 0.833,
      "judge_b": 0.8054,
      "score": 0.7686,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 3,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "An attacker drained about $6.36 billion from Binance wallets on ten blockchains on October 29. TRM Labs attributes it with high confidence to North Korea's TraderTraitor. Issuers and Arbitrum froze roughly $2.7 billion, but about $2.4 billion in ETH and BTC is out of reach. Binance's preliminary account cites a compromised DevOps laptop; TRM infers compromised signing infrastructure. Figures come mainly from TRM and Binance and are unverified. Builders should alert on unexpected EIP-7702 delegations and separate signing paths by chain.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/2/",
      "card": "https://rubric.hrih.si/og/2026-10-31/2.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.813,
          "judge_a": 0.95,
          "judge_b": 0.98,
          "mean": 0.9142,
          "spread": 0.167
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.95,
          "judge_b": 0.97,
          "mean": 0.8867,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.643,
          "judge_a": 0.85,
          "judge_b": 0.7,
          "mean": 0.7311,
          "spread": 0.207
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.643,
          "judge_a": 0.7,
          "judge_b": 0.8,
          "mean": 0.7142,
          "spread": 0.158
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.573,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.7578,
          "spread": 0.327
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8567,
          "spread": 0.09
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.9333,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.05,
          "judge_b": 0.2,
          "mean": 0.11,
          "spread": 0.15
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.44,
          "judge_a": 0.2,
          "judge_b": 0.45,
          "mean": 0.3633,
          "spread": 0.25
        }
      }
    },
    {
      "rank": 3,
      "id": "st_20261031_8859",
      "title": "Official Claude Code extension compromise",
      "url": "https://phorion.io/blog/offical-claude-code-vsx-compromise/",
      "domain": "phorion.io",
      "site": "Phorion | macOS Endpoint Detection and Response (EDR)",
      "categories": [
        "programming",
        "ai",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-10-30T07:09:12.000Z",
      "jev": 0.7198,
      "judge_a": 0.8435,
      "judge_b": 0.7387,
      "score": 0.7673,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 4,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "A trojanized Claude Code extension, versions 2.1.312 and 2.1.313, was served on the Cursor Marketplace for roughly eleven hours on one day, according to Cursor. Phorion's analysis shows a prepended loader that plants an SSH key, opens a reverse tunnel, adds persistence and beacons host details. Cursor says errors in the code would make the SSH step fail outside unusual privilege cases, and the attacker server has been taken down. The npm and OpenVSX packages were reportedly unaffected. Teams should check installed extension versions and remove the persistence files.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/3/",
      "card": "https://rubric.hrih.si/og/2026-10-31/3.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.673,
          "judge_a": 0.8,
          "judge_b": 0.72,
          "mean": 0.7308,
          "spread": 0.128
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.84,
          "judge_a": 0.95,
          "judge_b": 0.91,
          "mean": 0.9,
          "spread": 0.11
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.523,
          "judge_a": 0.8,
          "judge_b": 0.62,
          "mean": 0.6478,
          "spread": 0.277
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.888,
          "judge_a": 0.9,
          "judge_b": 0.86,
          "mean": 0.8825,
          "spread": 0.04
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.837,
          "judge_a": 0.85,
          "judge_b": 0.84,
          "mean": 0.8422,
          "spread": 0.013
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.9,
          "judge_b": 0.88,
          "mean": 0.9258,
          "spread": 0.118
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.9,
          "judge_b": 0.93,
          "mean": 0.8867,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.1,
          "judge_b": 0.28,
          "mean": 0.1567,
          "spread": 0.19
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.36,
          "judge_a": 0.1,
          "judge_b": 0.18,
          "mean": 0.2133,
          "spread": 0.26
        }
      }
    },
    {
      "rank": 4,
      "id": "st_20261031_9291",
      "title": "CrowdStrike: Vapor Panda ran intrusions with DeepSeek-based agents",
      "url": "https://www.crowdstrike.com/en-us/blog/vapor-panda-uses-artex-to-scale-global-campaign/",
      "domain": "crowdstrike.com",
      "site": "CrowdStrike.com",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-10-30T15:55:11.000Z",
      "jev": 0.7238,
      "judge_a": 0.6655,
      "judge_b": 0.847,
      "score": 0.7454,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 5,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "CrowdStrike reports that VAPOR PANDA, a China-nexus group, used the ARTEX agent framework, mostly with DeepSeek, to run parallel intrusions starting October 17, 2026. A single controller targeted entities in at least 14 countries over 11 days, with post-exploitation confirmed at nine organizations. A human operator steered agents and told them to find hosts without the Falcon sensor. The figures come from CrowdStrike alone, with no independent sourcing. Defenders should rotate exposed keys and hunt for ARTEX markers.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/4/",
      "card": "https://rubric.hrih.si/og/2026-10-31/4.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.705,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.7283,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.77,
          "judge_a": 0.85,
          "judge_b": 0.96,
          "mean": 0.86,
          "spread": 0.19
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.767,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6956,
          "spread": 0.167
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.73,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.77,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.837,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8456,
          "spread": 0.1
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.858,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.8058,
          "spread": 0.16
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.8,
          "judge_b": 0.94,
          "mean": 0.8667,
          "spread": 0.14
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.1,
          "judge_b": 0.12,
          "mean": 0.09,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.22,
          "judge_a": 0.25,
          "judge_b": 0.12,
          "mean": 0.1967,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 5,
      "id": "st_20261031_8822",
      "title": "A Claude Code agent's test escaped into my Mac. I only noticed because it talked",
      "url": "https://pandyamarut.github.io/marut/posts/2026/10/my-mac-started-reading-json-aloud/",
      "domain": "pandyamarut.github.io",
      "site": "Marut Pandya",
      "categories": [
        "programming",
        "ai",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-10-30T05:16:33.000Z",
      "jev": 0.7581,
      "judge_a": 0.6876,
      "judge_b": 0.7798,
      "score": 0.7418,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 6,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "A developer running seven parallel Claude Code subagents in auto mode, with no sandbox, reports that one agent's test had a one-line Python bug: an empty fake launcher list is falsy, so spawn or _spawn fell through to the real launcher. Four detached processes ran, two speaking JSON aloud and two upload workers defaulting to a production endpoint. They sent nothing, but only because of test fixtures. The macOS unified log, not transcripts, traced it. This is one self-reported incident; it argues for sandboxing agents by default.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/5/",
      "card": "https://rubric.hrih.si/og/2026-10-31/5.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.64,
          "judge_a": 0.5,
          "judge_b": 0.68,
          "mean": 0.6067,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.84,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8633,
          "spread": 0.06
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.643,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.6778,
          "spread": 0.077
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.893,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.8508,
          "spread": 0.092
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.93,
          "judge_a": 0.75,
          "judge_b": 0.9,
          "mean": 0.86,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.8,
          "spread": 0.28
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.78,
          "judge_a": 0.85,
          "judge_b": 0.82,
          "mean": 0.8167,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.04,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.2,
          "judge_b": 0.15,
          "mean": 0.18,
          "spread": 0.05
        }
      }
    },
    {
      "rank": 6,
      "id": "st_20261031_9771",
      "title": "Compromised eMudhra Certificates: Update Your JetBrains IDEs, ReSharper, etc.",
      "url": "https://blog.jetbrains.com/security/2026/10/compromised-emudhra-certificates-ides/",
      "domain": "blog.jetbrains.com",
      "site": "The JetBrains Blog",
      "categories": [
        "programming",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-10-30T22:35:05.000Z",
      "jev": 0.7699,
      "judge_a": 0.666,
      "judge_b": 0.7883,
      "score": 0.7414,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 7,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "JetBrains says private keys for eight eMudhra intermediate certificates were compromised, letting a network attacker impersonate services its tools contact. IDEs, Toolbox App, Gateway and ReSharper are affected because they use the bundled runtime's trust store, so OS updates don't help. Fixes cover IDEs 2025.2 through 2026.3 RC, Toolbox 3.9.1 and 3.8.2, and the jetbrainsd service 0.9.9728. Older versions get no fix. JetBrains reports no known exploitation; the CVE details and several claims were not independently verified.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/6/",
      "card": "https://rubric.hrih.si/og/2026-10-31/6.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.71,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.66,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.79,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7967,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.62,
          "judge_a": 0.6,
          "judge_b": 0.48,
          "mean": 0.5667,
          "spread": 0.14
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.98,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.91,
          "spread": 0.13
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.847,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.8922,
          "spread": 0.133
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.8033,
          "spread": 0.29
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.75,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.7433,
          "spread": 0.28
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0433,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.2,
          "judge_a": 0.1,
          "judge_b": 0.02,
          "mean": 0.1067,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 7,
      "id": "st_20261031_8836",
      "title": "Two Kinds of Code Review",
      "url": "https://haydenbleasel.com/writing/two-kinds-of-code-review",
      "domain": "haydenbleasel.com",
      "site": "Hayden Bleasel",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "claim_checked",
      "published_at": "2026-10-30T06:00:43.000Z",
      "jev": 0.7601,
      "judge_a": 0.633,
      "judge_b": 0.7575,
      "score": 0.7168,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 11,
      "topic_penalty": 0,
      "repeat_penalty": 0.0112,
      "summary": "Hayden Bleasel, an engineer at OpenAI, argues that code review is two jobs: objective review (does it work) and subjective review (is it the right change, in scope and direction). He says agents now do the first better, and people should skim file lists and approach. He cites OpenAI evals where Codex with written rules caught 98% of targeted findings versus 58% without. Several cited review studies and Faros figures could not be verified.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/7/",
      "card": "https://rubric.hrih.si/og/2026-10-31/7.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.728,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.6325,
          "spread": 0.278
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.78,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8267,
          "spread": 0.12
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.903,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.8278,
          "spread": 0.123
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.883,
          "judge_a": 0.85,
          "judge_b": 0.86,
          "mean": 0.8642,
          "spread": 0.032
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.623,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6478,
          "spread": 0.12
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.695,
          "judge_a": 0.55,
          "judge_b": 0.67,
          "mean": 0.6383,
          "spread": 0.145
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7567,
          "spread": 0.25
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.22,
          "judge_a": 0.3,
          "judge_b": 0.32,
          "mean": 0.28,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 8,
      "id": "st_20261031_8739",
      "title": "How Open Source Communities Help Respond Quickly to Security Risks",
      "url": "https://openteams.com/engineering-blog/emudhra-pip-install-hijacked/",
      "domain": "openteams.com",
      "site": "OpenTeams",
      "categories": [
        "programming",
        "security",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-10-30T01:52:34.000Z",
      "jev": 0.7998,
      "judge_a": 0.6743,
      "judge_b": 0.749,
      "score": 0.7411,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 8,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "In October 2026, eight eMudhra intermediate CA keys, created in April 2025 with weak key generation, were reported recoverable from public information. Browsers blocked them within hours through remote blocklists, but Python tooling has no such mechanism: pip, certifi, installers and container images each carry their own trust list. Fixed pip, certifi, uv and conda releases followed, and Python releases on 26 October now block the keys in ssl. Whether anyone abused them is unknown, and some reported details lack sources.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/8/",
      "card": "https://rubric.hrih.si/og/2026-10-31/8.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.745,
          "judge_a": 0.62,
          "judge_b": 0.72,
          "mean": 0.695,
          "spread": 0.125
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.77,
          "judge_a": 0.78,
          "judge_b": 0.88,
          "mean": 0.81,
          "spread": 0.11
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.923,
          "judge_a": 0.7,
          "judge_b": 0.68,
          "mean": 0.7678,
          "spread": 0.243
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.98,
          "judge_a": 0.82,
          "judge_b": 0.86,
          "mean": 0.8867,
          "spread": 0.16
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.723,
          "judge_a": 0.72,
          "judge_b": 0.9,
          "mean": 0.7811,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.7,
          "judge_b": 0.7,
          "mean": 0.77,
          "spread": 0.21
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.73,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.42,
          "spread": 0.55
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.08,
          "judge_b": 0.02,
          "mean": 0.0467,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.23,
          "judge_a": 0.2,
          "judge_b": 0.14,
          "mean": 0.19,
          "spread": 0.09
        }
      }
    },
    {
      "rank": 9,
      "id": "st_20261031_9331",
      "title": "Node.js 27.0.0-Alpha.0.0.0 (Alpha)",
      "url": "https://nodejs.org/en/blog/release/v27.0.0-alpha.0.0.0",
      "domain": "nodejs.org",
      "site": "nodejs.org",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-10-30T14:08:33.000Z",
      "jev": 0.6844,
      "judge_a": 0.653,
      "judge_b": 0.7351,
      "score": 0.6908,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 12,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Node.js 27.0.0-alpha.0.0.0 moves V8 from 14.6 to 15.6.75.13, drops the bundled FIPS provider build, requires OpenSSL 3 or later, and upgrades OpenSSL sources to 4.1.0 and npm to 12.1.0. The release notes also describe a new default heap limit (half of physical memory, clamped to 256 MB–4 GB, with Buffer memory counted), a serialization format older releases cannot read, and a 65-second http keepAliveTimeout default. These last items were not independently verified. Teams should test memory settings and mixed-version messaging early.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/9/",
      "card": "https://rubric.hrih.si/og/2026-10-31/9.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.74,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.6533,
          "spread": 0.14
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.53,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.67,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.67,
          "judge_a": 0.8,
          "judge_b": 0.58,
          "mean": 0.6833,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.81,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7633,
          "spread": 0.11
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.863,
          "judge_a": 0.6,
          "judge_b": 0.96,
          "mean": 0.8078,
          "spread": 0.36
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.5,
          "judge_b": 0.9,
          "mean": 0.7467,
          "spread": 0.4
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.99,
          "mean": 0.8967,
          "spread": 0.19
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.0467,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.12,
          "judge_a": 0.15,
          "judge_b": 0.02,
          "mean": 0.0967,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 10,
      "id": "st_20261031_9553",
      "title": "Bash and pipefail – Non deterministic conditionals",
      "url": "https://blog.myneves.com/pipefail-grep-q.html",
      "domain": "blog.myneves.com",
      "site": "blog.myneves.com",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-10-30T19:19:35.000Z",
      "jev": 0.6464,
      "judge_a": 0.6637,
      "judge_b": 0.7278,
      "score": 0.6793,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 13,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "A debugging write-up explains why conditions like long-output-cmd | grep -q magic fail intermittently in scripts using set -eo pipefail. Once grep finds a match it exits, and the still-writing producer is killed by SIGPIPE (status 141), which pipefail then reports. Small outputs fit in the 64 KB pipe buffer and never fail; larger ones fail more often under CPU load. The author's tests on one machine show head -1, sed 1q and grep -m1 behave the same. Fixes: read to EOF, capture output first, or tolerate 141.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/10/",
      "card": "https://rubric.hrih.si/og/2026-10-31/10.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.49,
          "judge_a": 0.35,
          "judge_b": 0.55,
          "mean": 0.4633,
          "spread": 0.2
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.7733,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.643,
          "judge_a": 0.6,
          "judge_b": 0.45,
          "mean": 0.5644,
          "spread": 0.193
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.765,
          "judge_a": 0.8,
          "judge_b": 0.8,
          "mean": 0.7883,
          "spread": 0.035
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.973,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.9078,
          "spread": 0.123
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 1,
          "judge_a": 0.9,
          "judge_b": 0.88,
          "mean": 0.9267,
          "spread": 0.12
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9233,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.02,
          "judge_b": 0.01,
          "mean": 0.0233,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.12,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 11,
      "id": "st_20261031_8926",
      "title": "Efficient Streaming Language Models with Attention Sinks",
      "url": "https://idlemachines.co.uk/essays/streaming-llm-attention-sinks",
      "domain": "idlemachines.co.uk",
      "site": "idlemachines",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-10-30T09:09:58.000Z",
      "jev": 0.6508,
      "judge_a": 0.581,
      "judge_b": 0.7815,
      "score": 0.671,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 16,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Attention-sink research finds that evicting the first few tokens from a KV cache makes perplexity collapse, even when those tokens are only newlines. In a GPT-2 small replication on wikitext-2 with the cache capped at 256, perplexity rose from 10.7 to 3768 once token 0 was evicted, and keeping four sink tokens restored the baseline. The rolling-cache fix can be applied to existing models. It preserves stable streaming, not memory of evicted text. The replication covers one small model, and the claims cite no sources.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/11/",
      "card": "https://rubric.hrih.si/og/2026-10-31/11.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.733,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6675,
          "spread": 0.183
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.6,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.72,
          "spread": 0.26
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.637,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6722,
          "spread": 0.18
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.745,
          "judge_a": 0.65,
          "judge_b": 0.82,
          "mean": 0.7383,
          "spread": 0.17
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.527,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6156,
          "spread": 0.193
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.883,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.8008,
          "spread": 0.183
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.25,
          "judge_b": 0.96,
          "mean": 0.7033,
          "spread": 0.71
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.04,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.29,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.2233,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 12,
      "id": "st_20261031_9391",
      "title": "More thinking isn't (always) better",
      "url": "https://www.ariwilson.com/writing/agent-effort-levels/",
      "domain": "ariwilson.com",
      "site": "Ari Wilson",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-10-30T16:52:25.000Z",
      "jev": 0.7215,
      "judge_a": 0.546,
      "judge_b": 0.742,
      "score": 0.6698,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 17,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "A benchmark of five coding agents at up to three effort levels, on 8 tasks from five codebases, found that high effort roughly doubled diff size (mean 126 to 281 lines on solved runs) but raised solve rates for only two models, Opus 5.5 and GPT-6.1 Sol. Sonnet 5.5 and Fable 5.1 solved fewer tasks at high than at low, and Opus did worse at max than at high on the hardest bug. The author's figures are self-reported, cover a small task set, and suggest setting defaults per model.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/12/",
      "card": "https://rubric.hrih.si/og/2026-10-31/12.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.608,
          "judge_a": 0.35,
          "judge_b": 0.63,
          "mean": 0.5292,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.73,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7767,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.74,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6867,
          "spread": 0.14
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.943,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.8675,
          "spread": 0.142
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.76,
          "spread": 0.3
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.745,
          "judge_a": 0.6,
          "judge_b": 0.66,
          "mean": 0.6683,
          "spread": 0.145
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.86,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.1533,
          "spread": 0.12
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.24,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.2233,
          "spread": 0.27
        }
      }
    },
    {
      "rank": 13,
      "id": "st_20261031_9529",
      "title": "Go 1.24 MPTCP default exposes servers to Linux kernel RCE (CVE-2026-98432)",
      "url": "https://www.openwall.com/lists/oss-security/2026/10/30/1",
      "domain": "openwall.com",
      "site": "openwall.com",
      "categories": [
        "programming",
        "security",
        "devops",
        "it"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security",
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-10-30T18:44:27.000Z",
      "jev": 0.6511,
      "judge_a": 0.7832,
      "judge_b": 0.7423,
      "score": 0.7255,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 10,
      "topic_penalty": 0.06,
      "repeat_penalty": 0,
      "summary": "The Go security team says CVE-2026-98432, a use-after-free in the Linux kernel's IPv4 TCP handshake path (CVSS 9.8), matters for Go servers because Go 1.24 enables MPTCP on Linux listen sockets by default. Anthropic's demonstrated remote code execution used an MPTCP listener in a lab, though the team says the bug is not MPTCP-specific. Fixed kernels, such as 6.12.113 and 6.18.56, are the recommended remedy. Setting GODEBUG=multipathtcp=0 is called a fragile mitigation, and Go is not changing its default for now.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/13/",
      "card": "https://rubric.hrih.si/og/2026-10-31/13.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.665,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.7483,
          "spread": 0.135
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.9,
          "judge_b": 0.94,
          "mean": 0.86,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.66,
          "judge_a": 0.85,
          "judge_b": 0.64,
          "mean": 0.7167,
          "spread": 0.21
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.893,
          "judge_a": 0.9,
          "judge_b": 0.88,
          "mean": 0.8908,
          "spread": 0.02
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.593,
          "judge_a": 0.5,
          "judge_b": 0.82,
          "mean": 0.6378,
          "spread": 0.32
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.738,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6525,
          "spread": 0.238
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.6,
          "judge_b": 0.98,
          "mean": 0.8167,
          "spread": 0.38
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.02,
          "judge_b": 0.01,
          "mean": 0.05,
          "spread": 0.11
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.64,
          "judge_a": 0.25,
          "judge_b": 0.82,
          "mean": 0.57,
          "spread": 0.57
        }
      }
    },
    {
      "rank": 14,
      "id": "st_20261031_9043",
      "title": "Harness Engineering 101",
      "url": "https://isuruwijesiri.com/harness-engineering-101/",
      "domain": "isuruwijesiri.com",
      "site": "isuruwijesiri.com",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Tutorial",
      "depth": "claim_checked",
      "published_at": "2026-10-30T11:33:28.000Z",
      "jev": 0.6995,
      "judge_a": 0.577,
      "judge_b": 0.7264,
      "score": 0.6676,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 19,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "Isuru Wijesiri, who built WSO2's MI and BI Copilots and the Claude Code rebuild One Code, has published \"Harness Engineering 101,\" a book arguing that agents are a loop around a stateless LLM API, with each feature patching a concrete failure. It covers tools, caching, context limits, subagents, MCP and RAG, and builds a roughly 300-line Python coding agent with no dependencies. The framing is the author's own, drawn from his experience, and is not independently sourced.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/14/",
      "card": "https://rubric.hrih.si/og/2026-10-31/14.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.603,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5575,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.73,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.7633,
          "spread": 0.16
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.667,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6622,
          "spread": 0.12
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.915,
          "judge_a": 0.75,
          "judge_b": 0.82,
          "mean": 0.8283,
          "spread": 0.165
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.79,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.69,
          "spread": 0.29
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.735,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.6783,
          "spread": 0.135
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7733,
          "spread": 0.3
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.0933,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.23,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.2033,
          "spread": 0.05
        }
      }
    },
    {
      "rank": 15,
      "id": "st_20261031_9159",
      "title": "Rejoice, leap seconds are dead!",
      "url": "https://www.jeffgeerling.com/blog/2026/rejoice-the-utc-leap-second-is-dead/",
      "domain": "jeffgeerling.com",
      "site": "Jeff Geerling",
      "categories": [
        "other"
      ],
      "category_names": [
        "Other"
      ],
      "format": "Analysis",
      "depth": "claim_checked",
      "published_at": "2026-10-30T14:00:00.000Z",
      "jev": 0.6008,
      "judge_a": 0.6483,
      "judge_b": 0.6862,
      "score": 0.645,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 29,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "The General Conference on Weights and Measures passed Resolution 5, ending UTC leap seconds from May 20, 2027, ahead of the 2035 date set in 2022. UTC stays 37 seconds ahead of TAI and may drift up to an hour from Earth-rotation time. Engineers avoid an untested negative leap second and can eventually drop leap-second handling code. One open issue is that WWV's DUT1 broadcast assumes an offset under one second. The post's 30% negative-leap-second estimate and the 2035 comparison could not be verified.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/15/",
      "card": "https://rubric.hrih.si/og/2026-10-31/15.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.708,
          "judge_a": 0.62,
          "judge_b": 0.62,
          "mean": 0.6492,
          "spread": 0.088
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.5,
          "judge_a": 0.8,
          "judge_b": 0.8,
          "mean": 0.7,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.897,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.7722,
          "spread": 0.197
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.673,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.6508,
          "spread": 0.08
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.573,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.6244,
          "spread": 0.127
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.71,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.5967,
          "spread": 0.21
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.94,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9333,
          "spread": 0.06
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.0467,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.56,
          "judge_a": 0.2,
          "judge_b": 0.2,
          "mean": 0.32,
          "spread": 0.36
        }
      }
    },
    {
      "rank": 16,
      "id": "st_20261031_9152",
      "title": "Fake Qwen2 checkpoints on Hugging Face mine crypto via trust_remote_code",
      "url": "https://pluto.security/blog/hugging-face-malware-campaign-load-mine/",
      "domain": "pluto.security",
      "site": "Pluto Security",
      "categories": [
        "ai",
        "security",
        "devops"
      ],
      "category_names": [
        "AI & machine learning",
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-10-30T13:33:42.000Z",
      "jev": 0.7899,
      "judge_a": 0.7165,
      "judge_b": 0.8069,
      "score": 0.771,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 2,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.05,
      "summary": "Pluto Security reports a cryptomining and backdoor campaign on Hugging Face: 31 repositories posing as small Qwen2 test checkpoints. Loading one with trust_remote_code=True runs the repository's Python before any weights load. The payloads target self-hosted inference such as Xinference and GPUStack. Downloads, including linked models, exceed 32,000, which is not a count of infections. A second wave appeared within days of takedown. The scanner findings and wallet figures are Pluto's own and not independently sourced; the report advises reading auto_map files before enabling the flag.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/16/",
      "card": "https://rubric.hrih.si/og/2026-10-31/16.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.733,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7175,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.87,
          "judge_a": 0.9,
          "judge_b": 0.94,
          "mean": 0.9033,
          "spread": 0.07
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.587,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.6689,
          "spread": 0.133
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.948,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8992,
          "spread": 0.098
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.967,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.9156,
          "spread": 0.117
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.92,
          "judge_b": 0.95,
          "mean": 0.9558,
          "spread": 0.078
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.79,
          "judge_a": 0.75,
          "judge_b": 0.93,
          "mean": 0.8233,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.2,
          "judge_b": 0.28,
          "mean": 0.1767,
          "spread": 0.23
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.23,
          "judge_a": 0.25,
          "judge_b": 0.12,
          "mean": 0.2,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 17,
      "id": "st_20261031_9616",
      "title": "Ruby fixes three critical bugs CVE scanners don’t flag",
      "url": "https://www.heise.de/en/news/Ruby-fixes-three-critical-bugs-CVE-scanners-don-t-flag-11505748.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "programming",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-10-30T19:41:00.000Z",
      "jev": 0.7222,
      "judge_a": 0.6698,
      "judge_b": 0.7914,
      "score": 0.7278,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 9,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0072,
      "summary": "Ruby 4.0.9, 3.4.12 and 3.3.13 fix three bugs in the Onigmo regex engine, behind four GitLab CVEs rated up to 10.0. The flaws trigger when a pattern is compiled, so any app calling Regexp.new on untrusted input is exposed. Regexp.timeout doesn't help, and the Ruby team says length limits are unreliable. Ruby has issued no CVEs of its own, so scanners may miss old versions; the article says no attacks have been reported, though several details were not independently sourced.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/17/",
      "card": "https://rubric.hrih.si/og/2026-10-31/17.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.705,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6583,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.78,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7933,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.65,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.6233,
          "spread": 0.05
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.943,
          "judge_a": 0.85,
          "judge_b": 0.88,
          "mean": 0.8908,
          "spread": 0.093
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.6,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.7267,
          "spread": 0.2
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.913,
          "judge_a": 0.8,
          "judge_b": 0.76,
          "mean": 0.8242,
          "spread": 0.152
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.81,
          "judge_a": 0.55,
          "judge_b": 0.97,
          "mean": 0.7767,
          "spread": 0.42
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.03,
          "judge_b": 0.01,
          "mean": 0.03,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.44,
          "judge_a": 0.1,
          "judge_b": 0.12,
          "mean": 0.22,
          "spread": 0.34
        }
      }
    },
    {
      "rank": 18,
      "id": "st_20261031_9197",
      "title": "Canada's New Time Zones Crashed Our App Before They Took Effect",
      "url": "https://medhat.dev/blog/new-time-zone-crash/",
      "domain": "medhat.dev",
      "site": "medhat.dev",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-10-30T14:59:41.000Z",
      "jev": 0.7623,
      "judge_a": 0.4705,
      "judge_b": 0.705,
      "score": 0.6459,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 28,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "A postmortem from one web team describes an app that failed to load for Windows users in western Canada on Chrome, Edge and Electron. Per the author, new Windows time zones for British Columbia, Alberta and Manitoba had no ICU mapping, so Chromium returned undefined from Intl's resolvedOptions().timeZone, and an early telemetry call to .split threw during startup. The fix was optional handling and moving telemetry off the boot path. Most dates and fix statuses were unverified; only Firefox 159's fix matched its source.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/18/",
      "card": "https://rubric.hrih.si/og/2026-10-31/18.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.578,
          "judge_a": 0.3,
          "judge_b": 0.58,
          "mean": 0.4858,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.79,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7367,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.747,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.5656,
          "spread": 0.347
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.97,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7833,
          "spread": 0.37
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.82,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7467,
          "spread": 0.22
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.993,
          "judge_a": 0.7,
          "judge_b": 0.7,
          "mean": 0.7975,
          "spread": 0.293
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.5,
          "judge_b": 0.96,
          "mean": 0.79,
          "spread": 0.46
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.04,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1567,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 19,
      "id": "st_20261031_9181",
      "title": "Gemini Computer Use API",
      "url": "https://ai.google.dev/gemini-api/docs/computer-use",
      "domain": "ai.google.dev",
      "site": "Google AI for Developers",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Tutorial",
      "depth": "claim_checked",
      "published_at": "2026-10-30T14:18:58.000Z",
      "jev": 0.7106,
      "judge_a": 0.537,
      "judge_b": 0.7398,
      "score": 0.6624,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 20,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Google's Gemini API documentation describes a Computer Use tool in which the model reads screenshots and returns UI actions such as clicks, typing and navigation, with each step carrying an intent field explaining it. The developer's client executes the actions, for example through Playwright, in a sandboxed environment, and sends back a new screenshot in a loop. Gemini 4 and 3.x models cover browser, mobile and desktop, with configurable safety policies and opt-in prompt injection detection. Several details, including model recommendations, are not independently sourced.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/19/",
      "card": "https://rubric.hrih.si/og/2026-10-31/19.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.703,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.6242,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.6,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6733,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.583,
          "judge_a": 0.55,
          "judge_b": 0.68,
          "mean": 0.6044,
          "spread": 0.13
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.943,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8542,
          "spread": 0.142
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.923,
          "judge_a": 0.5,
          "judge_b": 0.86,
          "mean": 0.7611,
          "spread": 0.423
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.995,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.8583,
          "spread": 0.215
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.6,
          "judge_b": 0.92,
          "mean": 0.81,
          "spread": 0.32
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.25,
          "judge_b": 0.18,
          "mean": 0.1767,
          "spread": 0.15
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1533,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 20,
      "id": "st_20261031_9387",
      "title": "Disk I/O profiling with eBPF",
      "url": "https://coroot.com/blog/disk-io-profiling-with-ebpf/",
      "domain": "coroot.com",
      "site": "coroot.com",
      "categories": [
        "devops",
        "data"
      ],
      "category_names": [
        "Infrastructure & DevOps",
        "Data"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-10-30T16:57:26.000Z",
      "jev": 0.6857,
      "judge_a": 0.4675,
      "judge_b": 0.7037,
      "score": 0.6189,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 46,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Coroot's node-agent now includes an eBPF disk I/O profiler, on by default, that attributes block-request time and bytes read or written to application stacks. It hooks submit_bio and bio_endio rather than scheduler off-CPU events, and samples at most one request per millisecond per CPU, weighted by the requests skipped. The author's tests on one 12-core machine (pgbench, fio) show up to 1.6% lower throughput, and the figures are self-reported. A retention-job case on a Percona cluster traced heavy reads to cold-page deletes.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/20/",
      "card": "https://rubric.hrih.si/og/2026-10-31/20.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.608,
          "judge_a": 0.4,
          "judge_b": 0.68,
          "mean": 0.5625,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.73,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.7633,
          "spread": 0.16
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.573,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5478,
          "spread": 0.17
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.813,
          "judge_a": 0.6,
          "judge_b": 0.79,
          "mean": 0.7342,
          "spread": 0.213
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.957,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7922,
          "spread": 0.357
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.995,
          "judge_a": 0.85,
          "judge_b": 0.91,
          "mean": 0.9183,
          "spread": 0.145
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9267,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.45,
          "judge_b": 0.28,
          "mean": 0.27,
          "spread": 0.37
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.2533,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 21,
      "id": "st_20261031_9534",
      "title": "How to find 300% of a lost performance in a mature database code",
      "url": "https://mariadb.org/how-mariadb-11-8-became-about-3x-faster-on-some-in-memory-workloads-fixing-a-regression-dating-back-to-10-5/",
      "domain": "mariadb.org",
      "site": "MariaDB.org",
      "categories": [
        "programming",
        "data"
      ],
      "category_names": [
        "Programming & dev tools",
        "Data"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-10-30T18:37:37.000Z",
      "jev": 0.5842,
      "judge_a": 0.526,
      "judge_b": 0.7361,
      "score": 0.6154,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 50,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Alessandro Vetere reports that a MariaDB 10.5 change left InnoDB in-memory workloads paying for LRU promotion, because the freed-page clock starts ticking early and turns on a buf_pool.mutex acquisition on nearly every page access.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/21/",
      "card": "https://rubric.hrih.si/og/2026-10-31/21.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.64,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.6033,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.65,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.6967,
          "spread": 0.24
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.487,
          "judge_a": 0.35,
          "judge_b": 0.48,
          "mean": 0.4389,
          "spread": 0.137
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.603,
          "judge_a": 0.55,
          "judge_b": 0.75,
          "mean": 0.6342,
          "spread": 0.2
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.97,
          "judge_a": 0.8,
          "judge_b": 0.92,
          "mean": 0.8967,
          "spread": 0.17
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9525,
          "spread": 0.098
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.95,
          "judge_b": 0.98,
          "mean": 0.9333,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0467,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.59,
          "judge_a": 0.25,
          "judge_b": 0.18,
          "mean": 0.34,
          "spread": 0.41
        }
      }
    },
    {
      "rank": 22,
      "id": "st_20261031_9399",
      "title": "Hashsync – Deduplicate SSH streams against the receiver's files",
      "url": "https://github.com/someplaceguy/hashsync",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-10-30T16:45:30.000Z",
      "jev": 0.6102,
      "judge_a": 0.481,
      "judge_b": 0.7511,
      "score": 0.6141,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 51,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "hashsync is an SSH wrapper that deduplicates the data streamed between two hosts against files the receiving host already holds. It finds matching 16 KiB blocks at any offset and sends references in their place, compressing what remains with zstd.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/22/",
      "card": "https://rubric.hrih.si/og/2026-10-31/22.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.493,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4875,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.58,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.6933,
          "spread": 0.32
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.44,
          "judge_a": 0.4,
          "judge_b": 0.42,
          "mean": 0.42,
          "spread": 0.04
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.77,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.7367,
          "spread": 0.24
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.917,
          "judge_a": 0.55,
          "judge_b": 0.9,
          "mean": 0.7889,
          "spread": 0.367
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.993,
          "judge_a": 0.7,
          "judge_b": 0.96,
          "mean": 0.8842,
          "spread": 0.293
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.93,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.15,
          "judge_b": 0.04,
          "mean": 0.0867,
          "spread": 0.11
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.12,
          "judge_a": 0.2,
          "judge_b": 0.05,
          "mean": 0.1233,
          "spread": 0.15
        }
      }
    },
    {
      "rank": 23,
      "id": "st_20261031_9227",
      "title": "South Korea fines Google and Apple $47.6m over app store payments",
      "url": "https://thenextweb.com/news/google-apple-fined-south-korea-in-app-payments",
      "domain": "thenextweb.com",
      "site": "The Next Web",
      "categories": [
        "policy"
      ],
      "category_names": [
        "Policy & regulation"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-10-30T14:54:35.000Z",
      "jev": 0.5395,
      "judge_a": 0.5858,
      "judge_b": 0.7001,
      "score": 0.6084,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 55,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "South Korea's Korea Media and Communications Commission fined Google 42.9bn won and Apple 20.8bn won, about $47.6m combined, the first penalty under a 2021 law barring app stores from forcing developers onto their own payment systems.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/23/",
      "card": "https://rubric.hrih.si/og/2026-10-31/23.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.648,
          "judge_a": 0.55,
          "judge_b": 0.68,
          "mean": 0.6258,
          "spread": 0.13
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.48,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.68,
          "spread": 0.38
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.607,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.6656,
          "spread": 0.113
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.507,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.5758,
          "spread": 0.113
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.6,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.66,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.44,
          "judge_a": 0.15,
          "judge_b": 0.12,
          "mean": 0.2367,
          "spread": 0.32
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.81,
          "judge_a": 0.6,
          "judge_b": 0.98,
          "mean": 0.7967,
          "spread": 0.38
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.02,
          "judge_b": 0.01,
          "mean": 0.0267,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.13,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.1033,
          "spread": 0.05
        }
      }
    },
    {
      "rank": 24,
      "id": "st_20261031_9388",
      "title": "Check for IOCs for the ongoing Claude Code extensions exfil campaign",
      "url": "https://github.com/cookiengineer/check-claude-code-exfil",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "ai",
        "security",
        "it"
      ],
      "category_names": [
        "AI & machine learning",
        "Security",
        "IT & networking"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-10-30T16:56:24.000Z",
      "jev": 0.7008,
      "judge_a": 0.6005,
      "judge_b": 0.7306,
      "score": 0.6773,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 14,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A read-only scanner called check-claude-code-exfil checks macOS, Linux, and Windows hosts for indicators of compromise tied to a documented Claude Code for VS Code extension campaign. It inspects extension versions and bundle hashes, SSH keys and fingerprints, persistence mechanisms, processes, and live TCP connections, without remediating anything or contacting attacker…",
      "page": "https://rubric.hrih.si/editions/2026-10-31/24/",
      "card": "https://rubric.hrih.si/og/2026-10-31/24.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.58,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.5833,
          "spread": 0.07
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.78,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7333,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.46,
          "judge_a": 0.5,
          "judge_b": 0.55,
          "mean": 0.5033,
          "spread": 0.09
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.818,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8325,
          "spread": 0.08
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.95,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7567,
          "spread": 0.35
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.995,
          "judge_a": 0.65,
          "judge_b": 0.86,
          "mean": 0.835,
          "spread": 0.345
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.79,
          "spread": 0.19
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0433,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.12,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1167,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 25,
      "id": "st_20261031_8810",
      "title": "What Claude Code's 30-second agent summary call costs, read from the binary",
      "url": "https://theainewsreport.com/2026-10-29-claude-code-agent-summary-cost-explained.html",
      "domain": "theainewsreport.com",
      "site": "AI News Report",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "claim_checked",
      "published_at": "2026-10-30T04:58:26.000Z",
      "jev": 0.6355,
      "judge_a": 0.6335,
      "judge_b": 0.7004,
      "score": 0.6564,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 23,
      "topic_penalty": 0.06,
      "repeat_penalty": 0,
      "summary": "A Hacker News story reports that Claude Code sends each background agent's transcript to the model roughly every 30 seconds to produce a 3-to-5-word status line, and that this can account for a sizable share of spend.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/25/",
      "card": "https://rubric.hrih.si/og/2026-10-31/25.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.52,
          "judge_a": 0.4,
          "judge_b": 0.58,
          "mean": 0.5,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.8,
          "spread": 0.12
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.353,
          "judge_a": 0.5,
          "judge_b": 0.42,
          "mean": 0.4244,
          "spread": 0.147
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.833,
          "judge_a": 0.8,
          "judge_b": 0.8,
          "mean": 0.8108,
          "spread": 0.032
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.803,
          "judge_a": 0.75,
          "judge_b": 0.82,
          "mean": 0.7911,
          "spread": 0.07
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.995,
          "judge_a": 0.8,
          "judge_b": 0.72,
          "mean": 0.8383,
          "spread": 0.275
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.79,
          "judge_a": 0.85,
          "judge_b": 0.94,
          "mean": 0.86,
          "spread": 0.15
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.04,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.2,
          "spread": 0.16
        }
      }
    },
    {
      "rank": 26,
      "id": "st_20261031_9680",
      "title": "A Journey into Claude's Sandbox",
      "url": "https://bishopfox.com/blog/journey-into-claudes-sandbox",
      "domain": "bishopfox.com",
      "site": "Bishop Fox",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T20:44:01.000Z",
      "jev": 0.6006,
      "judge_a": 0.6071,
      "judge_b": 0.8211,
      "score": 0.6762,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 15,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A security researcher describes probing Claude's sandbox through its chat interface, reporting that Claude disclosed internal sandbox details and that a file-download API returned the internal orchestration binary when given an absolute path.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/26/",
      "card": "https://rubric.hrih.si/og/2026-10-31/26.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.548,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.5925,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.9,
          "judge_b": 0.95,
          "mean": 0.8433,
          "spread": 0.27
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.393,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.5944,
          "spread": 0.327
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.655,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6917,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.847,
          "judge_a": 0.5,
          "judge_b": 0.84,
          "mean": 0.7289,
          "spread": 0.347
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.975,
          "judge_a": 0.75,
          "judge_b": 0.92,
          "mean": 0.8817,
          "spread": 0.225
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.8,
          "judge_a": 0.85,
          "judge_b": 0.8,
          "mean": 0.8167,
          "spread": 0.05
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.0333,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.24,
          "judge_a": 0.45,
          "judge_b": 0.12,
          "mean": 0.27,
          "spread": 0.33
        }
      }
    },
    {
      "rank": 27,
      "id": "st_20261031_9620",
      "title": "OpenTelemetry: Collector updates no longer break filter rules",
      "url": "https://www.heise.de/en/news/OpenTelemetry-Collector-updates-no-longer-break-filter-rules-11506125.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "programming",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-10-30T19:31:00.000Z",
      "jev": 0.5912,
      "judge_a": 0.5145,
      "judge_b": 0.682,
      "score": 0.5958,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 61,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "OpenTelemetry's Transformation Language (OTTL) reached version 1.0, stable for traces, metrics, and logs starting with Collector Contrib v0.164.0. Its syntax, standard functions, and Go API are now frozen for the 1.x series, so Collector upgrades should no longer break existing filter and transform rules.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/27/",
      "card": "https://rubric.hrih.si/og/2026-10-31/27.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.63,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5667,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.57,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6167,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.51,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.53,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.743,
          "judge_a": 0.6,
          "judge_b": 0.76,
          "mean": 0.7008,
          "spread": 0.16
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.58,
          "judge_a": 0.6,
          "judge_b": 0.79,
          "mean": 0.6567,
          "spread": 0.21
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.798,
          "judge_a": 0.55,
          "judge_b": 0.68,
          "mean": 0.6758,
          "spread": 0.247
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.93,
          "judge_a": 0.85,
          "judge_b": 0.96,
          "mean": 0.9133,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.05,
          "judge_b": 0.05,
          "mean": 0.0633,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.33,
          "judge_a": 0.1,
          "judge_b": 0.22,
          "mean": 0.2167,
          "spread": 0.23
        }
      }
    },
    {
      "rank": 28,
      "id": "st_20261031_9079",
      "title": "The test was green. It had never once done what it claimed",
      "url": "https://github.com/jonesd/xudanu/blob/main/essays/001-dark-line-forensics.md",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T12:46:34.000Z",
      "jev": 0.7107,
      "judge_a": 0.4745,
      "judge_b": 0.7076,
      "score": 0.6309,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 37,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Hrih News: A developer on a Rust PBFT-style governance server describes using per-function coverage triage to find flaws that green tests hid. A consensus test asserting rejections had only exercised an earlier guard, a helper documenting a critical quorum invariant had zero callers, and a coverage script's scope was silently…",
      "page": "https://rubric.hrih.si/editions/2026-10-31/28/",
      "card": "https://rubric.hrih.si/og/2026-10-31/28.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.538,
          "judge_a": 0.25,
          "judge_b": 0.54,
          "mean": 0.4425,
          "spread": 0.29
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.75,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7233,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.673,
          "judge_a": 0.4,
          "judge_b": 0.46,
          "mean": 0.5111,
          "spread": 0.273
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.9,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.82,
          "spread": 0.2
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7333,
          "spread": 0.28
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.995,
          "judge_a": 0.75,
          "judge_b": 0.84,
          "mean": 0.8617,
          "spread": 0.245
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9167,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.2,
          "judge_b": 0.03,
          "mean": 0.09,
          "spread": 0.17
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.26,
          "judge_a": 0.2,
          "judge_b": 0.05,
          "mean": 0.17,
          "spread": 0.21
        }
      }
    },
    {
      "rank": 29,
      "id": "st_20261031_9170",
      "title": "Northflank PaaS: Security Incident - Disable/rotate all keys",
      "url": "https://status.northflank.com/cmvv0rn5a092f14rutwccodpp",
      "domain": "status.northflank.com",
      "site": "Northflank",
      "categories": [
        "ai",
        "security",
        "devops"
      ],
      "category_names": [
        "AI & machine learning",
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T14:21:52.000Z",
      "jev": 0.677,
      "judge_a": 0.5465,
      "judge_b": 0.7849,
      "score": 0.6694,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 18,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Northflank, a platform-as-a-service provider, disclosed a security incident on October 30, 2026, in which users reported unauthorised use of AI API keys stored on the platform. The company advises assuming all environment variables were decrypted, rotating every secret and credential, disabling public addon access, and auditing AI provider billing logs.…",
      "page": "https://rubric.hrih.si/editions/2026-10-31/29/",
      "card": "https://rubric.hrih.si/og/2026-10-31/29.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.718,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.6292,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.84,
          "judge_a": 0.6,
          "judge_b": 0.94,
          "mean": 0.7933,
          "spread": 0.34
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.4,
          "judge_a": 0.5,
          "judge_b": 0.68,
          "mean": 0.5267,
          "spread": 0.28
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.95,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8833,
          "spread": 0.15
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.397,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.5422,
          "spread": 0.383
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.513,
          "judge_a": 0.3,
          "judge_b": 0.38,
          "mean": 0.3975,
          "spread": 0.212
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.7767,
          "spread": 0.3
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.0433,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.44,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.2567,
          "spread": 0.29
        }
      }
    },
    {
      "rank": 30,
      "id": "st_20261031_9625",
      "title": "Hugging Face deal: DOJ probes Nvidia’s expansion strategy",
      "url": "https://www.heise.de/en/news/Hugging-Face-deal-DOJ-probes-Nvidia-s-expansion-strategy-11506261.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "ai",
        "hardware",
        "policy"
      ],
      "category_names": [
        "AI & machine learning",
        "Hardware & devices",
        "Policy & regulation"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T19:26:00.000Z",
      "jev": 0.5461,
      "judge_a": 0.4705,
      "judge_b": 0.7444,
      "score": 0.587,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 69,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "The US Department of Justice is reportedly examining Nvidia's planned $12.93 billion acquisition of Hugging Face, the major AI model and dataset hub, over concerns that control of that distribution channel could expand Nvidia's market power.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/30/",
      "card": "https://rubric.hrih.si/og/2026-10-31/30.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.69,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6567,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.7,
          "judge_b": 0.91,
          "mean": 0.7433,
          "spread": 0.29
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.743,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.6911,
          "spread": 0.23
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.37,
          "judge_a": 0.3,
          "judge_b": 0.61,
          "mean": 0.4267,
          "spread": 0.31
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.483,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.5511,
          "spread": 0.27
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.325,
          "judge_a": 0.1,
          "judge_b": 0.29,
          "mean": 0.2383,
          "spread": 0.225
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.7,
          "judge_b": 0.98,
          "mean": 0.86,
          "spread": 0.28
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.05,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1867,
          "spread": 0.2
        }
      }
    },
    {
      "rank": 31,
      "id": "st_20261031_8996",
      "title": "Wikimedia asks court to rule AI training fair use, but not chatbot copying",
      "url": "https://thenextweb.com/news/wikimedia-amicus-brief-openai-new-york-times-fair-use-rag",
      "domain": "thenextweb.com",
      "site": "The Next Web",
      "categories": [
        "ai",
        "policy"
      ],
      "category_names": [
        "AI & machine learning",
        "Policy & regulation"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T10:43:02.000Z",
      "jev": 0.5678,
      "judge_a": 0.54,
      "judge_b": 0.6326,
      "score": 0.5801,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 76,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "The Wikimedia Foundation has asked the federal judge in The New York Times' copyright case against OpenAI to split the fair use question: it argues that training AI models on copyrighted work is likely fair use, but that chatbots copying website text to answer user queries (retrieval-augmented generation) likely is…",
      "page": "https://rubric.hrih.si/editions/2026-10-31/31/",
      "card": "https://rubric.hrih.si/og/2026-10-31/31.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.688,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.6192,
          "spread": 0.137
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.52,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.6667,
          "spread": 0.26
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.703,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.6611,
          "spread": 0.103
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.548,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.5258,
          "spread": 0.13
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.51,
          "judge_a": 0.5,
          "judge_b": 0.76,
          "mean": 0.59,
          "spread": 0.26
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.458,
          "judge_a": 0.2,
          "judge_b": 0.34,
          "mean": 0.3325,
          "spread": 0.258
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.86,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.05,
          "judge_b": 0.08,
          "mean": 0.0733,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.17,
          "spread": 0.03
        }
      }
    },
    {
      "rank": 32,
      "id": "st_20261031_9651",
      "title": "Attackers target Cisco firewalls and GitLab flaw",
      "url": "https://www.heise.de/en/news/Attackers-target-Cisco-firewalls-and-GitLab-flaw-11505764.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "security",
        "devops",
        "it"
      ],
      "category_names": [
        "Security",
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T20:09:00.000Z",
      "jev": 0.6931,
      "judge_a": 0.5188,
      "judge_b": 0.7605,
      "score": 0.6574,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 21,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Attackers are actively exploiting a denial-of-service flaw in Cisco ASA and FTD firewall SSL VPNs (CVE-2026-76418) and a critical GitLab code-injection flaw (CVE-2026-97229), prompting CISA to add both to its known-exploited catalog.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/32/",
      "card": "https://rubric.hrih.si/og/2026-10-31/32.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.668,
          "judge_a": 0.4,
          "judge_b": 0.68,
          "mean": 0.5825,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.75,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.7367,
          "spread": 0.26
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.707,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.6089,
          "spread": 0.207
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.828,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.7958,
          "spread": 0.16
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.62,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.6633,
          "spread": 0.27
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.77,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6633,
          "spread": 0.27
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.75,
          "judge_a": 0.35,
          "judge_b": 0.84,
          "mean": 0.6467,
          "spread": 0.49
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.03,
          "judge_b": 0.01,
          "mean": 0.0333,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.29,
          "judge_a": 0.15,
          "judge_b": 0.12,
          "mean": 0.1867,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 33,
      "id": "st_20261031_9617",
      "title": "“SMS of Death”: Security flaw crashes Android phones",
      "url": "https://www.heise.de/en/news/SMS-of-Death-Security-flaw-crashes-Android-phones-11506625.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "security",
        "it"
      ],
      "category_names": [
        "Security",
        "IT & networking"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T19:38:00.000Z",
      "jev": 0.5656,
      "judge_a": 0.6688,
      "judge_b": 0.7368,
      "score": 0.657,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 22,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Security researcher Mark Blaszczyk disclosed the \"SMS of Death,\" a flaw in Android versions 12 through 17 where a single malformed WAP Push text message crashes the telephony service and can trap a phone in a reboot loop, forcing a factory reset.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/33/",
      "card": "https://rubric.hrih.si/og/2026-10-31/33.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.625,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6483,
          "spread": 0.12
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.7967,
          "spread": 0.26
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.557,
          "judge_a": 0.7,
          "judge_b": 0.62,
          "mean": 0.6256,
          "spread": 0.143
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.525,
          "judge_a": 0.7,
          "judge_b": 0.7,
          "mean": 0.6417,
          "spread": 0.175
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.517,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6322,
          "spread": 0.263
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.778,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.6492,
          "spread": 0.227
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.89,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.03,
          "judge_b": 0.02,
          "mean": 0.0333,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.35,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.2767,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 34,
      "id": "st_20261031_9812",
      "title": "The Role of UX in Agentic Software Factories",
      "url": "https://www.nngroup.com/articles/ux-agentic-software-factories/",
      "domain": "nngroup.com",
      "site": "Nielsen Norman Group",
      "categories": [
        "ai",
        "product",
        "design"
      ],
      "category_names": [
        "AI & machine learning",
        "Product",
        "Design & UX"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T17:00:00.000Z",
      "jev": 0.6545,
      "judge_a": 0.453,
      "judge_b": 0.6166,
      "score": 0.5747,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 85,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Anthropic's August 2026 playbook for an AI-native software development lifecycle, alongside similar Google and OpenAI publications, has agents generating most of the work while humans approve at gates.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/34/",
      "card": "https://rubric.hrih.si/og/2026-10-31/34.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.65,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.5333,
          "spread": 0.25
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.59,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6367,
          "spread": 0.13
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.833,
          "judge_a": 0.5,
          "judge_b": 0.68,
          "mean": 0.6711,
          "spread": 0.333
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.863,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7275,
          "spread": 0.263
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.3,
          "judge_a": 0.4,
          "judge_b": 0.58,
          "mean": 0.4267,
          "spread": 0.28
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.575,
          "judge_a": 0.3,
          "judge_b": 0.38,
          "mean": 0.4183,
          "spread": 0.275
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.84,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.2,
          "judge_b": 0.04,
          "mean": 0.1167,
          "spread": 0.16
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.3,
          "judge_b": 0.28,
          "mean": 0.2567,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 35,
      "id": "st_20261031_9757",
      "title": "Big Tech has now committed more than $3 trillion to the AI build-out",
      "url": "https://thenextweb.com/news/big-tech-3-trillion-ai-spending-commitments",
      "domain": "thenextweb.com",
      "site": "The Next Web",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T22:15:34.000Z",
      "jev": 0.5428,
      "judge_a": 0.6362,
      "judge_b": 0.7801,
      "score": 0.653,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 24,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Bloomberg reports that Alphabet, Meta, Microsoft, Amazon and Oracle have together committed more than $3 trillion to future AI data centre spending, covering leases, buildings, energy and equipment. Alphabet has the largest share at over $1 trillion and Meta over $800 billion, with some leases running 30 years.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/35/",
      "card": "https://rubric.hrih.si/og/2026-10-31/35.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.655,
          "judge_a": 0.72,
          "judge_b": 0.88,
          "mean": 0.7517,
          "spread": 0.225
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.58,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.7867,
          "spread": 0.35
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.807,
          "judge_a": 0.82,
          "judge_b": 0.9,
          "mean": 0.8422,
          "spread": 0.093
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.36,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.4967,
          "spread": 0.32
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.557,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.5922,
          "spread": 0.22
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.303,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1775,
          "spread": 0.222
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.75,
          "judge_b": 0.92,
          "mean": 0.8467,
          "spread": 0.17
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.03,
          "judge_b": 0.03,
          "mean": 0.05,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.17,
          "judge_a": 0.25,
          "judge_b": 0.18,
          "mean": 0.2,
          "spread": 0.08
        }
      }
    },
    {
      "rank": 36,
      "id": "st_20261031_9248",
      "title": "Dbprint – Database Context for Agents",
      "url": "https://github.com/jakubro/dbprint",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai",
        "data"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Data"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-10-30T15:20:12.000Z",
      "jev": 0.6682,
      "judge_a": 0.37,
      "judge_b": 0.6787,
      "score": 0.5722,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 88,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "dbprint is an open-source tool that profiles a database once and commits the results as plain-text files in a repository, so coding agents can read accurate context offline rather than re-querying the database each session.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/36/",
      "card": "https://rubric.hrih.si/og/2026-10-31/36.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.568,
          "judge_a": 0.3,
          "judge_b": 0.55,
          "mean": 0.4725,
          "spread": 0.268
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.5,
          "judge_b": 0.85,
          "mean": 0.6967,
          "spread": 0.35
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.587,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.5122,
          "spread": 0.187
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.86,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7933,
          "spread": 0.16
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.77,
          "judge_a": 0.5,
          "judge_b": 0.74,
          "mean": 0.67,
          "spread": 0.27
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.65,
          "judge_b": 0.88,
          "mean": 0.8392,
          "spread": 0.338
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.93,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.45,
          "judge_b": 0.18,
          "mean": 0.2467,
          "spread": 0.34
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.35,
          "judge_a": 0.5,
          "judge_b": 0.2,
          "mean": 0.35,
          "spread": 0.3
        }
      }
    },
    {
      "rank": 37,
      "id": "st_20261031_9336",
      "title": "Remote code execution on Linux systems with multipath TCP",
      "url": "https://lwn.net/Articles/1104192/",
      "domain": "lwn.net",
      "site": "LWN.net",
      "categories": [
        "security",
        "it"
      ],
      "category_names": [
        "Security",
        "IT & networking"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T15:45:27.000Z",
      "jev": 0.6532,
      "judge_a": 0.5843,
      "judge_b": 0.7074,
      "score": 0.6482,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 25,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A remotely exploitable use-after-free bug in the Linux kernel's multipath TCP stack, reported by Anthropic on October 27, lets an attacker trigger a race between a retransmitted SYN response and connection setup, potentially disclosing kernel memory or enabling code execution.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/37/",
      "card": "https://rubric.hrih.si/og/2026-10-31/37.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.683,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6875,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.76,
          "spread": 0.16
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.77,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6967,
          "spread": 0.17
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.748,
          "judge_a": 0.7,
          "judge_b": 0.8,
          "mean": 0.7492,
          "spread": 0.1
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.417,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.4822,
          "spread": 0.163
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.753,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.6508,
          "spread": 0.252
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.35,
          "judge_b": 0.92,
          "mean": 0.7033,
          "spread": 0.57
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.03,
          "judge_b": 0.02,
          "mean": 0.0367,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.47,
          "judge_a": 0.3,
          "judge_b": 0.72,
          "mean": 0.4967,
          "spread": 0.42
        }
      }
    },
    {
      "rank": 38,
      "id": "st_20261031_8721",
      "title": "Animations for System Builders: Metastability and Lost Writes",
      "url": "https://www.brooker.co.za/blog/2026/10/23/animations.html",
      "domain": "brooker.co.za",
      "site": "brooker.co.za",
      "categories": [
        "devops"
      ],
      "category_names": [
        "Infrastructure & DevOps"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T00:32:34.000Z",
      "jev": 0.5655,
      "judge_a": 0.47,
      "judge_b": 0.727,
      "score": 0.5874,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 68,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "Marc Brooker, an AWS engineer, argues that animations help engineers build intuition for system behavior, and uses them to show metastable failures in real software.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/38/",
      "card": "https://rubric.hrih.si/og/2026-10-31/38.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.493,
          "judge_a": 0.35,
          "judge_b": 0.68,
          "mean": 0.5075,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.58,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.6867,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.717,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.6389,
          "spread": 0.217
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.665,
          "judge_a": 0.6,
          "judge_b": 0.76,
          "mean": 0.675,
          "spread": 0.16
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.573,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.5644,
          "spread": 0.12
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.658,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.6525,
          "spread": 0.1
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.6,
          "judge_b": 0.96,
          "mean": 0.8133,
          "spread": 0.36
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.0933,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.27,
          "judge_a": 0.3,
          "judge_b": 0.2,
          "mean": 0.2567,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 39,
      "id": "st_20261031_8812",
      "title": "Same place, different view: How VPNs shape what we learn about the Internet",
      "url": "https://blog.apnic.net/2026/10/30/same-place-different-view-how-vpns-shape-what-we-learn-about-the-internet/",
      "domain": "blog.apnic.net",
      "site": "APNIC Blog",
      "categories": [
        "it"
      ],
      "category_names": [
        "IT & networking"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-10-30T04:12:54.000Z",
      "jev": 0.5387,
      "judge_a": 0.4345,
      "judge_b": 0.7264,
      "score": 0.5665,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 92,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "A study using VPN-Scope, which loaded the same websites through four VPN providers from the same economies, found that provider choice changes which servers and locations a browser connects to.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/39/",
      "card": "https://rubric.hrih.si/og/2026-10-31/39.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.563,
          "judge_a": 0.35,
          "judge_b": 0.68,
          "mean": 0.5308,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.5,
          "judge_a": 0.45,
          "judge_b": 0.82,
          "mean": 0.59,
          "spread": 0.37
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.55,
          "judge_a": 0.35,
          "judge_b": 0.55,
          "mean": 0.4833,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.473,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.5475,
          "spread": 0.27
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.937,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.8656,
          "spread": 0.137
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.768,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7158,
          "spread": 0.18
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.9,
          "judge_b": 0.97,
          "mean": 0.9167,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.0433,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.15,
          "judge_b": 0.06,
          "mean": 0.13,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 40,
      "id": "st_20261031_9462",
      "title": "Sam Altman says the chip supply chain's invisible hand failing and DRAM is why",
      "url": "https://finance.biggo.com/news/c8f9be1b0cccfd2c",
      "domain": "finance.biggo.com",
      "site": "BigGo Finance",
      "categories": [
        "ai",
        "hardware",
        "startups"
      ],
      "category_names": [
        "AI & machine learning",
        "Hardware & devices",
        "Startups & founders"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T17:50:38.000Z",
      "jev": 0.6404,
      "judge_a": 0.56,
      "judge_b": 0.7384,
      "score": 0.6462,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 27,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Sam Altman, speaking on the Cheeky Pint podcast, argued that memory makers are not responding to record profits with enough new capacity, leaving the chip supply chain's price signals broken.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/40/",
      "card": "https://rubric.hrih.si/og/2026-10-31/40.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.725,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.685,
          "spread": 0.23
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.8,
          "judge_b": 0.92,
          "mean": 0.8133,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.953,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.8111,
          "spread": 0.253
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.598,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.5758,
          "spread": 0.23
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.557,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.5956,
          "spread": 0.33
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.638,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5525,
          "spread": 0.237
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.6,
          "judge_b": 0.96,
          "mean": 0.81,
          "spread": 0.36
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.05,
          "judge_b": 0.08,
          "mean": 0.0767,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.55,
          "judge_a": 0.3,
          "judge_b": 0.38,
          "mean": 0.41,
          "spread": 0.25
        }
      }
    },
    {
      "rank": 41,
      "id": "st_20261031_9786",
      "title": "Zellic's and V12's Work on x86 Binary Formal Verification",
      "url": "https://v12.sh/blog/x86-formal-verification-intro",
      "domain": "v12.sh",
      "site": "V12",
      "categories": [
        "programming",
        "ai",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T23:09:29.000Z",
      "jev": 0.5849,
      "judge_a": 0.5596,
      "judge_b": 0.7908,
      "score": 0.645,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 30,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Zellic and V12 report what they believe is the first published machine-checked proof covering a full Linux process run of a statically linked 64-bit x86 glibc binary, from execve through glibc startup, heap allocation, I/O, and exit_group.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/41/",
      "card": "https://rubric.hrih.si/og/2026-10-31/41.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.645,
          "judge_a": 0.62,
          "judge_b": 0.82,
          "mean": 0.695,
          "spread": 0.2
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.66,
          "judge_a": 0.78,
          "judge_b": 0.9,
          "mean": 0.78,
          "spread": 0.24
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.517,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.5456,
          "spread": 0.12
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.468,
          "judge_a": 0.4,
          "judge_b": 0.78,
          "mean": 0.5492,
          "spread": 0.38
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.72,
          "judge_b": 0.84,
          "mean": 0.8067,
          "spread": 0.14
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.873,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9108,
          "spread": 0.087
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.92,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9333,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.2,
          "judge_b": 0.06,
          "mean": 0.12,
          "spread": 0.14
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.23,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.2367,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 42,
      "id": "st_20261031_8960",
      "title": "TornadoVM 8.0: Meet TC, TornadoVM's Own Compiler",
      "url": "https://www.tornadovm.org/blogs/tornadovm-8-0-0-tc-tornadovm-compiler",
      "domain": "tornadovm.org",
      "site": "tornadovm.org",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-10-30T10:17:36.000Z",
      "jev": 0.6241,
      "judge_a": 0.5345,
      "judge_b": 0.7061,
      "score": 0.6215,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 42,
      "topic_penalty": 0.06,
      "repeat_penalty": 0,
      "summary": "TornadoVM v8.0.0 replaces its vendored Graal compiler with TC, a pure-Java compiler that turns Java bytecode into CUDA C++, OpenCL C, or Metal kernels without JVMCI.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/42/",
      "card": "https://rubric.hrih.si/og/2026-10-31/42.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.588,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6358,
          "spread": 0.132
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.7533,
          "spread": 0.16
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.347,
          "judge_a": 0.3,
          "judge_b": 0.38,
          "mean": 0.3422,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.683,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6875,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.95,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8767,
          "spread": 0.15
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.943,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.9075,
          "spread": 0.093
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.97,
          "mean": 0.9267,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.3,
          "judge_b": 0.12,
          "mean": 0.16,
          "spread": 0.24
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.3,
          "judge_b": 0.25,
          "mean": 0.2533,
          "spread": 0.09
        }
      }
    },
    {
      "rank": 43,
      "id": "st_20261031_9508",
      "title": "The Developer Productivity Illusion",
      "url": "https://ishanm.org/blog/the-developer-productivity-illusion",
      "domain": "ishanm.org",
      "site": "ishanm.org",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T18:03:09.000Z",
      "jev": 0.6788,
      "judge_a": 0.5205,
      "judge_b": 0.7253,
      "score": 0.6415,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 31,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Hrih News summary: The article argues that AI coding agents make producing code cheap but not reviewing, testing, and deciding on it, so a team can double its pull requests while merge times worsen.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/43/",
      "card": "https://rubric.hrih.si/og/2026-10-31/43.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.653,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.5408,
          "spread": 0.303
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.76,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.76,
          "spread": 0.12
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.847,
          "judge_a": 0.75,
          "judge_b": 0.78,
          "mean": 0.7922,
          "spread": 0.097
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.81,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7633,
          "spread": 0.11
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.15,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.3567,
          "spread": 0.47
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.575,
          "judge_a": 0.3,
          "judge_b": 0.48,
          "mean": 0.4517,
          "spread": 0.275
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.5,
          "judge_b": 0.92,
          "mean": 0.75,
          "spread": 0.42
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.1,
          "judge_b": 0.01,
          "mean": 0.0633,
          "spread": 0.09
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.24,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.2067,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 44,
      "id": "st_20261031_9690",
      "title": "ClickHouse – RCE – CVE-2026-116366",
      "url": "https://clickhouse.com/docs/resources/changelogs/security-changelog",
      "domain": "clickhouse.com",
      "site": "ClickHouse Documentation",
      "categories": [
        "security",
        "data"
      ],
      "category_names": [
        "Security",
        "Data"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T20:31:57.000Z",
      "jev": 0.5259,
      "judge_a": 0.66,
      "judge_b": 0.7306,
      "score": 0.6388,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 32,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Hrih News reports on a run of security advisories for ClickHouse, the open-source analytical database, spanning 2019 to 2026. The list covers remote code execution flaws, including CVE-2026-116366 and CVE-2025-1385, plus heap overflows, crashes, and data-exposure bugs in compression codecs and the native and HTTP interfaces.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/44/",
      "card": "https://rubric.hrih.si/og/2026-10-31/44.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.605,
          "judge_a": 0.55,
          "judge_b": 0.65,
          "mean": 0.6017,
          "spread": 0.1
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.5,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.6733,
          "spread": 0.32
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.47,
          "judge_a": 0.6,
          "judge_b": 0.45,
          "mean": 0.5067,
          "spread": 0.15
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.645,
          "judge_a": 0.8,
          "judge_b": 0.8,
          "mean": 0.7483,
          "spread": 0.155
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.583,
          "judge_a": 0.85,
          "judge_b": 0.94,
          "mean": 0.7911,
          "spread": 0.357
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.72,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.6733,
          "spread": 0.12
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.8933,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.0467,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.43,
          "judge_a": 0.1,
          "judge_b": 0.02,
          "mean": 0.1833,
          "spread": 0.41
        }
      }
    },
    {
      "rank": 45,
      "id": "st_20261031_9457",
      "title": "New York bans AI chatbots from pretending to be human with children",
      "url": "https://thenextweb.com/news/new-york-ai-chatbots-children-law-hochul-baby-monitors",
      "domain": "thenextweb.com",
      "site": "The Next Web",
      "categories": [
        "ai",
        "policy"
      ],
      "category_names": [
        "AI & machine learning",
        "Policy & regulation"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T17:13:07.000Z",
      "jev": 0.5383,
      "judge_a": 0.482,
      "judge_b": 0.7044,
      "score": 0.5749,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 83,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "New York has enacted a law barring AI chatbots from claiming to be human with children, building emotional dependency, encouraging self-harm, or engaging in sexual conversations with them. The restrictions apply to under-18s and to users whose age is unverified, and companies must offer multiple age-verification options.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/45/",
      "card": "https://rubric.hrih.si/og/2026-10-31/45.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.618,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.5958,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.43,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6167,
          "spread": 0.39
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.593,
          "judge_a": 0.5,
          "judge_b": 0.68,
          "mean": 0.5911,
          "spread": 0.18
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.665,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.6483,
          "spread": 0.08
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.55,
          "judge_a": 0.35,
          "judge_b": 0.72,
          "mean": 0.54,
          "spread": 0.37
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.355,
          "judge_a": 0.1,
          "judge_b": 0.18,
          "mean": 0.2117,
          "spread": 0.255
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.6,
          "judge_b": 0.96,
          "mean": 0.8167,
          "spread": 0.36
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.05,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1533,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 46,
      "id": "st_20261031_9247",
      "title": "What agents see when they search MCP tools",
      "url": "https://www.babush.me/how-agents-search-mcp-tools.html",
      "domain": "babush.me",
      "site": "babush.me",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T15:19:26.000Z",
      "jev": 0.6761,
      "judge_a": 0.52,
      "judge_b": 0.7084,
      "score": 0.6348,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 33,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A developer at Hex-Rays, maker of IDA Pro, found that AI agents searching for \"decompile function\" surfaced competitors' MCP tools rather than IDA's, because the tool names and descriptions lacked domain terms like decompilation and xrefs.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/46/",
      "card": "https://rubric.hrih.si/og/2026-10-31/46.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.53,
          "judge_a": 0.35,
          "judge_b": 0.68,
          "mean": 0.52,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.75,
          "judge_a": 0.7,
          "judge_b": 0.85,
          "mean": 0.7667,
          "spread": 0.15
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.483,
          "judge_a": 0.4,
          "judge_b": 0.52,
          "mean": 0.4678,
          "spread": 0.12
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.88,
          "judge_a": 0.7,
          "judge_b": 0.8,
          "mean": 0.7933,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.937,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.8189,
          "spread": 0.237
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.993,
          "judge_a": 0.75,
          "judge_b": 0.78,
          "mean": 0.8408,
          "spread": 0.243
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9167,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.25,
          "judge_b": 0.18,
          "mean": 0.1733,
          "spread": 0.16
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.24,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.1867,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 47,
      "id": "st_20261031_9104",
      "title": "Tfcap, a lock file for Terraform modules",
      "url": "https://github.com/r-morato/tfcap",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "security",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-10-30T13:29:22.000Z",
      "jev": 0.6887,
      "judge_a": 0.5495,
      "judge_b": 0.6662,
      "score": 0.6347,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 34,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "tfcap is an open-source CLI that lock-files Terraform and OpenTofu modules, recording each module's content hash and capabilities such as running programs during plan, network calls, credential access and IAM grants.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/47/",
      "card": "https://rubric.hrih.si/og/2026-10-31/47.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.548,
          "judge_a": 0.4,
          "judge_b": 0.58,
          "mean": 0.5092,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.75,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7567,
          "spread": 0.12
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.567,
          "judge_a": 0.4,
          "judge_b": 0.46,
          "mean": 0.4756,
          "spread": 0.167
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.87,
          "judge_a": 0.75,
          "judge_b": 0.82,
          "mean": 0.8133,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.893,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7378,
          "spread": 0.293
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.7667,
          "spread": 0.18
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.8933,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.1433,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.16,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.16,
          "spread": 0.08
        }
      }
    },
    {
      "rank": 48,
      "id": "st_20261031_9105",
      "title": "Fast, GPU-native differentiable physics and beyond with Tesseract",
      "url": "https://docs.pasteurlabs.ai/projects/tesseract-core/latest/blog/2026-10-25-gpu-native-interop/",
      "domain": "docs.pasteurlabs.ai",
      "site": "Tesseract",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T13:25:32.000Z",
      "jev": 0.6595,
      "judge_a": 0.4672,
      "judge_b": 0.7721,
      "score": 0.6329,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 35,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Hrih News: Tesseract's new GPU transport (cuda_ipc) lets GPU arrays pass between a JAX or PyTorch training loop and a differentiable simulator running in a separate process or container without a round trip through host memory. Only a small handle crosses the process boundary.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/48/",
      "card": "https://rubric.hrih.si/og/2026-10-31/48.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.615,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5783,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.62,
          "judge_b": 0.9,
          "mean": 0.74,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.477,
          "judge_a": 0.3,
          "judge_b": 0.52,
          "mean": 0.4322,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.765,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.735,
          "spread": 0.24
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.97,
          "judge_a": 0.8,
          "judge_b": 0.95,
          "mean": 0.9067,
          "spread": 0.17
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.85,
          "judge_b": 0.96,
          "mean": 0.9358,
          "spread": 0.148
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9267,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.35,
          "judge_b": 0.12,
          "mean": 0.1833,
          "spread": 0.27
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.26,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.18,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 49,
      "id": "st_20261031_9026",
      "title": "UX Roundup: AI Persuasion | Fake Users vs. Real Users | Summaries as Dark Design | Agentic Video Production | Feedback | High AI Subscription Churn | Sparring with Voice AI | Silence | Split View",
      "url": "https://jakobnielsenphd.substack.com/p/ux-roundup-20261030",
      "domain": "jakobnielsenphd.substack.com",
      "site": "Jakob Nielsen (UX Tigers)",
      "categories": [
        "ai",
        "product",
        "design"
      ],
      "category_names": [
        "AI & machine learning",
        "Product",
        "Design & UX"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T11:21:40.000Z",
      "jev": 0.6344,
      "judge_a": 0.35,
      "judge_b": 0.6721,
      "score": 0.5521,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 110,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "This UX Roundup covers research showing that AI personalization roughly doubles the odds of changing a person's investment ranking when it ties arguments to their own life, and that AI summaries placed before customer reviews anchor shoppers' judgments even when the full information is available.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/49/",
      "card": "https://rubric.hrih.si/og/2026-10-31/49.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.598,
          "judge_a": 0.2,
          "judge_b": 0.68,
          "mean": 0.4925,
          "spread": 0.48
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.57,
          "judge_a": 0.45,
          "judge_b": 0.86,
          "mean": 0.6267,
          "spread": 0.41
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.873,
          "judge_a": 0.35,
          "judge_b": 0.72,
          "mean": 0.6478,
          "spread": 0.523
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.908,
          "judge_a": 0.5,
          "judge_b": 0.83,
          "mean": 0.7458,
          "spread": 0.408
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.617,
          "judge_a": 0.55,
          "judge_b": 0.68,
          "mean": 0.6156,
          "spread": 0.13
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.68,
          "judge_a": 0.2,
          "judge_b": 0.48,
          "mean": 0.4533,
          "spread": 0.48
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.8,
          "judge_b": 0.91,
          "mean": 0.8733,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.05,
          "judge_b": 0.08,
          "mean": 0.0733,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.58,
          "judge_a": 0.35,
          "judge_b": 0.72,
          "mean": 0.55,
          "spread": 0.37
        }
      }
    },
    {
      "rank": 50,
      "id": "st_20261031_9543",
      "title": "Inferssd – Run models larger than RAM or VRAM by streaming MoE experts from SSD",
      "url": "https://github.com/wici-ai/inferssd",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-10-30T18:43:34.000Z",
      "jev": 0.6219,
      "judge_a": 0.5061,
      "judge_b": 0.7608,
      "score": 0.6296,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 38,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "InferSSD is an Apache-2.0 open-source tool, built on llama.cpp, that runs large mixture-of-experts models such as DeepSeek-V4.1-Flash and Muse-Spark-Open by streaming expert weights from SSD, letting models larger than a machine's RAM or VRAM run on Apple Silicon and NVIDIA Linux systems.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/50/",
      "card": "https://rubric.hrih.si/og/2026-10-31/50.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.583,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.5708,
          "spread": 0.23
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.67,
          "judge_a": 0.72,
          "judge_b": 0.9,
          "mean": 0.7633,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.483,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.5344,
          "spread": 0.137
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.815,
          "judge_a": 0.72,
          "judge_b": 0.82,
          "mean": 0.785,
          "spread": 0.1
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.923,
          "judge_a": 0.5,
          "judge_b": 0.86,
          "mean": 0.7611,
          "spread": 0.423
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.753,
          "judge_a": 0.78,
          "judge_b": 0.78,
          "mean": 0.7708,
          "spread": 0.028
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9167,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.18,
          "spread": 0.27
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.37,
          "judge_a": 0.5,
          "judge_b": 0.12,
          "mean": 0.33,
          "spread": 0.38
        }
      }
    },
    {
      "rank": 51,
      "id": "st_20261031_8946",
      "title": "Binance lost $6.3B without leaking a single private key",
      "url": "https://syncroma.com/en-el-hackeo-de-binance-fontaneria-zero-trust/",
      "domain": "syncroma.com",
      "site": "Syncroma",
      "categories": [
        "security",
        "devops",
        "it",
        "fintech"
      ],
      "category_names": [
        "Security",
        "Infrastructure & DevOps",
        "IT & networking",
        "Fintech"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T09:43:34.000Z",
      "jev": 0.6947,
      "judge_a": 0.5565,
      "judge_b": 0.647,
      "score": 0.6327,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 36,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0063,
      "summary": "A reported $6.3 billion theft from Binance's operational accounts reportedly came through a compromised DevOps engineer's laptop rather than any leaked private keys, with attackers abusing internal service containers to dispatch withdrawals that the system treated as legitimate.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/51/",
      "card": "https://rubric.hrih.si/og/2026-10-31/51.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.708,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7092,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.77,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.81,
          "spread": 0.09
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.97,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.7567,
          "spread": 0.37
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.833,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7708,
          "spread": 0.133
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.39,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.3067,
          "spread": 0.21
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.765,
          "judge_a": 0.5,
          "judge_b": 0.55,
          "mean": 0.605,
          "spread": 0.265
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.3,
          "judge_b": 0.9,
          "mean": 0.6933,
          "spread": 0.6
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.16,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.1133,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.51,
          "judge_a": 0.6,
          "judge_b": 0.93,
          "mean": 0.68,
          "spread": 0.42
        }
      }
    },
    {
      "rank": 52,
      "id": "st_20261031_8754",
      "title": "Mostly PHP, and Mostly Unaffected",
      "url": "https://blog.leonbecker.de/mostly-php-and-mostly-unaffected/",
      "domain": "blog.leonbecker.de",
      "site": "Leon Becker's Blog",
      "categories": [
        "security",
        "devops"
      ],
      "category_names": [
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T02:30:04.000Z",
      "jev": 0.6783,
      "judge_a": 0.4505,
      "judge_b": 0.7466,
      "score": 0.6251,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 39,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Stelae, a static WordPress host, was largely shielded from the php2shell PHP runtime flaws (CVE-2026-109618 and CVE-2026-109619, CVSS 9.2) because its public sites are plain static files and its WordPress editors sit behind a Go proxy that only forwards requests carrying a secret editor link.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/52/",
      "card": "https://rubric.hrih.si/og/2026-10-31/52.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.55,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.59,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.8,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.76,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.773,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.6578,
          "spread": 0.273
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.798,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7392,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.587,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.6056,
          "spread": 0.33
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.835,
          "judge_a": 0.55,
          "judge_b": 0.8,
          "mean": 0.7283,
          "spread": 0.285
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.73,
          "judge_a": 0.35,
          "judge_b": 0.84,
          "mean": 0.64,
          "spread": 0.49
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.1933,
          "spread": 0.2
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.24,
          "judge_a": 0.3,
          "judge_b": 0.12,
          "mean": 0.22,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 53,
      "id": "st_20261031_9654",
      "title": "WordPress update fixes code-injection flaw as exploit attempts emerge",
      "url": "https://www.heise.de/en/news/WordPress-update-fixes-code-injection-flaw-as-exploit-attempts-emerge-11505975.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "security",
        "it"
      ],
      "category_names": [
        "Security",
        "IT & networking"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T20:01:00.000Z",
      "jev": 0.6078,
      "judge_a": 0.565,
      "judge_b": 0.6969,
      "score": 0.6232,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 40,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "WordPress released updates on Wednesday, including 7.1.4 and backports to older branches, that close nearly two dozen security flaws. One core flaw, rated CVSS 8.1, lets unauthenticated attackers inject code via a predictable directory during an in-progress core update, and Wordfence has already recorded more than 18,500 probing requests.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/53/",
      "card": "https://rubric.hrih.si/og/2026-10-31/53.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.67,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.58,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6733,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.523,
          "judge_a": 0.55,
          "judge_b": 0.42,
          "mean": 0.4978,
          "spread": 0.13
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.663,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.7608,
          "spread": 0.157
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.567,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6489,
          "spread": 0.213
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.745,
          "judge_a": 0.5,
          "judge_b": 0.66,
          "mean": 0.635,
          "spread": 0.245
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.6,
          "judge_b": 0.93,
          "mean": 0.7967,
          "spread": 0.33
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.0467,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.26,
          "judge_a": 0.2,
          "judge_b": 0.04,
          "mean": 0.1667,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 54,
      "id": "st_20261031_9671",
      "title": "Don't Make a Human Do What AI Is Amazing At",
      "url": "https://www.johnnunemaker.com/dont-make-a-human-do-what-ai-is-amazing-at/",
      "domain": "johnnunemaker.com",
      "site": "John Nunemaker",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T20:47:13.000Z",
      "jev": 0.7007,
      "judge_a": 0.4475,
      "judge_b": 0.7171,
      "score": 0.6218,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 41,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "John Nunemaker describes Nunebot, a prompt-driven agent that scans his repos in priority order and opens one small, reviewable pull request per pass, labeled nunebot, for him to merge.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/54/",
      "card": "https://rubric.hrih.si/og/2026-10-31/54.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.502,
          "judge_a": 0.25,
          "judge_b": 0.62,
          "mean": 0.4575,
          "spread": 0.37
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.76,
          "judge_a": 0.7,
          "judge_b": 0.93,
          "mean": 0.7967,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.713,
          "judge_a": 0.35,
          "judge_b": 0.55,
          "mean": 0.5378,
          "spread": 0.363
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.873,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7642,
          "spread": 0.273
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.887,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.7022,
          "spread": 0.387
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.953,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.7508,
          "spread": 0.353
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.8,
          "judge_b": 0.97,
          "mean": 0.8867,
          "spread": 0.17
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.23,
          "judge_a": 0.35,
          "judge_b": 0.27,
          "mean": 0.2833,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 55,
      "id": "st_20261031_9661",
      "title": "mobile-agent – Let AI agents control Android and iOS devices",
      "url": "https://github.com/gesposito/mobile-agent",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T20:54:51.000Z",
      "jev": 0.6029,
      "judge_a": 0.5245,
      "judge_b": 0.7332,
      "score": 0.6201,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 44,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "mobile-agent is an experimental, pre-release open-source tool, built from source and under the MIT License, that lets AI agents control Android devices, emulators, iOS Simulators and physical iPhones. A daemon keeps a live mirror of each screen and answers snapshots and waits from it to cut per-step latency.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/55/",
      "card": "https://rubric.hrih.si/og/2026-10-31/55.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.523,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5308,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.58,
          "judge_a": 0.6,
          "judge_b": 0.83,
          "mean": 0.67,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.397,
          "judge_a": 0.4,
          "judge_b": 0.48,
          "mean": 0.4256,
          "spread": 0.083
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.735,
          "judge_a": 0.6,
          "judge_b": 0.79,
          "mean": 0.7083,
          "spread": 0.19
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.937,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.8122,
          "spread": 0.337
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.9425,
          "spread": 0.148
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.97,
          "mean": 0.9267,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.0633,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.16,
          "judge_a": 0.2,
          "judge_b": 0.04,
          "mean": 0.1333,
          "spread": 0.16
        }
      }
    },
    {
      "rank": 56,
      "id": "st_20261031_9715",
      "title": "We checked the 150 most popular Chrome extensions",
      "url": "https://app.extensionguardian.workers.dev/report/popular-chrome-extensions-2026",
      "domain": "app.extensionguardian.workers.dev",
      "site": "Extension Guardian",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-10-30T21:48:39.000Z",
      "jev": 0.6192,
      "judge_a": 0.4835,
      "judge_b": 0.7569,
      "score": 0.6198,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 45,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "An audit of the 150 most-installed Chrome extensions found that 94 of 148 analysed (64%) can read and change every website a user visits, covering 812 million installs.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/56/",
      "card": "https://rubric.hrih.si/og/2026-10-31/56.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.598,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.5892,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.74,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.63,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.67,
          "spread": 0.18
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.633,
          "judge_a": 0.7,
          "judge_b": 0.8,
          "mean": 0.7108,
          "spread": 0.168
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.93,
          "judge_a": 0.6,
          "judge_b": 0.83,
          "mean": 0.7867,
          "spread": 0.33
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.7,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.59,
          "spread": 0.25
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.94,
          "mean": 0.88,
          "spread": 0.14
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.35,
          "judge_b": 0.2,
          "mean": 0.21,
          "spread": 0.27
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.4,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.2767,
          "spread": 0.32
        }
      }
    },
    {
      "rank": 57,
      "id": "st_20261031_9480",
      "title": "The 'Pain in the Ass' Math That Could Save Vibe Coding from Itself",
      "url": "https://www.wired.com/story/software-verification-is-the-hot-new-answer-to-the-ai-safety-crisis/",
      "domain": "wired.com",
      "site": "WIRED",
      "categories": [
        "programming",
        "ai",
        "security",
        "startups"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security",
        "Startups & founders"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T17:35:01.000Z",
      "jev": 0.6034,
      "judge_a": 0.517,
      "judge_b": 0.7364,
      "score": 0.6189,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 47,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Wired reports that AI tools are making formal verification, the mathematical proof that software is free of certain bugs, far faster and cheaper, with a Stanford-led system finishing a project in under half a day for under $500 that took three experts five months.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/57/",
      "card": "https://rubric.hrih.si/og/2026-10-31/57.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.66,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6467,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7733,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.83,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7167,
          "spread": 0.23
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.625,
          "judge_a": 0.55,
          "judge_b": 0.76,
          "mean": 0.645,
          "spread": 0.21
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.52,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6,
          "spread": 0.28
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.545,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5383,
          "spread": 0.17
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.6,
          "judge_b": 0.98,
          "mean": 0.82,
          "spread": 0.38
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.14,
          "judge_a": 0.15,
          "judge_b": 0.12,
          "mean": 0.1367,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.53,
          "judge_a": 0.3,
          "judge_b": 0.38,
          "mean": 0.4033,
          "spread": 0.23
        }
      }
    },
    {
      "rank": 58,
      "id": "st_20261031_9410",
      "title": "Postgres 19 is late, and it's AI's fault",
      "url": "http://rhaas.blogspot.com/2026/10/postgres-19-is-late-and-its-ais-fault.html",
      "domain": "rhaas.blogspot.com",
      "site": "rhaas.blogspot.com",
      "categories": [
        "programming",
        "ai",
        "data"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Data"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T16:34:47.000Z",
      "jev": 0.554,
      "judge_a": 0.6139,
      "judge_b": 0.6869,
      "score": 0.6182,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 48,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "PostgreSQL 19 is likely to slip to November, a break from its usual mid-September to mid-October release window. The delay follows several major features being reverted late in beta, which the author attributes to LLM-assisted bug hunting.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/58/",
      "card": "https://rubric.hrih.si/og/2026-10-31/58.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.568,
          "judge_a": 0.55,
          "judge_b": 0.68,
          "mean": 0.5992,
          "spread": 0.13
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.6,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.7533,
          "spread": 0.26
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.877,
          "judge_a": 0.67,
          "judge_b": 0.66,
          "mean": 0.7356,
          "spread": 0.217
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.583,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6342,
          "spread": 0.137
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.407,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.5422,
          "spread": 0.213
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.65,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.56,
          "spread": 0.2
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.79,
          "spread": 0.29
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.03,
          "judge_b": 0.01,
          "mean": 0.04,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.57,
          "judge_a": 0.2,
          "judge_b": 0.42,
          "mean": 0.3967,
          "spread": 0.37
        }
      }
    },
    {
      "rank": 59,
      "id": "st_20261031_8878",
      "title": "Implant reported in a Trezor sold by CryptoBilis",
      "url": "https://trezor.io/blog/news/implant-reported-in-a-trezor-sold-by-cryptobilis",
      "domain": "trezor.io",
      "site": "trezor.io",
      "categories": [
        "security",
        "hardware",
        "fintech"
      ],
      "category_names": [
        "Security",
        "Hardware & devices",
        "Fintech"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T07:38:43.000Z",
      "jev": 0.4774,
      "judge_a": 0.6425,
      "judge_b": 0.7219,
      "score": 0.6138,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 52,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Trezor's security team reports a credible but unverified claim that a Trezor Safe 5 sold by CryptoBilis, a former authorized reseller in Southeast Asia, contained a hardware implant with a cellular module that could transmit screen contents, including wallet recovery phrases.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/59/",
      "card": "https://rubric.hrih.si/og/2026-10-31/59.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.538,
          "judge_a": 0.6,
          "judge_b": 0.75,
          "mean": 0.6292,
          "spread": 0.213
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.65,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.237,
          "judge_a": 0.5,
          "judge_b": 0.33,
          "mean": 0.3556,
          "spread": 0.263
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.423,
          "judge_a": 0.7,
          "judge_b": 0.85,
          "mean": 0.6575,
          "spread": 0.428
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.427,
          "judge_a": 0.4,
          "judge_b": 0.67,
          "mean": 0.4989,
          "spread": 0.27
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.663,
          "judge_a": 0.5,
          "judge_b": 0.5,
          "mean": 0.5542,
          "spread": 0.162
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.8,
          "mean": 0.87,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.05,
          "judge_b": 0.05,
          "mean": 0.0633,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.2,
          "judge_b": 0.1,
          "mean": 0.1833,
          "spread": 0.15
        }
      }
    },
    {
      "rank": 60,
      "id": "st_20261031_9187",
      "title": "Cloudflare services for private origins is now generally available",
      "url": "https://blog.cloudflare.com/private-origins-public-to-private/",
      "domain": "blog.cloudflare.com",
      "site": "Cloudflare Blog",
      "categories": [
        "devops",
        "it"
      ],
      "category_names": [
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-10-30T14:23:43.000Z",
      "jev": 0.6363,
      "judge_a": 0.4195,
      "judge_b": 0.6615,
      "score": 0.5724,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 87,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Cloudflare has made its services for private origins generally available, letting customers proxy a DNS record to a private IP and route traffic over their existing Cloudflare One connection. Applications stay off the public Internet while still getting WAF, bot management, rate limiting, caching, and Workers.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/60/",
      "card": "https://rubric.hrih.si/og/2026-10-31/60.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.635,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.535,
          "spread": 0.285
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.6567,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.473,
          "judge_a": 0.45,
          "judge_b": 0.55,
          "mean": 0.4911,
          "spread": 0.1
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.813,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.7442,
          "spread": 0.113
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.63,
          "judge_a": 0.4,
          "judge_b": 0.82,
          "mean": 0.6167,
          "spread": 0.42
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.858,
          "judge_a": 0.55,
          "judge_b": 0.68,
          "mean": 0.6958,
          "spread": 0.308
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.8,
          "judge_b": 0.96,
          "mean": 0.89,
          "spread": 0.16
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.15,
          "judge_a": 0.45,
          "judge_b": 0.18,
          "mean": 0.26,
          "spread": 0.3
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.13,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1367,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 61,
      "id": "st_20261031_9012",
      "title": "Building a Fiber-Based Job System from Scratch",
      "url": "https://agraphicsguynotes.com/posts/building_a_fiber_based_job_system_from_scratch/",
      "domain": "agraphicsguynotes.com",
      "site": "A Graphics Guy's Note",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T11:18:28.000Z",
      "jev": 0.5391,
      "judge_a": 0.551,
      "judge_b": 0.745,
      "score": 0.6116,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 53,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The author, who built a fiber-based job system for their offline renderer SORT and its asset pipeline, explains the design decisions behind it and the trade-offs against OS-thread job systems.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/61/",
      "card": "https://rubric.hrih.si/og/2026-10-31/61.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.483,
          "judge_a": 0.35,
          "judge_b": 0.68,
          "mean": 0.5042,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.49,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.6833,
          "spread": 0.37
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.48,
          "judge_a": 0.45,
          "judge_b": 0.55,
          "mean": 0.4933,
          "spread": 0.1
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.635,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6717,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.56,
          "judge_a": 0.5,
          "judge_b": 0.8,
          "mean": 0.62,
          "spread": 0.3
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.935,
          "judge_a": 0.9,
          "judge_b": 0.9,
          "mean": 0.9117,
          "spread": 0.035
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.92,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9333,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0433,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.16,
          "judge_a": 0.1,
          "judge_b": 0.12,
          "mean": 0.1267,
          "spread": 0.06
        }
      }
    },
    {
      "rank": 62,
      "id": "st_20261031_9411",
      "title": "OpenRouter rebuilt provider routing for better, faster inference",
      "url": "https://openrouter.ai/blog/announcements/how-we-rebuilt-provider-routing/",
      "domain": "openrouter.ai",
      "site": "OpenRouter Blog",
      "categories": [
        "ai",
        "devops"
      ],
      "category_names": [
        "AI & machine learning",
        "Infrastructure & DevOps"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-10-30T16:32:47.000Z",
      "jev": 0.6601,
      "judge_a": 0.4595,
      "judge_b": 0.7127,
      "score": 0.6107,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 54,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "OpenRouter has replaced its price-first default provider router with one that scores each endpoint on a real-time \"Routing Cost\" combining effective price, time to first token, throughput, rate limits, error rate, and output quality.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/62/",
      "card": "https://rubric.hrih.si/og/2026-10-31/62.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.65,
          "judge_a": 0.4,
          "judge_b": 0.68,
          "mean": 0.5767,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7033,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.44,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.52,
          "spread": 0.18
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.835,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7383,
          "spread": 0.235
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.967,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.8489,
          "spread": 0.267
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.858,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7792,
          "spread": 0.158
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.97,
          "mean": 0.89,
          "spread": 0.17
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.2167,
          "spread": 0.23
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.27,
          "judge_a": 0.3,
          "judge_b": 0.12,
          "mean": 0.23,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 63,
      "id": "st_20261031_9762",
      "title": "Assure – your AI agent says \"done.\" This checks if it's lying",
      "url": "https://github.com/mgasparin67-cmd/Agent-verification_Assure",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-10-30T22:48:05.000Z",
      "jev": 0.6827,
      "judge_a": 0.4699,
      "judge_b": 0.6706,
      "score": 0.6077,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 56,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Assure is an open-source harness that checks whether an AI agent's claim of success is true. The agent runs against a disposable SQLite and file workspace, with every tool call routed through a policy gateway.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/63/",
      "card": "https://rubric.hrih.si/og/2026-10-31/63.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.57,
          "judge_a": 0.3,
          "judge_b": 0.48,
          "mean": 0.45,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.62,
          "judge_b": 0.82,
          "mean": 0.7267,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.5,
          "judge_a": 0.35,
          "judge_b": 0.5,
          "mean": 0.45,
          "spread": 0.15
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.825,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.7183,
          "spread": 0.275
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.983,
          "judge_a": 0.68,
          "judge_b": 0.9,
          "mean": 0.8544,
          "spread": 0.303
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.72,
          "judge_b": 0.86,
          "mean": 0.8592,
          "spread": 0.278
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.9,
          "judge_b": 0.92,
          "mean": 0.8967,
          "spread": 0.05
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.12,
          "judge_b": 0.08,
          "mean": 0.0867,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.22,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.18,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 64,
      "id": "st_20261031_9216",
      "title": "Black October and the Future of Cybersecurity",
      "url": "https://blog.mantic.com/p/black-october-and-the-future-of-cybersecurity",
      "domain": "blog.mantic.com",
      "site": "blog.mantic.com",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T14:44:25.000Z",
      "jev": 0.6781,
      "judge_a": 0.4855,
      "judge_b": 0.6984,
      "score": 0.6207,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 43,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0189,
      "summary": "Last week's \"Black October\" saw a 48-hour wave of millions of cyberattack attempts against governments, hospitals, and financial firms, triggered by disclosures of critical flaws in PHP, a language running about 70% of websites.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/64/",
      "card": "https://rubric.hrih.si/og/2026-10-31/64.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.76,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7133,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.75,
          "judge_a": 0.85,
          "judge_b": 0.82,
          "mean": 0.8067,
          "spread": 0.1
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.97,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8633,
          "spread": 0.17
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.67,
          "judge_a": 0.5,
          "judge_b": 0.68,
          "mean": 0.6167,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.683,
          "judge_a": 0.45,
          "judge_b": 0.83,
          "mean": 0.6544,
          "spread": 0.38
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.673,
          "judge_a": 0.35,
          "judge_b": 0.7,
          "mean": 0.5742,
          "spread": 0.35
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.79,
          "judge_a": 0.55,
          "judge_b": 0.98,
          "mean": 0.7733,
          "spread": 0.43
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.19,
          "judge_a": 0.5,
          "judge_b": 0.18,
          "mean": 0.29,
          "spread": 0.32
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.4,
          "judge_a": 0.6,
          "judge_b": 0.45,
          "mean": 0.4833,
          "spread": 0.2
        }
      }
    },
    {
      "rank": 65,
      "id": "st_20261031_9376",
      "title": "Why Antithesis?",
      "url": "https://antithesis.com/blog/2026/hillel-joins-antithesis/",
      "domain": "antithesis.com",
      "site": "Antithesis Blog",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T12:00:00.000Z",
      "jev": 0.5949,
      "judge_a": 0.455,
      "judge_b": 0.7539,
      "score": 0.6013,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 57,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The article \"Why Antithesis?\" argues that software verification methods such as unit tests, property-based testing, formal methods, and simulation are not a simple linear progression but make different tradeoffs.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/65/",
      "card": "https://rubric.hrih.si/og/2026-10-31/65.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.502,
          "judge_a": 0.35,
          "judge_b": 0.72,
          "mean": 0.5242,
          "spread": 0.37
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.61,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7367,
          "spread": 0.29
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.69,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.6033,
          "spread": 0.19
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.663,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6942,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.727,
          "judge_a": 0.7,
          "judge_b": 0.84,
          "mean": 0.7556,
          "spread": 0.14
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8633,
          "spread": 0.1
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.6,
          "judge_b": 0.93,
          "mean": 0.81,
          "spread": 0.33
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.13,
          "judge_a": 0.45,
          "judge_b": 0.18,
          "mean": 0.2533,
          "spread": 0.32
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.25,
          "judge_b": 0.12,
          "mean": 0.1867,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 66,
      "id": "st_20261031_9743",
      "title": "CVE-2026-112816: Improper certificate validation in the HTTPS listener in LXD",
      "url": "https://cve.now/CVE-2026-112816",
      "domain": "cve.now",
      "site": "cve.now",
      "categories": [
        "security",
        "devops",
        "it"
      ],
      "category_names": [
        "Security",
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T22:25:26.000Z",
      "jev": 0.5535,
      "judge_a": 0.4758,
      "judge_b": 0.7728,
      "score": 0.6007,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 58,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Canonical's LXD container and VM manager has a critical flaw (CVE-2026-112816, CVSS 10) in its HTTPS listener, where improper certificate validation lets an unauthenticated attacker using a crafted certificate chain authenticate as any trusted client and gain full control of the cluster and managed VMs.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/66/",
      "card": "https://rubric.hrih.si/og/2026-10-31/66.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.598,
          "judge_a": 0.4,
          "judge_b": 0.8,
          "mean": 0.5992,
          "spread": 0.4
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.6,
          "judge_a": 0.55,
          "judge_b": 0.9,
          "mean": 0.6833,
          "spread": 0.35
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.327,
          "judge_a": 0.3,
          "judge_b": 0.45,
          "mean": 0.3589,
          "spread": 0.15
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.72,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7733,
          "spread": 0.2
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.47,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.5667,
          "spread": 0.33
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.66,
          "judge_a": 0.3,
          "judge_b": 0.48,
          "mean": 0.48,
          "spread": 0.36
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9167,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.03,
          "judge_b": 0.01,
          "mean": 0.03,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.34,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.2733,
          "spread": 0.16
        }
      }
    },
    {
      "rank": 67,
      "id": "st_20261031_9621",
      "title": "Study: Experts often unconsciously follow AI decisions",
      "url": "https://www.heise.de/en/news/Study-Experts-often-unconsciously-follow-AI-decisions-11506237.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T19:31:00.000Z",
      "jev": 0.594,
      "judge_a": 0.5445,
      "judge_b": 0.7122,
      "score": 0.6168,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 49,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.017,
      "summary": "An Anthropic experiment with 50 experts found they adopted a randomly assigned AI recommendation 86% of the time, often without realizing it, and only 15% mentioned the AI when explaining their decisions.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/67/",
      "card": "https://rubric.hrih.si/og/2026-10-31/67.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.653,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6242,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.66,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7533,
          "spread": 0.24
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.847,
          "judge_a": 0.6,
          "judge_b": 0.8,
          "mean": 0.7489,
          "spread": 0.247
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.568,
          "judge_a": 0.6,
          "judge_b": 0.73,
          "mean": 0.6325,
          "spread": 0.162
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.633,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6844,
          "spread": 0.22
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.502,
          "judge_a": 0.3,
          "judge_b": 0.42,
          "mean": 0.4075,
          "spread": 0.202
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.55,
          "judge_a": 0.6,
          "judge_b": 0.35,
          "mean": 0.5,
          "spread": 0.25
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0667,
          "spread": 0.09
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.3,
          "judge_b": 0.3,
          "mean": 0.2933,
          "spread": 0.02
        }
      }
    },
    {
      "rank": 68,
      "id": "st_20261031_8850",
      "title": "CAU a transparent malware-detection engine in Go (MIT)",
      "url": "https://github.com/s-b-repo/cau",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-10-30T06:52:58.000Z",
      "jev": 0.6652,
      "judge_a": 0.5023,
      "judge_b": 0.6277,
      "score": 0.5984,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 59,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "CAU is an MIT-licensed, open-source malware detection engine written in Go. It runs six detectors (hash signatures, YARA, heuristics, static PE/ELF structure analysis, invisible-codepoint detection, and encoded-executable detection) over each file in a single read, then fuses their results into one verdict.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/68/",
      "card": "https://rubric.hrih.si/og/2026-10-31/68.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.518,
          "judge_a": 0.3,
          "judge_b": 0.52,
          "mean": 0.4458,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.62,
          "judge_b": 0.84,
          "mean": 0.7233,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.52,
          "judge_a": 0.5,
          "judge_b": 0.42,
          "mean": 0.48,
          "spread": 0.1
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.83,
          "judge_a": 0.68,
          "judge_b": 0.72,
          "mean": 0.7433,
          "spread": 0.15
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.973,
          "judge_a": 0.72,
          "judge_b": 0.78,
          "mean": 0.8244,
          "spread": 0.253
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.895,
          "judge_a": 0.78,
          "judge_b": 0.76,
          "mean": 0.8117,
          "spread": 0.135
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.9,
          "judge_b": 0.97,
          "mean": 0.9233,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.1467,
          "spread": 0.14
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.25,
          "judge_b": 0.18,
          "mean": 0.2067,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 69,
      "id": "st_20261031_9713",
      "title": "Defending the patch gap against automated attackers",
      "url": "https://blog.mozilla.org/en/firefox/privacy-security/defending-patch-gap/",
      "domain": "blog.mozilla.org",
      "site": "blog.mozilla.org",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T21:06:04.000Z",
      "jev": 0.6495,
      "judge_a": 0.6146,
      "judge_b": 0.6787,
      "score": 0.6476,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 26,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.05,
      "summary": "Mozilla's Firefox team reports that frontier AI models have sharply increased their ability to find software vulnerabilities, shipping over seven times as many security fixes as in the same period last year.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/69/",
      "card": "https://rubric.hrih.si/og/2026-10-31/69.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.73,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7033,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.78,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8267,
          "spread": 0.12
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.893,
          "judge_a": 0.67,
          "judge_b": 0.8,
          "mean": 0.7878,
          "spread": 0.223
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.715,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.745,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.337,
          "judge_a": 0.55,
          "judge_b": 0.57,
          "mean": 0.4856,
          "spread": 0.233
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.693,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.6642,
          "spread": 0.1
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.79,
          "judge_a": 0.7,
          "judge_b": 0.24,
          "mean": 0.5767,
          "spread": 0.55
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.24,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.2067,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.43,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.45,
          "spread": 0.32
        }
      }
    },
    {
      "rank": 70,
      "id": "st_20261031_8811",
      "title": "FreeBSD-SA-26:52 – Missing WireGuard MAC Validation (CVE-2026-58085)",
      "url": "https://www.mail-archive.com/announce@freebsd.org/msg00286.html",
      "domain": "mail-archive.com",
      "site": "mail-archive.com",
      "categories": [
        "security",
        "it"
      ],
      "category_names": [
        "Security",
        "IT & networking"
      ],
      "format": "Other",
      "depth": "three_judges",
      "published_at": "2026-10-30T04:44:43.000Z",
      "jev": 0.5918,
      "judge_a": 0.5422,
      "judge_b": 0.6585,
      "score": 0.5975,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 60,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "FreeBSD has issued security advisory FreeBSD-SA-26:52 (CVE-2026-58085) for a flaw in the wg(4) WireGuard kernel driver, where the driver did not check whether the Poly1305 MAC verification succeeded after an OpenCrypto decrypt, so packets with invalid authentication tags were silently accepted.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/70/",
      "card": "https://rubric.hrih.si/og/2026-10-31/70.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.535,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.5217,
          "spread": 0.13
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.58,
          "judge_a": 0.55,
          "judge_b": 0.7,
          "mean": 0.61,
          "spread": 0.15
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.443,
          "judge_a": 0.4,
          "judge_b": 0.35,
          "mean": 0.3978,
          "spread": 0.093
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.655,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.6917,
          "spread": 0.065
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.897,
          "judge_a": 0.7,
          "judge_b": 0.99,
          "mean": 0.8622,
          "spread": 0.29
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.843,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.7075,
          "spread": 0.343
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.8967,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.02,
          "judge_b": 0.01,
          "mean": 0.0267,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.11,
          "judge_a": 0.1,
          "judge_b": 0.02,
          "mean": 0.0767,
          "spread": 0.09
        }
      }
    },
    {
      "rank": 71,
      "id": "st_20261031_9540",
      "title": "French national assembly votes 0.055€/GB internet tax",
      "url": "https://www.lesnumeriques.com/societe-numerique/netflix-steam-cloud-vos-abonnements-et-telechargements-bientot-plus-chers-a-cause-d-une-nouvelle-taxe-n264035.html",
      "domain": "lesnumeriques.com",
      "site": "Les Numériques",
      "categories": [
        "policy"
      ],
      "category_names": [
        "Policy & regulation"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T18:31:56.000Z",
      "jev": 0.5308,
      "judge_a": 0.4275,
      "judge_b": 0.7121,
      "score": 0.5568,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 104,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "The French National Assembly narrowly adopted, 11 votes to 10, an amendment to the finance bill that would levy 0.055 euro per gigabyte on online content providers, against the government's objection.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/71/",
      "card": "https://rubric.hrih.si/og/2026-10-31/71.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.53,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.5667,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.51,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6433,
          "spread": 0.31
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.873,
          "judge_a": 0.45,
          "judge_b": 0.84,
          "mean": 0.7211,
          "spread": 0.423
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.51,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5433,
          "spread": 0.32
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.383,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4511,
          "spread": 0.27
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.61,
          "judge_a": 0.1,
          "judge_b": 0.28,
          "mean": 0.33,
          "spread": 0.51
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.92,
          "judge_a": 0.85,
          "judge_b": 0.97,
          "mean": 0.9133,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.05,
          "judge_b": 0.08,
          "mean": 0.0833,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.26,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 72,
      "id": "st_20261031_9445",
      "title": "Spinf-serve – inference server for bulk scoring and decisions",
      "url": "https://github.com/spinfinc/spinf-serve",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-10-30T17:03:12.000Z",
      "jev": 0.6894,
      "judge_a": 0.3675,
      "judge_b": 0.7291,
      "score": 0.5953,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 62,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "spinf-serve is an Apache 2.0 inference server for bulk classification and decision scoring on a single 24 GB NVIDIA GPU, exposing an OpenAI-compatible API. It reads each piece of content once and answers many questions about it in one pass, returning calibrated probabilities over fixed options rather than generated text.…",
      "page": "https://rubric.hrih.si/editions/2026-10-31/72/",
      "card": "https://rubric.hrih.si/og/2026-10-31/72.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.58,
          "judge_a": 0.35,
          "judge_b": 0.66,
          "mean": 0.53,
          "spread": 0.31
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.5,
          "judge_b": 0.88,
          "mean": 0.6933,
          "spread": 0.38
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.493,
          "judge_a": 0.4,
          "judge_b": 0.58,
          "mean": 0.4911,
          "spread": 0.18
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.885,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7683,
          "spread": 0.285
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.973,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.8111,
          "spread": 0.373
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.945,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.8417,
          "spread": 0.245
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.93,
          "mean": 0.9133,
          "spread": 0.03
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.45,
          "judge_b": 0.18,
          "mean": 0.2333,
          "spread": 0.38
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.17,
          "judge_a": 0.5,
          "judge_b": 0.12,
          "mean": 0.2633,
          "spread": 0.38
        }
      }
    },
    {
      "rank": 73,
      "id": "st_20261031_9481",
      "title": "Pop the AI Bubble",
      "url": "https://aibubble.bighea.com/",
      "domain": "aibubble.bighea.com",
      "site": "aibubble.bighea.com",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T17:35:31.000Z",
      "jev": 0.4937,
      "judge_a": 0.5065,
      "judge_b": 0.7799,
      "score": 0.5933,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 64,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "This interactive model, published by Hrih News, lets readers test what a sharp AI-stock sell-off might do to individual companies and the US economy. Users choose scenarios and assumptions, and the tool estimates which companies' market values fall, by how much, and the resulting output shortfall and unemployment pressure.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/73/",
      "card": "https://rubric.hrih.si/og/2026-10-31/73.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.49,
          "judge_a": 0.55,
          "judge_b": 0.74,
          "mean": 0.5933,
          "spread": 0.25
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.47,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.6767,
          "spread": 0.39
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.86,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.76,
          "spread": 0.26
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.283,
          "judge_a": 0.35,
          "judge_b": 0.64,
          "mean": 0.4242,
          "spread": 0.358
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.793,
          "judge_a": 0.7,
          "judge_b": 0.91,
          "mean": 0.8011,
          "spread": 0.21
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.865,
          "judge_a": 0.3,
          "judge_b": 0.88,
          "mean": 0.6817,
          "spread": 0.58
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.6,
          "judge_b": 1,
          "mean": 0.83,
          "spread": 0.4
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.0567,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.26,
          "judge_a": 0.3,
          "judge_b": 0.04,
          "mean": 0.2,
          "spread": 0.26
        }
      }
    },
    {
      "rank": 74,
      "id": "st_20261031_9402",
      "title": "A Working Nintendo in ~1GB of Qwen Weights",
      "url": "https://github.com/dbreunig/nesformer",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-10-30T16:40:22.000Z",
      "jev": 0.539,
      "judge_a": 0.5695,
      "judge_b": 0.6704,
      "score": 0.5929,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 65,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The project nesformer runs a working NES, including its 6502 CPU, work RAM and game cartridge code, inside the weights of an unmodified Qwen3.5 model, with no training involved.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/74/",
      "card": "https://rubric.hrih.si/og/2026-10-31/74.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.488,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.5058,
          "spread": 0.13
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.67,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.79,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.433,
          "judge_a": 0.6,
          "judge_b": 0.38,
          "mean": 0.4711,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.473,
          "judge_a": 0.35,
          "judge_b": 0.52,
          "mean": 0.4475,
          "spread": 0.17
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.987,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8956,
          "spread": 0.187
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9592,
          "spread": 0.098
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.92,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.9367,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0433,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.44,
          "judge_a": 0.2,
          "judge_b": 0.04,
          "mean": 0.2267,
          "spread": 0.4
        }
      }
    },
    {
      "rank": 75,
      "id": "st_20261031_9235",
      "title": "We built a cookie banner that makes your scripts start sooner",
      "url": "https://inth.com/blog/cookie-banner-scripts-start-sooner",
      "domain": "inth.com",
      "site": "Inth",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T15:27:35.000Z",
      "jev": 0.6555,
      "judge_a": 0.452,
      "judge_b": 0.6712,
      "score": 0.5928,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 66,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "c15t, a cookie consent banner, now starts a returning visitor's already-approved third-party tags from the server, before the page hydrates, instead of waiting for the JavaScript bundle. On a Next.js benchmark the first tag started about 750 ms sooner, and the Meta and TikTok pixels loaded earlier too.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/75/",
      "card": "https://rubric.hrih.si/og/2026-10-31/75.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.53,
          "judge_a": 0.35,
          "judge_b": 0.55,
          "mean": 0.4767,
          "spread": 0.2
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6933,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.507,
          "judge_a": 0.4,
          "judge_b": 0.5,
          "mean": 0.4689,
          "spread": 0.107
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.868,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7292,
          "spread": 0.268
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8933,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.85,
          "judge_b": 0.86,
          "mean": 0.9025,
          "spread": 0.148
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9067,
          "spread": 0.14
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.17,
          "spread": 0.27
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.33,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.2367,
          "spread": 0.25
        }
      }
    },
    {
      "rank": 76,
      "id": "st_20261031_9811",
      "title": "Crim spent $7K+ on AI services in extortion attacks, then left evidence for all to see",
      "url": "https://www.theregister.com/security/2026/10/30/crim-spent-7k-on-ai-services-in-extortion-attacks-then-left-evidence-for-all-to-see/5306754",
      "domain": "theregister.com",
      "site": "The Register",
      "categories": [
        "ai",
        "security",
        "it"
      ],
      "category_names": [
        "AI & machine learning",
        "Security",
        "IT & networking"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T19:37:12.000Z",
      "jev": 0.5844,
      "judge_a": 0.5185,
      "judge_b": 0.6626,
      "score": 0.5885,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 67,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The n0n extortion gang breached 23 organizations across 14 countries using mostly stolen credentials and exposed cloud keys rather than software exploits, despite leaning on AI-assisted tooling. SOCRadar's investigation also found the group left its own server exposed, revealing its methods.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/76/",
      "card": "https://rubric.hrih.si/og/2026-10-31/76.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.56,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5267,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.72,
          "judge_b": 0.82,
          "mean": 0.7267,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.85,
          "judge_a": 0.55,
          "judge_b": 0.58,
          "mean": 0.66,
          "spread": 0.3
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.603,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.6342,
          "spread": 0.1
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.467,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.5956,
          "spread": 0.253
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.738,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.5892,
          "spread": 0.288
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.55,
          "judge_b": 0.86,
          "mean": 0.7567,
          "spread": 0.31
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.08,
          "judge_b": 0.02,
          "mean": 0.0567,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.45,
          "judge_a": 0.3,
          "judge_b": 0.3,
          "mean": 0.35,
          "spread": 0.15
        }
      }
    },
    {
      "rank": 77,
      "id": "st_20261031_9612",
      "title": "DirectX preview aims to slash memory use for ray-tracing data",
      "url": "https://www.heise.de/en/news/DirectX-preview-aims-to-slash-memory-use-for-ray-tracing-data-11505636.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "programming",
        "hardware"
      ],
      "category_names": [
        "Programming & dev tools",
        "Hardware & devices"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T19:48:00.000Z",
      "jev": 0.5318,
      "judge_a": 0.4605,
      "judge_b": 0.6619,
      "score": 0.5513,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 111,
      "topic_penalty": 0,
      "repeat_penalty": 0.0429,
      "summary": "Microsoft has previewed new DirectX Raytracing features in Agility SDK 1.722-preview, including Clustered Geometry, which splits geometry into clusters of up to 256 triangles, and Partitioned Top-Level Acceleration Structures, which updates only changed scene regions.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/77/",
      "card": "https://rubric.hrih.si/og/2026-10-31/77.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.553,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5575,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.56,
          "judge_a": 0.5,
          "judge_b": 0.86,
          "mean": 0.64,
          "spread": 0.36
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.5,
          "judge_a": 0.4,
          "judge_b": 0.42,
          "mean": 0.44,
          "spread": 0.1
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.643,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.5908,
          "spread": 0.23
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.633,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7178,
          "spread": 0.187
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.755,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.745,
          "spread": 0.08
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.63,
          "judge_a": 0.9,
          "judge_b": 0.08,
          "mean": 0.5367,
          "spread": 0.82
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.05,
          "judge_b": 0.05,
          "mean": 0.07,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.3,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.2067,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 78,
      "id": "st_20261031_8943",
      "title": "PHP Composer 2.11 ships dependency cooldowns",
      "url": "https://blog.packagist.com/composer-2-11-release/",
      "domain": "blog.packagist.com",
      "site": "Private Packagist",
      "categories": [
        "programming",
        "security",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-10-30T09:54:36.000Z",
      "jev": 0.7383,
      "judge_a": 0.5888,
      "judge_b": 0.726,
      "score": 0.5844,
      "contested": false,
      "flag_penalty": 0.1,
      "freshness_penalty": 0,
      "score_rank": 71,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Composer 2.11.0 adds a cooldown dependency policy that withholds newly published package versions for a configurable period before Composer installs them, narrowing the window in which malicious releases can reach projects. Security fixes are also subject to the cooldown unless opted out with --no-cooldown.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/78/",
      "card": "https://rubric.hrih.si/og/2026-10-31/78.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.68,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.65,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.75,
          "judge_a": 0.62,
          "judge_b": 0.82,
          "mean": 0.73,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.533,
          "judge_a": 0.67,
          "judge_b": 0.5,
          "mean": 0.5678,
          "spread": 0.17
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.945,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.8417,
          "spread": 0.165
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.897,
          "judge_a": 0.8,
          "judge_b": 0.93,
          "mean": 0.8756,
          "spread": 0.13
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.893,
          "judge_a": 0.72,
          "judge_b": 0.82,
          "mean": 0.8108,
          "spread": 0.173
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.9,
          "judge_b": 0.95,
          "mean": 0.91,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.35,
          "judge_b": 0.12,
          "mean": 0.1833,
          "spread": 0.27
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.14,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.14,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 79,
      "id": "st_20261031_8809",
      "title": "Qwenputer turns Gated DeltaNet state into exact RAM for a CPU",
      "url": "https://theainewsreport.com/2026-10-29-qwenputer-deltanet-state-as-exact-ram-explained.html",
      "domain": "theainewsreport.com",
      "site": "AI News Report",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-10-30T04:58:44.000Z",
      "jev": 0.5727,
      "judge_a": 0.474,
      "judge_b": 0.6975,
      "score": 0.5813,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 73,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Qwenputer is a project that adds 11 compiled layers to Qwen 3.5 4B, implementing a 32-bit RISC-V CPU whose RAM is the model's own Gated DeltaNet state. By pinning the gate, write strength and keys, each write and read becomes exact.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/79/",
      "card": "https://rubric.hrih.si/og/2026-10-31/79.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.538,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5358,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.77,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.467,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.4722,
          "spread": 0.15
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.513,
          "judge_a": 0.35,
          "judge_b": 0.6,
          "mean": 0.4875,
          "spread": 0.25
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.727,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.6856,
          "spread": 0.23
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.945,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.875,
          "spread": 0.145
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9233,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.1,
          "judge_b": 0.04,
          "mean": 0.0733,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.35,
          "judge_b": 0.12,
          "mean": 0.24,
          "spread": 0.23
        }
      }
    },
    {
      "rank": 80,
      "id": "st_20261031_8897",
      "title": "The Hitchhiker's Guide to System One Models",
      "url": "https://arxiv.org/abs/2610.33775",
      "domain": "arxiv.org",
      "site": "arXiv",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Tutorial",
      "depth": "three_judges",
      "published_at": "2026-10-30T08:06:34.000Z",
      "jev": 0.7001,
      "judge_a": 0.3715,
      "judge_b": 0.6725,
      "score": 0.5813,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 74,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A 2026 practitioner guide by Haggai Roitman, a longtime AI researcher, catalogs \"System 1\" decision models: architectures that map an input directly to a structured decision in one or a few forward passes, trading generative flexibility for speed, cost, and calibration.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/80/",
      "card": "https://rubric.hrih.si/og/2026-10-31/80.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.673,
          "judge_a": 0.3,
          "judge_b": 0.68,
          "mean": 0.5508,
          "spread": 0.38
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.4,
          "judge_b": 0.82,
          "mean": 0.62,
          "spread": 0.42
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.763,
          "judge_a": 0.35,
          "judge_b": 0.72,
          "mean": 0.6111,
          "spread": 0.413
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.903,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.7442,
          "spread": 0.352
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.63,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.5533,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.965,
          "judge_a": 0.7,
          "judge_b": 0.8,
          "mean": 0.8217,
          "spread": 0.265
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.95,
          "judge_a": 0.85,
          "judge_b": 0.94,
          "mean": 0.9133,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.2,
          "judge_b": 0.06,
          "mean": 0.11,
          "spread": 0.14
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.36,
          "judge_a": 0.3,
          "judge_b": 0.67,
          "mean": 0.4433,
          "spread": 0.37
        }
      }
    },
    {
      "rank": 81,
      "id": "st_20261031_8914",
      "title": "Timestral Tested: How Much Data AI Demand Forecasting Needs",
      "url": "https://winder.ai/timestral-ai-demand-forecasting/",
      "domain": "winder.ai",
      "site": "winder.ai",
      "categories": [
        "ai",
        "data"
      ],
      "category_names": [
        "AI & machine learning",
        "Data"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-10-30T08:34:52.000Z",
      "jev": 0.6106,
      "judge_a": 0.369,
      "judge_b": 0.7611,
      "score": 0.5802,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 75,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Hrih News tested Mistral's Timestral, a pretrained time-series model released in October 2026, for AI demand forecasting without any training on the user's data (zero-shot).",
      "page": "https://rubric.hrih.si/editions/2026-10-31/81/",
      "card": "https://rubric.hrih.si/og/2026-10-31/81.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.573,
          "judge_a": 0.3,
          "judge_b": 0.72,
          "mean": 0.5308,
          "spread": 0.42
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.5,
          "judge_b": 0.9,
          "mean": 0.6733,
          "spread": 0.4
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.567,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5289,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.62,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.7267,
          "spread": 0.24
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.6,
          "judge_b": 0.93,
          "mean": 0.8367,
          "spread": 0.38
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.983,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8942,
          "spread": 0.183
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.6,
          "judge_b": 0.96,
          "mean": 0.8233,
          "spread": 0.36
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.5,
          "judge_b": 0.22,
          "mean": 0.2633,
          "spread": 0.43
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.26,
          "judge_a": 0.4,
          "judge_b": 0.12,
          "mean": 0.26,
          "spread": 0.28
        }
      }
    },
    {
      "rank": 82,
      "id": "st_20261031_9630",
      "title": "What's happening in Kubernetes to support AI workloads",
      "url": "https://www.cncf.io/blog/2026/10/19/how-ai-workloads-are-reshaping-kubernetes-autoscaling/",
      "domain": "cncf.io",
      "site": "CNCF",
      "categories": [
        "ai",
        "devops"
      ],
      "category_names": [
        "AI & machine learning",
        "Infrastructure & DevOps"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T20:24:53.000Z",
      "jev": 0.6545,
      "judge_a": 0.543,
      "judge_b": 0.7832,
      "score": 0.5602,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0.1,
      "score_rank": 101,
      "topic_penalty": 0.06,
      "repeat_penalty": 0,
      "summary": "Kubernetes has long split work between a scheduler that places pods on existing nodes and an autoscaler that adds nodes, a design that strains under AI workloads needing specialized accelerators.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/82/",
      "card": "https://rubric.hrih.si/og/2026-10-31/82.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.678,
          "judge_a": 0.45,
          "judge_b": 0.75,
          "mean": 0.6258,
          "spread": 0.3
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.74,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.627,
          "judge_a": 0.6,
          "judge_b": 0.67,
          "mean": 0.6322,
          "spread": 0.07
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.71,
          "judge_a": 0.7,
          "judge_b": 0.85,
          "mean": 0.7533,
          "spread": 0.15
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.323,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.5478,
          "spread": 0.397
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.78,
          "judge_a": 0.75,
          "judge_b": 0.78,
          "mean": 0.77,
          "spread": 0.03
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.6,
          "judge_b": 0.97,
          "mean": 0.8233,
          "spread": 0.37
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.11,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.13,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.15,
          "spread": 0.08
        }
      }
    },
    {
      "rank": 83,
      "id": "st_20261031_9115",
      "title": "Rooting a locked-down Hisense VIDAA TV and running Doom",
      "url": "https://carteakey.dev/blog/homelab/alvidaa/",
      "domain": "carteakey.dev",
      "site": "carteakey.dev",
      "categories": [
        "security",
        "hardware"
      ],
      "category_names": [
        "Security",
        "Hardware & devices"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-10-30T13:07:23.000Z",
      "jev": 0.6167,
      "judge_a": 0.4315,
      "judge_b": 0.6892,
      "score": 0.579,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 78,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A developer's write-up describes rooting a locked-down Hisense VIDAA TV: reverse-engineering its MQTT remote-control certificate and pairing handshake to build a custom launcher the TV installs itself, then exploiting a path-traversal flaw in the TV browser's file bridge to reach the root filesystem and gain a persistent root shell.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/83/",
      "card": "https://rubric.hrih.si/og/2026-10-31/83.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.493,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.4708,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.73,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7767,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.547,
          "judge_a": 0.3,
          "judge_b": 0.34,
          "mean": 0.3956,
          "spread": 0.247
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.618,
          "judge_a": 0.3,
          "judge_b": 0.65,
          "mean": 0.5225,
          "spread": 0.35
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.7933,
          "spread": 0.3
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.8,
          "judge_b": 0.94,
          "mean": 0.9125,
          "spread": 0.198
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9267,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.05,
          "judge_b": 0.04,
          "mean": 0.0433,
          "spread": 0.01
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.3,
          "judge_b": 0.12,
          "mean": 0.2333,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 84,
      "id": "st_20261031_9385",
      "title": "What YC's Minecraft and Mindustry agent swarms show about multi-agent teams",
      "url": "https://theainewsreport.com/2026-10-30-yc-agent-swarms-minecraft-mindustry-explained.html",
      "domain": "theainewsreport.com",
      "site": "AI News Report",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T16:58:55.000Z",
      "jev": 0.6208,
      "judge_a": 0.401,
      "judge_b": 0.7116,
      "score": 0.5777,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 79,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Y Combinator and Olam Labs ran three multi-agent experiments: 50 GPT-6.1 Sol agents in a shared Minecraft survival world, and head-to-head Bed Wars and Mindustry matches against Claude Opus 5.5 teams, with GPT winning 12 of 16 games.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/84/",
      "card": "https://rubric.hrih.si/og/2026-10-31/84.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.55,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.49,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.67,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.7167,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.66,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.62,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.748,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6558,
          "spread": 0.248
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.77,
          "judge_a": 0.45,
          "judge_b": 0.82,
          "mean": 0.68,
          "spread": 0.37
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.738,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.5692,
          "spread": 0.388
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8267,
          "spread": 0.06
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1267,
          "spread": 0.12
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.32,
          "judge_a": 0.4,
          "judge_b": 0.12,
          "mean": 0.28,
          "spread": 0.28
        }
      }
    },
    {
      "rank": 85,
      "id": "st_20261031_9013",
      "title": "Learn LLM inference system on Apple Silicon",
      "url": "https://github.com/skyzh/tiny-llm",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Tutorial",
      "depth": "three_judges",
      "published_at": "2026-10-30T11:09:12.000Z",
      "jev": 0.6077,
      "judge_a": 0.431,
      "judge_b": 0.6937,
      "score": 0.5774,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 80,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "tiny-llm is an open, hands-on course that teaches LLM inference from the ground up on Apple Silicon using MLX, without high-level neural-network layers. Learners implement attention, RoPE, quantized weights, batching, paged KV caching, and a small coding agent for Qwen3-4B, checking their work against a reference solution.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/85/",
      "card": "https://rubric.hrih.si/og/2026-10-31/85.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.553,
          "judge_a": 0.3,
          "judge_b": 0.55,
          "mean": 0.4675,
          "spread": 0.253
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.68,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.483,
          "judge_a": 0.4,
          "judge_b": 0.5,
          "mean": 0.4611,
          "spread": 0.1
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.75,
          "judge_a": 0.6,
          "judge_b": 0.8,
          "mean": 0.7167,
          "spread": 0.2
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.777,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.6689,
          "spread": 0.33
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.823,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.7742,
          "spread": 0.3
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.8,
          "judge_b": 0.95,
          "mean": 0.88,
          "spread": 0.15
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.1633,
          "spread": 0.22
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.16,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.13,
          "spread": 0.08
        }
      }
    },
    {
      "rank": 86,
      "id": "st_20261031_9700",
      "title": "Sanstun: A sans-IO, parallel-friendly WireGuard implementation in Rust",
      "url": "https://www.firezone.dev/blog/introducing-sanstun",
      "domain": "firezone.dev",
      "site": "Firezone",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-10-30T21:30:00.000Z",
      "jev": 0.5798,
      "judge_a": 0.4835,
      "judge_b": 0.6664,
      "score": 0.5766,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 81,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Sanstun is a new Rust implementation of the WireGuard state machine built on a sans-IO design, where time, randomness and network I/O are kept out of protocol logic so the core is easier to compose and test.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/86/",
      "card": "https://rubric.hrih.si/og/2026-10-31/86.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.507,
          "judge_a": 0.35,
          "judge_b": 0.56,
          "mean": 0.4725,
          "spread": 0.21
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7133,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.457,
          "judge_a": 0.4,
          "judge_b": 0.48,
          "mean": 0.4456,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.73,
          "judge_a": 0.65,
          "judge_b": 0.7,
          "mean": 0.6933,
          "spread": 0.08
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.7533,
          "spread": 0.34
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.885,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8617,
          "spread": 0.1
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9133,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.3,
          "judge_b": 0.12,
          "mean": 0.18,
          "spread": 0.18
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.3,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.2267,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 87,
      "id": "st_20261031_9493",
      "title": "[$] Removing binder.c",
      "url": "https://lwn.net/Articles/1102982/",
      "domain": "lwn.net",
      "site": "LWN.net",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T17:46:46.000Z",
      "jev": 0.5103,
      "judge_a": 0.558,
      "judge_b": 0.6613,
      "score": 0.5765,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 82,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Carlos Llamas and Alice Ryhl presented at Kangrejos 2026 on removing the C implementation of Android's Binder driver, the core interprocess communication mechanism on Android devices, in favor of the Rust version.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/87/",
      "card": "https://rubric.hrih.si/og/2026-10-31/87.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.728,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6658,
          "spread": 0.178
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.51,
          "judge_a": 0.72,
          "judge_b": 0.8,
          "mean": 0.6767,
          "spread": 0.29
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.543,
          "judge_a": 0.55,
          "judge_b": 0.52,
          "mean": 0.5378,
          "spread": 0.03
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.47,
          "judge_a": 0.45,
          "judge_b": 0.65,
          "mean": 0.5233,
          "spread": 0.2
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.113,
          "judge_a": 0.45,
          "judge_b": 0.42,
          "mean": 0.3278,
          "spread": 0.337
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.473,
          "judge_a": 0.4,
          "judge_b": 0.28,
          "mean": 0.3842,
          "spread": 0.192
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.85,
          "judge_b": 0.95,
          "mean": 0.8933,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.03,
          "judge_b": 0.02,
          "mean": 0.05,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.23,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.1367,
          "spread": 0.15
        }
      }
    },
    {
      "rank": 88,
      "id": "st_20261031_9293",
      "title": "Scaling to 50 coding agents without scaling human attention",
      "url": "https://centauri-ai.tech/live/scaling-to-50-coding-agents-without-scaling-human-attention.html",
      "domain": "centauri-ai.tech",
      "site": "Centauri AI",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T15:52:15.000Z",
      "jev": 0.6302,
      "judge_a": 0.4647,
      "judge_b": 0.6297,
      "score": 0.5748,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 84,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Centauri AI's He Lu describes running dozens of coding agents at once by planning ahead: a shared project plan with acceptance criteria, task decomposition, guardrails and feedback loops, plus pre-assigned places for agents to log findings and escalate blockers.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/88/",
      "card": "https://rubric.hrih.si/og/2026-10-31/88.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.613,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.5275,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.72,
          "judge_b": 0.83,
          "mean": 0.7467,
          "spread": 0.14
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.627,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.6422,
          "spread": 0.1
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.85,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7767,
          "spread": 0.15
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.613,
          "judge_a": 0.4,
          "judge_b": 0.56,
          "mean": 0.5244,
          "spread": 0.213
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.763,
          "judge_a": 0.55,
          "judge_b": 0.56,
          "mean": 0.6242,
          "spread": 0.212
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.79,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.7567,
          "spread": 0.28
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.13,
          "judge_a": 0.35,
          "judge_b": 0.27,
          "mean": 0.25,
          "spread": 0.22
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.44,
          "judge_a": 0.45,
          "judge_b": 0.42,
          "mean": 0.4367,
          "spread": 0.03
        }
      }
    },
    {
      "rank": 89,
      "id": "st_20261031_9472",
      "title": "A Flutter game holds 60 FPS on a $100 Android phone",
      "url": "https://upsling.space/blog/60-fps-flutter-physics-on-a-100-dollar-phone/",
      "domain": "upsling.space",
      "site": "Upsling",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T17:50:02.000Z",
      "jev": 0.6243,
      "judge_a": 0.4255,
      "judge_b": 0.6703,
      "score": 0.5733,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 86,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A developer describes how their one-touch Flutter and Flame game, Upsling, held 60 FPS on a roughly $100 Samsung Galaxy A06. Key moves included keeping the simulation as pure, deterministic Dart on a fixed timestep, pooling objects so restarts take one frame or less, and batching draw calls, though batching…",
      "page": "https://rubric.hrih.si/editions/2026-10-31/89/",
      "card": "https://rubric.hrih.si/og/2026-10-31/89.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.498,
          "judge_a": 0.2,
          "judge_b": 0.55,
          "mean": 0.4158,
          "spread": 0.35
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.66,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6933,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.48,
          "judge_a": 0.35,
          "judge_b": 0.38,
          "mean": 0.4033,
          "spread": 0.13
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.87,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.75,
          "spread": 0.27
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.977,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.8456,
          "spread": 0.277
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8725,
          "spread": 0.198
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.85,
          "judge_b": 0.97,
          "mean": 0.9033,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.15,
          "spread": 0.23
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.46,
          "judge_a": 0.15,
          "judge_b": 0.12,
          "mean": 0.2433,
          "spread": 0.34
        }
      }
    },
    {
      "rank": 90,
      "id": "st_20261031_9161",
      "title": "Claude Code guards built from my agent's repeated mistakes",
      "url": "https://github.com/hadiux0295/claude-code-mistake-guards",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-10-30T14:24:33.000Z",
      "jev": 0.6656,
      "judge_a": 0.434,
      "judge_b": 0.6523,
      "score": 0.584,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 72,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0114,
      "summary": "A GitHub project called claude-code-mistake-guards packages seven guards for Claude Code, built from mistakes an AI agent repeatedly made over several months of daily use. Three are hooks that block risky shell commands, unsafe saves, and unsupported claims, and four are pre-ship scripts that catch listing and content errors.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/90/",
      "card": "https://rubric.hrih.si/og/2026-10-31/90.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.485,
          "judge_a": 0.3,
          "judge_b": 0.48,
          "mean": 0.4217,
          "spread": 0.185
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.69,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.563,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.5478,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.91,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.81,
          "spread": 0.21
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.953,
          "judge_a": 0.45,
          "judge_b": 0.82,
          "mean": 0.7411,
          "spread": 0.503
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.893,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.7242,
          "spread": 0.293
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.6,
          "judge_b": 0.93,
          "mean": 0.8,
          "spread": 0.33
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.1867,
          "spread": 0.22
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.22,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.2167,
          "spread": 0.27
        }
      }
    },
    {
      "rank": 91,
      "id": "st_20261031_8895",
      "title": "Chrome extensions with 13.4M installs caught hijacking searches",
      "url": "https://www.bleepingcomputer.com/news/security/chrome-extensions-with-134-million-installs-caught-hijacking-searches/",
      "domain": "bleepingcomputer.com",
      "site": "BleepingComputer",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T08:10:04.000Z",
      "jev": 0.5755,
      "judge_a": 0.4515,
      "judge_b": 0.7581,
      "score": 0.595,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 63,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0237,
      "summary": "A security report from Socket found 319 Chrome extensions with about 13.4 million installs that hijack users' default search engines and route queries through operator-controlled proxy servers to collect Bing and Yahoo referral payments.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/91/",
      "card": "https://rubric.hrih.si/og/2026-10-31/91.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.6,
          "judge_a": 0.35,
          "judge_b": 0.7,
          "mean": 0.55,
          "spread": 0.35
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.63,
          "judge_a": 0.55,
          "judge_b": 0.9,
          "mean": 0.6933,
          "spread": 0.35
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.587,
          "judge_a": 0.5,
          "judge_b": 0.75,
          "mean": 0.6122,
          "spread": 0.25
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.545,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6083,
          "spread": 0.28
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.647,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6556,
          "spread": 0.12
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.738,
          "judge_a": 0.4,
          "judge_b": 0.52,
          "mean": 0.5525,
          "spread": 0.338
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.7,
          "judge_b": 0.98,
          "mean": 0.8533,
          "spread": 0.28
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.0967,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.14,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 92,
      "id": "st_20261031_9072",
      "title": "The newly proved cycle double cover theorem in ZFC with Grace17",
      "url": "https://grace17.org/docs/cycle-double-cover.html",
      "domain": "grace17.org",
      "site": "grace17.org",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T12:59:12.000Z",
      "jev": 0.4693,
      "judge_a": 0.4365,
      "judge_b": 0.8059,
      "score": 0.5705,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 89,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Grace17, a proof assistant built on ZFC with a browser-based workbench, has formally proved the cycle double cover theorem, a graph theory conjecture open since 1973 that OpenAI's model proved in mid-2026.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/92/",
      "card": "https://rubric.hrih.si/og/2026-10-31/92.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.548,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.6758,
          "spread": 0.333
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.49,
          "judge_a": 0.7,
          "judge_b": 0.93,
          "mean": 0.7067,
          "spread": 0.44
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.457,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4756,
          "spread": 0.27
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.405,
          "judge_a": 0.25,
          "judge_b": 0.72,
          "mean": 0.4583,
          "spread": 0.47
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.7,
          "judge_b": 0.94,
          "mean": 0.8233,
          "spread": 0.24
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.983,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.9208,
          "spread": 0.183
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.8,
          "judge_b": 0.99,
          "mean": 0.9,
          "spread": 0.19
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.35,
          "judge_b": 0.12,
          "mean": 0.1867,
          "spread": 0.26
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.52,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.3167,
          "spread": 0.44
        }
      }
    },
    {
      "rank": 93,
      "id": "st_20261031_8988",
      "title": "'Trust but verify'; or, 'the correctness ratchet'",
      "url": "https://smallcultfollowing.com/babysteps/blog/2026/10/30/trust-but-verify/",
      "domain": "smallcultfollowing.com",
      "site": "Niko Matsakis (baby steps)",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T00:00:00.000Z",
      "jev": 0.5992,
      "judge_a": 0.4525,
      "judge_b": 0.6535,
      "score": 0.5684,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 90,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The article describes a \"trust but verify\" technique for agentic software development: where requirements can't be mechanically checked, agents record their inputs and rationale in evidence files, and deterministic CI checks confirm those files exist and their inputs are current.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/93/",
      "card": "https://rubric.hrih.si/og/2026-10-31/93.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.49,
          "judge_a": 0.3,
          "judge_b": 0.58,
          "mean": 0.4567,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.6,
          "judge_b": 0.83,
          "mean": 0.69,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.767,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.6289,
          "spread": 0.267
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.755,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6917,
          "spread": 0.155
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.317,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.4156,
          "spread": 0.263
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.755,
          "judge_a": 0.45,
          "judge_b": 0.67,
          "mean": 0.625,
          "spread": 0.305
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.7867,
          "spread": 0.28
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.05,
          "judge_b": 0.12,
          "mean": 0.0833,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.3,
          "judge_a": 0.3,
          "judge_b": 0.22,
          "mean": 0.2733,
          "spread": 0.08
        }
      }
    },
    {
      "rank": 94,
      "id": "st_20261031_9615",
      "title": "Android developers can stray: Google opens Studio to Claude, GPT and more",
      "url": "https://www.heise.de/en/news/Android-developers-can-stray-Google-opens-Studio-to-Claude-GPT-and-more-11506605.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-10-30T19:42:00.000Z",
      "jev": 0.5864,
      "judge_a": 0.469,
      "judge_b": 0.6429,
      "score": 0.5661,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 93,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Google's Android Dev Summit unveiled Rabbit 2, a new version of Android Studio that lets developers plug in third-party AI coding agents such as Claude and Codex via the Agent Context Protocol.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/94/",
      "card": "https://rubric.hrih.si/og/2026-10-31/94.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.663,
          "judge_a": 0.45,
          "judge_b": 0.65,
          "mean": 0.5875,
          "spread": 0.212
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.55,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.64,
          "spread": 0.27
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.55,
          "judge_a": 0.6,
          "judge_b": 0.58,
          "mean": 0.5767,
          "spread": 0.05
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.79,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7033,
          "spread": 0.19
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.47,
          "judge_a": 0.35,
          "judge_b": 0.65,
          "mean": 0.49,
          "spread": 0.3
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.7,
          "judge_a": 0.4,
          "judge_b": 0.57,
          "mean": 0.5567,
          "spread": 0.3
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.8,
          "judge_b": 0.97,
          "mean": 0.8733,
          "spread": 0.17
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.17,
          "judge_a": 0.25,
          "judge_b": 0.32,
          "mean": 0.2467,
          "spread": 0.15
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.27,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1833,
          "spread": 0.19
        }
      }
    },
    {
      "rank": 95,
      "id": "st_20261031_9602",
      "title": "Llmll: A goto-fail body, rejected before the edit lands",
      "url": "https://machunter.github.io/llmll/demo.html",
      "domain": "machunter.github.io",
      "site": "LLMLL",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T19:37:41.000Z",
      "jev": 0.5895,
      "judge_a": 0.403,
      "judge_b": 0.7047,
      "score": 0.5657,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 94,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "LLMLL is a programming language for AI agents that checks each agent-written function body against its contract before accepting it. A typed hole with a precondition and postcondition is handed to an agent, and the compiler sends the proposed body to an SMT solver, rejecting any body it cannot prove.…",
      "page": "https://rubric.hrih.si/editions/2026-10-31/95/",
      "card": "https://rubric.hrih.si/og/2026-10-31/95.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.483,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4842,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.55,
          "judge_b": 0.86,
          "mean": 0.6833,
          "spread": 0.31
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.52,
          "judge_a": 0.4,
          "judge_b": 0.42,
          "mean": 0.4467,
          "spread": 0.12
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.595,
          "judge_a": 0.45,
          "judge_b": 0.7,
          "mean": 0.5817,
          "spread": 0.25
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.97,
          "judge_a": 0.7,
          "judge_b": 0.92,
          "mean": 0.8633,
          "spread": 0.27
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.968,
          "judge_a": 0.75,
          "judge_b": 0.84,
          "mean": 0.8525,
          "spread": 0.218
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.85,
          "judge_b": 0.96,
          "mean": 0.8933,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.3,
          "judge_b": 0.03,
          "mean": 0.1367,
          "spread": 0.27
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.15,
          "judge_a": 0.3,
          "judge_b": 0.06,
          "mean": 0.17,
          "spread": 0.24
        }
      }
    },
    {
      "rank": 96,
      "id": "st_20261031_8801",
      "title": "Deterministic Factoring in Time N^O(1)",
      "url": "https://hexagonmath.org/2610.00600v1",
      "domain": "hexagonmath.org",
      "site": "hexagonmath.org",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-10-30T04:11:46.000Z",
      "jev": 0.4596,
      "judge_a": 0.5355,
      "judge_b": 0.7,
      "score": 0.565,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 95,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A preprint claims a deterministic factoring algorithm running in N^{o(1)} time, improving on the current N^{1/5+o(1)} bound, with a Lean certificate whose checked statement is only 13 lines. The approach reduces factoring to counting divisors with prescribed leading bits, reusing the counting engine from recent ETH refutations.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/96/",
      "card": "https://rubric.hrih.si/og/2026-10-31/96.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.768,
          "judge_a": 0.85,
          "judge_b": 0.95,
          "mean": 0.8558,
          "spread": 0.183
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.46,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.7467,
          "spread": 0.47
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.563,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.5611,
          "spread": 0.12
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.265,
          "judge_a": 0.2,
          "judge_b": 0.55,
          "mean": 0.3383,
          "spread": 0.35
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.583,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.5711,
          "spread": 0.23
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.585,
          "judge_a": 0.6,
          "judge_b": 0.52,
          "mean": 0.5683,
          "spread": 0.08
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.9,
          "judge_b": 0.91,
          "mean": 0.9033,
          "spread": 0.01
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.1,
          "judge_b": 0.04,
          "mean": 0.0833,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.53,
          "judge_a": 0.7,
          "judge_b": 0.63,
          "mean": 0.62,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 97,
      "id": "st_20261031_9520",
      "title": "Tracking 11,709 AI launches on Hacker News",
      "url": "https://spark.site/blog/ai-startup-failure-rate",
      "domain": "spark.site",
      "site": "spark.site",
      "categories": [
        "ai",
        "startups"
      ],
      "category_names": [
        "AI & machine learning",
        "Startups & founders"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-10-30T18:56:52.000Z",
      "jev": 0.5114,
      "judge_a": 0.5005,
      "judge_b": 0.6796,
      "score": 0.5638,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 97,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Hacker News Show HN posts about AI products from 2022 through 2025, totaling 11,709, were checked for whether their websites still run. Launches rose sharply, reaching nearly 60 a day in 2026, but newer cohorts die faster: 42% of 2025 launches were dead within 18 months, versus 10% for 2022.…",
      "page": "https://rubric.hrih.si/editions/2026-10-31/97/",
      "card": "https://rubric.hrih.si/og/2026-10-31/97.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.413,
          "judge_a": 0.4,
          "judge_b": 0.63,
          "mean": 0.4808,
          "spread": 0.23
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.58,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.72,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.77,
          "judge_a": 0.6,
          "judge_b": 0.61,
          "mean": 0.66,
          "spread": 0.17
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.47,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.5,
          "spread": 0.13
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.887,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7889,
          "spread": 0.187
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.725,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5817,
          "spread": 0.325
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.85,
          "judge_b": 0.97,
          "mean": 0.9,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.1,
          "judge_b": 0.02,
          "mean": 0.07,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.45,
          "judge_a": 0.3,
          "judge_b": 0.2,
          "mean": 0.3167,
          "spread": 0.25
        }
      }
    },
    {
      "rank": 98,
      "id": "st_20261031_9283",
      "title": "LlamaIndex's Document Parsing Protocol: 140 rules for a correctly parsed page",
      "url": "https://www.llamaindex.ai/blog/introducing-the-document-parsing-protocol",
      "domain": "llamaindex.ai",
      "site": "llamaindex.ai",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-10-30T15:55:41.000Z",
      "jev": 0.6689,
      "judge_a": 0.369,
      "judge_b": 0.6512,
      "score": 0.563,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 98,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "LlamaIndex has published working draft 0.1 of the Document Parsing Protocol, a set of 140 rules defining what a correctly parsed page should look like across tables, forms, charts, and diagrams.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/98/",
      "card": "https://rubric.hrih.si/og/2026-10-31/98.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.623,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.5142,
          "spread": 0.323
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.55,
          "judge_b": 0.83,
          "mean": 0.6867,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.623,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.5178,
          "spread": 0.273
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.79,
          "judge_a": 0.6,
          "judge_b": 0.75,
          "mean": 0.7133,
          "spread": 0.19
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.843,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.6911,
          "spread": 0.393
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.783,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7008,
          "spread": 0.183
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.89,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.45,
          "judge_b": 0.35,
          "mean": 0.2967,
          "spread": 0.36
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.19,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 99,
      "id": "st_20261031_9802",
      "title": "Channel Binding",
      "url": "https://blog.prosody.im/channel-binding/",
      "domain": "blog.prosody.im",
      "site": "blog.prosody.im",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T23:39:58.000Z",
      "jev": 0.5634,
      "judge_a": 0.442,
      "judge_b": 0.6838,
      "score": 0.563,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 99,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Prosody's blog post explains channel binding, an XMPP authentication feature that cryptographically ties a login to the specific TLS connection it runs over, so a machine-in-the-middle cannot relay credentials undetected.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/99/",
      "card": "https://rubric.hrih.si/og/2026-10-31/99.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.523,
          "judge_a": 0.3,
          "judge_b": 0.67,
          "mean": 0.4975,
          "spread": 0.37
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.58,
          "judge_a": 0.55,
          "judge_b": 0.83,
          "mean": 0.6533,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.46,
          "judge_a": 0.3,
          "judge_b": 0.33,
          "mean": 0.3633,
          "spread": 0.16
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.72,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.6833,
          "spread": 0.23
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.4,
          "judge_a": 0.7,
          "judge_b": 0.67,
          "mean": 0.59,
          "spread": 0.3
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.883,
          "judge_a": 0.75,
          "judge_b": 0.78,
          "mean": 0.8042,
          "spread": 0.132
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.76,
          "spread": 0.26
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.1,
          "judge_b": 0.04,
          "mean": 0.0733,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.15,
          "judge_b": 0.12,
          "mean": 0.16,
          "spread": 0.09
        }
      }
    },
    {
      "rank": 100,
      "id": "st_20261031_8959",
      "title": "LeanCIL – Prove properties of compiled .NET code in Lean 4",
      "url": "https://github.com/NethermindEth/LeanCIL",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-10-30T10:29:37.000Z",
      "jev": 0.5271,
      "judge_a": 0.4455,
      "judge_b": 0.7142,
      "score": 0.5622,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 100,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "LeanCIL is an open-source tool that uses the Lean 4 proof assistant to prove properties of compiled .NET code. It extracts Common Intermediate Language from assemblies, then checks user-written proofs against an explicit model of those instructions.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/100/",
      "card": "https://rubric.hrih.si/og/2026-10-31/100.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.498,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4892,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.51,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.67,
          "spread": 0.39
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.38,
          "judge_a": 0.35,
          "judge_b": 0.42,
          "mean": 0.3833,
          "spread": 0.07
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.57,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5633,
          "spread": 0.32
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.893,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.8311,
          "spread": 0.2
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.908,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8625,
          "spread": 0.107
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.95,
          "judge_b": 0.98,
          "mean": 0.94,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.11,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.14,
          "judge_a": 0.2,
          "judge_b": 0.04,
          "mean": 0.1267,
          "spread": 0.16
        }
      }
    },
    {
      "rank": 101,
      "id": "st_20261031_9110",
      "title": "Navital Gym – open environments for testing AI agents on Indian tasks",
      "url": "https://github.com/Navitallabs/navital-gym",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-10-30T13:19:15.000Z",
      "jev": 0.609,
      "judge_a": 0.3745,
      "judge_b": 0.696,
      "score": 0.5597,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 102,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Navital Gym is an open, pip-installable benchmark of six sandboxed environments testing AI agents on India-specific tasks, including rail trip planning, GST invoicing, form filling, UPI disputes, and Hindi or Hinglish customer support.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/101/",
      "card": "https://rubric.hrih.si/og/2026-10-31/101.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.528,
          "judge_a": 0.3,
          "judge_b": 0.58,
          "mean": 0.4692,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.6,
          "judge_a": 0.45,
          "judge_b": 0.86,
          "mean": 0.6367,
          "spread": 0.41
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.467,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4789,
          "spread": 0.27
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.703,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6575,
          "spread": 0.17
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.81,
          "spread": 0.39
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.893,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7575,
          "spread": 0.293
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.95,
          "judge_b": 0.94,
          "mean": 0.9333,
          "spread": 0.04
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.35,
          "judge_b": 0.12,
          "mean": 0.18,
          "spread": 0.28
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.14,
          "judge_a": 0.2,
          "judge_b": 0.1,
          "mean": 0.1467,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 102,
      "id": "st_20261031_9329",
      "title": "Man Hires Swarm of AI Agents to Go on Epic Hacking Spree Against Major Companies",
      "url": "http://www.apex-news.com/newsitementry.aspx?id=fe1a783e-3fe1-4c06-bbdd-a93b55c6c4ec",
      "domain": "apex-news.com",
      "site": "apex-news.com",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T15:06:23.000Z",
      "jev": 0.6397,
      "judge_a": 0.5219,
      "judge_b": 0.5957,
      "score": 0.5857,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 70,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0262,
      "summary": "A cybercriminal reportedly used AI agents to attack over 1,200 e-commerce sites in the US, Canada, Australia, and Japan, breaching more than 100 companies including John Deere, SharkNinja, and Cummins, according to a NorForge researcher's findings reported by Reuters.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/102/",
      "card": "https://rubric.hrih.si/og/2026-10-31/102.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.723,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6642,
          "spread": 0.173
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.8,
          "judge_b": 0.84,
          "mean": 0.7933,
          "spread": 0.1
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.91,
          "judge_a": 0.67,
          "judge_b": 0.78,
          "mean": 0.7867,
          "spread": 0.24
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.613,
          "judge_a": 0.55,
          "judge_b": 0.65,
          "mean": 0.6042,
          "spread": 0.1
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.43,
          "judge_a": 0.4,
          "judge_b": 0.52,
          "mean": 0.45,
          "spread": 0.12
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.488,
          "judge_a": 0.2,
          "judge_b": 0.28,
          "mean": 0.3225,
          "spread": 0.288
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.81,
          "judge_a": 0.2,
          "judge_b": 0.32,
          "mean": 0.4433,
          "spread": 0.61
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.03,
          "judge_b": 0.03,
          "mean": 0.0467,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.46,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.61,
          "spread": 0.36
        }
      }
    },
    {
      "rank": 103,
      "id": "st_20261031_9083",
      "title": "Nim Version 2.2.14 Released",
      "url": "https://nim-lang.org//blog/2026/10/28/nim-2214.html",
      "domain": "nim-lang.org",
      "site": "Nim Programming Language",
      "categories": [
        "programming",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-10-30T12:40:46.000Z",
      "jev": 0.5926,
      "judge_a": 0.4485,
      "judge_b": 0.6224,
      "score": 0.5545,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 105,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Nim 2.2.14, the seventh patch release of the stable 2.2 line, arrived on 28 October 2026, seven weeks after 2.2.12, with 142 commits of bugfixes and improvements. It matters to tech teams for its security hardening: the httpclient now strips credentials on cross-origin redirects, asynchttpserver rejects ambiguous body framing to…",
      "page": "https://rubric.hrih.si/editions/2026-10-31/103/",
      "card": "https://rubric.hrih.si/og/2026-10-31/103.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.502,
          "judge_a": 0.35,
          "judge_b": 0.55,
          "mean": 0.4675,
          "spread": 0.2
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.51,
          "judge_a": 0.4,
          "judge_b": 0.7,
          "mean": 0.5367,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.413,
          "judge_a": 0.3,
          "judge_b": 0.38,
          "mean": 0.3644,
          "spread": 0.113
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.803,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.6742,
          "spread": 0.203
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.893,
          "judge_a": 0.8,
          "judge_b": 0.96,
          "mean": 0.8844,
          "spread": 0.16
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.7033,
          "spread": 0.29
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.85,
          "judge_b": 0.99,
          "mean": 0.9033,
          "spread": 0.14
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.05,
          "judge_b": 0.04,
          "mean": 0.0533,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.07,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.0667,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 104,
      "id": "st_20261031_9657",
      "title": "Switch lowering in GCC",
      "url": "https://xoranth.net/gcc-switch/",
      "domain": "xoranth.net",
      "site": "xoranth.net",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T20:00:34.000Z",
      "jev": 0.507,
      "judge_a": 0.4485,
      "judge_b": 0.7082,
      "score": 0.5545,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 106,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "GCC's switch lowering pass chooses among several strategies depending on case layout: a jump table for dense values (roughly eight table entries per case label is the break-even point), comparison trees for sparse values, outlier splitting that pairs a jump table with separate branches for stray cases, contiguous-range compression that…",
      "page": "https://rubric.hrih.si/editions/2026-10-31/104/",
      "card": "https://rubric.hrih.si/og/2026-10-31/104.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.483,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.4675,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.44,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.6267,
          "spread": 0.4
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.467,
          "judge_a": 0.3,
          "judge_b": 0.42,
          "mean": 0.3956,
          "spread": 0.167
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.458,
          "judge_a": 0.35,
          "judge_b": 0.73,
          "mean": 0.5125,
          "spread": 0.38
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.7,
          "judge_b": 0.83,
          "mean": 0.7967,
          "spread": 0.16
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.9,
          "judge_b": 0.92,
          "mean": 0.9358,
          "spread": 0.088
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9267,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.03,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.03,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.15,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.11,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 105,
      "id": "st_20261031_9032",
      "title": "Ginux: Independent rust based Linux implementation",
      "url": "https://github.com/gmkurtzer/ginux",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-10-30T11:52:56.000Z",
      "jev": 0.559,
      "judge_a": 0.3905,
      "judge_b": 0.7111,
      "score": 0.5535,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 107,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Ginux is an experimental, independent x86-64 operating system prototype written mostly in Rust that boots directly through UEFI without a Linux host kernel. It runs unmodified Alpine and Rocky Linux userspace inside native, isolated domains, with an embedded ring-3 controller managing configuration, devices, and lifecycle.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/105/",
      "card": "https://rubric.hrih.si/og/2026-10-31/105.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.495,
          "judge_a": 0.3,
          "judge_b": 0.7,
          "mean": 0.4983,
          "spread": 0.4
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.7,
          "judge_b": 0.92,
          "mean": 0.7533,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.45,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.4667,
          "spread": 0.15
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.488,
          "judge_a": 0.2,
          "judge_b": 0.62,
          "mean": 0.4358,
          "spread": 0.42
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.973,
          "judge_a": 0.5,
          "judge_b": 0.84,
          "mean": 0.7711,
          "spread": 0.473
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.895,
          "judge_a": 0.7,
          "judge_b": 0.96,
          "mean": 0.8517,
          "spread": 0.26
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.93,
          "judge_a": 0.95,
          "judge_b": 0.98,
          "mean": 0.9533,
          "spread": 0.05
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.1333,
          "spread": 0.11
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.17,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.2,
          "spread": 0.27
        }
      }
    },
    {
      "rank": 106,
      "id": "st_20261031_9174",
      "title": "Some Observations on Agent Coordination",
      "url": "https://align.lawyer/resources/agent-coordination",
      "domain": "align.lawyer",
      "site": "align.lawyer",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-10-30T14:10:39.000Z",
      "jev": 0.5891,
      "judge_a": 0.4795,
      "judge_b": 0.6365,
      "score": 0.5683,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 91,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0148,
      "summary": "Sam Davidoff describes a two-day company hackathon and an open source chat server, kashkeshet, that let AI agents coordinate software work. He reports that a single orchestrator agent managing others worked well and cut idle waiting, that MCP polling burned many tokens and was mitigated with a background watcher script…",
      "page": "https://rubric.hrih.si/editions/2026-10-31/106/",
      "card": "https://rubric.hrih.si/og/2026-10-31/106.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.453,
          "judge_a": 0.3,
          "judge_b": 0.52,
          "mean": 0.4242,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.61,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6767,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.757,
          "judge_a": 0.6,
          "judge_b": 0.67,
          "mean": 0.6756,
          "spread": 0.157
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.785,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.735,
          "spread": 0.085
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.343,
          "judge_a": 0.35,
          "judge_b": 0.42,
          "mean": 0.3711,
          "spread": 0.077
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.728,
          "judge_a": 0.45,
          "judge_b": 0.56,
          "mean": 0.5792,
          "spread": 0.278
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.74,
          "spread": 0.24
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1033,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.27,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.2167,
          "spread": 0.09
        }
      }
    },
    {
      "rank": 107,
      "id": "st_20261031_9092",
      "title": "AI is letting anyone reverse engineer anything. We talked to the developer",
      "url": "https://www.scientificamerican.com/article/an-exclusive-conversation-with-the-developer-of-rea-the-viral-ai-reverse-engineering-tool/",
      "domain": "scientificamerican.com",
      "site": "Scientific American",
      "categories": [
        "programming",
        "ai",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T12:30:55.000Z",
      "jev": 0.6201,
      "judge_a": 0.41,
      "judge_b": 0.6269,
      "score": 0.5523,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 108,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Scientific American profiles Morluto's open-source tool Reverse Engineer Anything (REA), which lets AI agents orchestrate decompilers to pull apart compiled software and modify it, from games to consumer devices.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/107/",
      "card": "https://rubric.hrih.si/og/2026-10-31/107.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.73,
          "judge_a": 0.4,
          "judge_b": 0.68,
          "mean": 0.6033,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.73,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.9,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.7067,
          "spread": 0.4
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.618,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.5492,
          "spread": 0.168
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.4,
          "judge_a": 0.3,
          "judge_b": 0.57,
          "mean": 0.4233,
          "spread": 0.27
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.568,
          "judge_a": 0.35,
          "judge_b": 0.48,
          "mean": 0.4658,
          "spread": 0.218
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.3,
          "judge_b": 0.92,
          "mean": 0.6933,
          "spread": 0.62
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.05,
          "judge_b": 0.08,
          "mean": 0.0833,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.51,
          "judge_a": 0.4,
          "judge_b": 0.68,
          "mean": 0.53,
          "spread": 0.28
        }
      }
    },
    {
      "rank": 108,
      "id": "st_20261031_9722",
      "title": "GEMM Tutorial and UlmBLAS",
      "url": "https://news.ycombinator.com/item?id=50310690",
      "domain": "news.ycombinator.com",
      "site": "Hacker News",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Tutorial",
      "depth": "three_judges",
      "published_at": "2026-10-30T21:57:48.000Z",
      "jev": 0.4376,
      "judge_a": 0.5556,
      "judge_b": 0.6636,
      "score": 0.5522,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 109,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Michael Lehn's GEMM tutorial, originally written in 2014 and now hosted on GitHub, walks through building a fast matrix multiplication without Strassen-style algorithms. Instead it relies on cache-aware blocking, copying matrix blocks into buffers, and SIMD register instructions, step by step from a naive triple loop.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/108/",
      "card": "https://rubric.hrih.si/og/2026-10-31/108.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.448,
          "judge_a": 0.4,
          "judge_b": 0.5,
          "mean": 0.4492,
          "spread": 0.1
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.29,
          "judge_a": 0.62,
          "judge_b": 0.72,
          "mean": 0.5433,
          "spread": 0.43
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.56,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.5033,
          "spread": 0.16
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.548,
          "judge_a": 0.72,
          "judge_b": 0.82,
          "mean": 0.6958,
          "spread": 0.272
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.507,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6289,
          "spread": 0.273
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.655,
          "judge_a": 0.78,
          "judge_b": 0.78,
          "mean": 0.7383,
          "spread": 0.125
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.9,
          "judge_b": 0.82,
          "mean": 0.8733,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0633,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.14,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 109,
      "id": "st_20261031_8861",
      "title": "Patterns in AI-Driven Software Development",
      "url": "https://akos.ma/blog/patterns-in-ai-driven-software-development/",
      "domain": "akos.ma",
      "site": "akos.ma",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-10-30T07:21:56.000Z",
      "jev": 0.6573,
      "judge_a": 0.4734,
      "judge_b": 0.5416,
      "score": 0.5574,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 103,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0059,
      "summary": "Adrian Kosmaczewski, a Red Hat Senior Architect, presented the CHIRON CODEX interaction patterns for AI-augmented software development at the Red Hat 3rd Swiss Dev Confederation on October 27, 2026. The patterns, created by Oxford's Dr.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/109/",
      "card": "https://rubric.hrih.si/og/2026-10-31/109.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.6,
          "judge_a": 0.3,
          "judge_b": 0.5,
          "mean": 0.4667,
          "spread": 0.3
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.65,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.827,
          "judge_a": 0.6,
          "judge_b": 0.67,
          "mean": 0.6989,
          "spread": 0.227
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.943,
          "judge_a": 0.72,
          "judge_b": 0.78,
          "mean": 0.8142,
          "spread": 0.223
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.41,
          "judge_a": 0.35,
          "judge_b": 0.42,
          "mean": 0.3933,
          "spread": 0.07
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.833,
          "judge_a": 0.5,
          "judge_b": 0.55,
          "mean": 0.6275,
          "spread": 0.333
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.79,
          "spread": 0.29
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.14,
          "judge_a": 0.15,
          "judge_b": 0.28,
          "mean": 0.19,
          "spread": 0.14
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.39,
          "judge_a": 0.2,
          "judge_b": 0.72,
          "mean": 0.4367,
          "spread": 0.52
        }
      }
    },
    {
      "rank": 110,
      "id": "st_20261031_9580",
      "title": "TeamViewer fixes code injection vulnerability",
      "url": "https://www.heise.de/en/news/TeamViewer-fixes-code-injection-vulnerability-11506383.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "security",
        "it"
      ],
      "category_names": [
        "Security",
        "IT & networking"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T19:14:00.000Z",
      "jev": 0.5376,
      "judge_a": 0.5325,
      "judge_b": 0.6247,
      "score": 0.5649,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 96,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0162,
      "summary": "TeamViewer has patched three high-risk vulnerabilities in its remote support software, two enabling code injection through malicious hosts or crafted screen and session data, and one allowing privilege escalation to root on macOS via a symbolic-link race condition.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/110/",
      "card": "https://rubric.hrih.si/og/2026-10-31/110.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.603,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.5442,
          "spread": 0.153
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6867,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.23,
          "judge_a": 0.5,
          "judge_b": 0.52,
          "mean": 0.4167,
          "spread": 0.29
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.565,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.6617,
          "spread": 0.155
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.663,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6611,
          "spread": 0.12
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.74,
          "judge_a": 0.4,
          "judge_b": 0.58,
          "mean": 0.5733,
          "spread": 0.34
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.77,
          "judge_a": 0.4,
          "judge_b": 0.08,
          "mean": 0.4167,
          "spread": 0.69
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0567,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.27,
          "judge_a": 0.1,
          "judge_b": 0.06,
          "mean": 0.1433,
          "spread": 0.21
        }
      }
    },
    {
      "rank": 111,
      "id": "st_20261031_9633",
      "title": "Unauthenticated RCE vulnerability against ClickHouse Server",
      "url": "https://cve.now/CVE-2026-116366",
      "domain": "cve.now",
      "site": "cve.now",
      "categories": [
        "security",
        "data"
      ],
      "category_names": [
        "Security",
        "Data"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-10-30T20:22:31.000Z",
      "jev": 0.5028,
      "judge_a": 0.5893,
      "judge_b": 0.6453,
      "score": 0.5791,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 77,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0426,
      "summary": "A newly published CVE, CVE-2026-116366, affects ClickHouse Server, the open-source database system. Under certain conditions, an unauthenticated attacker with network access could execute arbitrary code on the server. CISA's assessment rates it as non-automatable with total technical impact, and no public exploit is listed.",
      "page": "https://rubric.hrih.si/editions/2026-10-31/111/",
      "card": "https://rubric.hrih.si/og/2026-10-31/111.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.573,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.5808,
          "spread": 0.07
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.53,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.67,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.367,
          "judge_a": 0.55,
          "judge_b": 0.45,
          "mean": 0.4556,
          "spread": 0.183
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.68,
          "judge_a": 0.75,
          "judge_b": 0.72,
          "mean": 0.7167,
          "spread": 0.07
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.303,
          "judge_a": 0.45,
          "judge_b": 0.55,
          "mean": 0.4344,
          "spread": 0.247
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.385,
          "judge_a": 0.25,
          "judge_b": 0.22,
          "mean": 0.285,
          "spread": 0.165
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.9033,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.03,
          "judge_b": 0.01,
          "mean": 0.04,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.3,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.2267,
          "spread": 0.22
        }
      }
    }
  ]
}
