{
  "edition": "2026-11-02",
  "name": "Rubric, edition of Monday 2 November 2026",
  "url": "https://rubric.hrih.si/editions/2026-11-02/",
  "published_at": "2026-11-02T06: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-11-02: https://rubric.hrih.si/editions/2026-11-02/"
  },
  "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_20261102_10574",
      "title": "Mitigations for CVE-2026-98432 [IPv4 TCP handshake use-after-free]",
      "url": "https://blog.rodmena.com/entry/cve_2026_98432_and_the_ipv4_options_nobody_sends",
      "domain": "blog.rodmena.com",
      "site": "RODMENA Engineering",
      "categories": [
        "security",
        "devops",
        "it"
      ],
      "category_names": [
        "Security",
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-01T03:51:13.000Z",
      "jev": 0.7876,
      "judge_a": 0.8325,
      "judge_b": 0.8483,
      "score": 0.8228,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 1,
      "topic_penalty": 0,
      "repeat_penalty": 0.05,
      "summary": "RODMENA Engineering describes CVE-2026-98432, a use-after-free in the IPv4 TCP handshake present in Linux since 4.4, with upstream fixes in stable branches from 5.10. Debian has patched kernels, while Ubuntu's were still pending on 1 November. Until then, the authors drop IPv4 TCP packets carrying IP options with nftables and disable MPTCP. Their tests showed plain connections passing and optioned ones timing out. The filter doesn't cover new network namespaces or containers. The claims come from the post itself, without independent sourcing, and Anthropic's reported exploit is unseen.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/1/",
      "card": "https://rubric.hrih.si/og/2026-11-02/1.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.735,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.785,
          "spread": 0.085
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.82,
          "judge_a": 0.9,
          "judge_b": 0.94,
          "mean": 0.8867,
          "spread": 0.12
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.81,
          "judge_a": 0.85,
          "judge_b": 0.84,
          "mean": 0.8333,
          "spread": 0.04
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.885,
          "judge_a": 0.95,
          "judge_b": 0.95,
          "mean": 0.9283,
          "spread": 0.065
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.82,
          "judge_a": 0.85,
          "judge_b": 0.86,
          "mean": 0.8433,
          "spread": 0.04
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 1,
          "judge_a": 0.92,
          "judge_b": 0.98,
          "mean": 0.9667,
          "spread": 0.08
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.76,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.68,
          "spread": 0.16
        },
        "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.23,
          "judge_a": 0.2,
          "judge_b": 0.32,
          "mean": 0.25,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 2,
      "id": "st_20261102_10616",
      "title": "Agentic Backdoors via Pretraining Poisoning",
      "url": "https://arxiv.org/abs/2610.37741",
      "domain": "arxiv.org",
      "site": "arXiv",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-11-01T06:55:27.000Z",
      "jev": 0.76,
      "judge_a": 0.6702,
      "judge_b": 0.869,
      "score": 0.7664,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 2,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Researchers at Anthropic, UIUC, UCL and elsewhere report that poisoning 0.1% of a 100B-token pretraining corpus can plant a remote-code-execution backdoor that survives clean SFT, DPO and GRPO post-training. In Qwen3 models trained from scratch, the 4B agent reached 92.7% Pass@32 attack success with an ordinary-string trigger (paths containing \"anthropic\") and 10.5% with a rare-string trigger. Success rose with model size, and clean-input capability was unchanged. The claim checks found no independent sources, and the experiments cover one CLI-agent pipeline at up to 4B parameters.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/2/",
      "card": "https://rubric.hrih.si/og/2026-11-02/2.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.765,
          "judge_a": 0.62,
          "judge_b": 0.88,
          "mean": 0.755,
          "spread": 0.26
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.79,
          "judge_a": 0.8,
          "judge_b": 0.97,
          "mean": 0.8533,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.897,
          "judge_a": 0.67,
          "judge_b": 0.82,
          "mean": 0.7956,
          "spread": 0.227
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.74,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.7333,
          "spread": 0.26
        },
        "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.943,
          "judge_a": 0.85,
          "judge_b": 0.97,
          "mean": 0.9208,
          "spread": 0.12
        },
        "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.06,
          "judge_a": 0.03,
          "judge_b": 0.01,
          "mean": 0.0333,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.32,
          "judge_a": 0.25,
          "judge_b": 0.28,
          "mean": 0.2833,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 3,
      "id": "st_20261102_10631",
      "title": "We build our voice input method like an experiment",
      "url": "https://arion.astrafoundry.si/blog/building-like-an-experiment/",
      "domain": "arion.astrafoundry.si",
      "site": "Arion",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-01T07:53:27.000Z",
      "jev": 0.7594,
      "judge_a": 0.5388,
      "judge_b": 0.8203,
      "score": 0.7061,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 3,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Arion, a local Chinese voice and Pinyin input method, published results from ablations it ran before shipping features. On a 30-case held-out set, screen-text context lifted Qwen3 4B from 9 to 16 passes but left the shipped 1.7B model at 9. A no-LLM acoustic second pass beat every LLM correction variant. An upstream Rime reranker's \"1 ms\" came from CPU time, not wall-clock. These figures are Arion's own, from one developer-authored corpus on one Apple M4, and could not be independently checked.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/3/",
      "card": "https://rubric.hrih.si/og/2026-11-02/3.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.608,
          "judge_a": 0.3,
          "judge_b": 0.7,
          "mean": 0.5358,
          "spread": 0.4
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.8,
          "judge_a": 0.72,
          "judge_b": 0.92,
          "mean": 0.8133,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.67,
          "judge_a": 0.42,
          "judge_b": 0.67,
          "mean": 0.5867,
          "spread": 0.25
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.908,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.7958,
          "spread": 0.308
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.993,
          "judge_a": 0.82,
          "judge_b": 0.96,
          "mean": 0.9244,
          "spread": 0.173
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.85,
          "judge_b": 0.91,
          "mean": 0.9192,
          "spread": 0.148
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.92,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.06,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.14,
          "judge_a": 0.15,
          "judge_b": 0.04,
          "mean": 0.11,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 4,
      "id": "st_20261102_10884",
      "title": "Ransomware gang bypassed AI guardrails by posing as red-team testers",
      "url": "https://www.sophos.com/en-us/blog/ai-used-in-aur0ra-ransomware-testing-and-execution",
      "domain": "sophos.com",
      "site": "SOPHOS",
      "categories": [
        "ai",
        "security",
        "it"
      ],
      "category_names": [
        "AI & machine learning",
        "Security",
        "IT & networking"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-11-01T15:21:57.000Z",
      "jev": 0.7126,
      "judge_a": 0.6176,
      "judge_b": 0.7832,
      "score": 0.7044,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 4,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Sophos reports that GOLD OGRE, the group behind Aur0ra ransomware, used Cursor-driven agents to escalate from credential access to domain admin, after first using a similar framework to test EDR evasion. Operators reportedly got past model guardrails by calling the work authorized red-teaming. Sophos assesses this with high confidence, though the models named and the three leak-site victims rest on its own account, and Gambit and CloudSEK's overlapping findings were not verified. Only one proxy IP overlaps. Sophos advises segmentation, isolated backups, and tighter domain admin privileges.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/4/",
      "card": "https://rubric.hrih.si/og/2026-11-02/4.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.72,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7,
          "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.807,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.7322,
          "spread": 0.137
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.723,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7475,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.883,
          "judge_a": 0.75,
          "judge_b": 0.86,
          "mean": 0.8311,
          "spread": 0.133
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.65,
          "judge_b": 0.82,
          "mean": 0.77,
          "spread": 0.19
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7733,
          "spread": 0.14
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.25,
          "judge_b": 0.08,
          "mean": 0.1333,
          "spread": 0.18
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.38,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.2867,
          "spread": 0.2
        }
      }
    },
    {
      "rank": 5,
      "id": "st_20261102_11171",
      "title": "Nothing Installs at Our Company Until It's a Week Old",
      "url": "https://brunoj.com/nothing-installs-at-our-company-until-its-a-week-old/",
      "domain": "brunoj.com",
      "site": "/bruno",
      "categories": [
        "programming",
        "security",
        "devops",
        "it"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security",
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-01T21:55:53.000Z",
      "jev": 0.6663,
      "judge_a": 0.6695,
      "judge_b": 0.7555,
      "score": 0.6971,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 5,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Bruno J. describes a company-wide proxy, git-pkgs/proxy, that holds new npm and PyPI releases for seven days (pub for three). In twelve days it served 81,710 downloads, hid 6,116 too-new versions and refused 71 downloads where lockfiles pinned fresh releases. His reasoning: five 2026 hijacks, including axios and litellm, were pulled within about five hours. A blogger's count of 1,336 hijacked npm packages suggests a seven-day cooldown would have blocked roughly 85%. Some lockfile formats bypass the gate, and slower-detected compromises still get through.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/5/",
      "card": "https://rubric.hrih.si/og/2026-11-02/5.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.81,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.8233,
          "spread": 0.06
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.527,
          "judge_a": 0.75,
          "judge_b": 0.68,
          "mean": 0.6522,
          "spread": 0.223
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.95,
          "judge_a": 0.85,
          "judge_b": 0.88,
          "mean": 0.8933,
          "spread": 0.1
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.933,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8511,
          "spread": 0.133
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.993,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.8575,
          "spread": 0.213
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.6,
          "judge_b": 0.97,
          "mean": 0.8167,
          "spread": 0.37
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.1,
          "judge_b": 0.04,
          "mean": 0.06,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.76,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.38,
          "spread": 0.58
        }
      }
    },
    {
      "rank": 6,
      "id": "st_20261102_10760",
      "title": "A skeleton from 20 observations beat 160 tests, a cheap model nearly caught up",
      "url": "https://andreasrau.tech/writing/agentic-coding-paper-2026-10-31/",
      "domain": "andreasrau.tech",
      "site": "andreasrau.tech",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "claim_checked",
      "published_at": "2026-11-01T12:52:08.000Z",
      "jev": 0.662,
      "judge_a": 0.5807,
      "judge_b": 0.7752,
      "score": 0.6726,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 6,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "An AWS paper, Skeleton Coding, finds that giving coding agents a program's structure (types, modules, signatures, contracts) in code-like form beats adding more behavioral tests. On SlopCodeBench the mean pass rate rose from 71.7% to 89.2%, and on SDDBench from 29% to 74.2%. The smaller GPT-5.6 Luna came within 5.0 to 8.2 points of Sol at far lower cost. Gains shrank on ProgramBench, where an oracle exists, and overly detailed contracts sometimes hurt. Andreas Rau notes that the benchmarks may be contaminated.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/6/",
      "card": "https://rubric.hrih.si/og/2026-11-02/6.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.665,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.5983,
          "spread": 0.23
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.73,
          "judge_a": 0.72,
          "judge_b": 0.91,
          "mean": 0.7867,
          "spread": 0.19
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.703,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6578,
          "spread": 0.17
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.858,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7925,
          "spread": 0.158
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.707,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6956,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.793,
          "judge_a": 0.65,
          "judge_b": 0.76,
          "mean": 0.7342,
          "spread": 0.142
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.8,
          "judge_b": 0.96,
          "mean": 0.8733,
          "spread": 0.16
        },
        "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.64,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.3733,
          "spread": 0.46
        }
      }
    },
    {
      "rank": 7,
      "id": "st_20261102_11059",
      "title": "Let's Encrypt Goes to 64-Day Certificates: When Does Your ACME Client Actually Renew?",
      "url": "https://devops-daily.com/posts/lets-encrypt-64-day-certificates-renewal-check",
      "domain": "devops-daily.com",
      "site": "DevOps Daily",
      "categories": [
        "devops",
        "it"
      ],
      "category_names": [
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-01T18:08:50.000Z",
      "jev": 0.7154,
      "judge_a": 0.7442,
      "judge_b": 0.8112,
      "score": 0.6569,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0.1,
      "score_rank": 9,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Let's Encrypt's staging environment began issuing 64-day certificates on 14 October 2026, ahead of the production default on 10 February 2027 and 45 days in 2028. DevOps Daily tested five ACME client installs. Clients using ARI (certbot 5.8, acme.sh 3.1.6, lego 5.5.2) renewed around day 42 of 64, the same two-thirds share as at 45 and 90 days. acme.sh 3.0.7 scheduled renewal at day 59, or day 79 with --days 80, after expiry. Upgrading fixed it. The test used staging and one certificate per setup.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/7/",
      "card": "https://rubric.hrih.si/og/2026-11-02/7.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.628,
          "judge_a": 0.62,
          "judge_b": 0.72,
          "mean": 0.6558,
          "spread": 0.1
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.7967,
          "spread": 0.21
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.547,
          "judge_a": 0.67,
          "judge_b": 0.62,
          "mean": 0.6122,
          "spread": 0.123
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.915,
          "judge_a": 0.9,
          "judge_b": 0.9,
          "mean": 0.905,
          "spread": 0.015
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.977,
          "judge_a": 0.88,
          "judge_b": 0.94,
          "mean": 0.9322,
          "spread": 0.097
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 1,
          "judge_a": 0.9,
          "judge_b": 0.82,
          "mean": 0.9067,
          "spread": 0.18
        },
        "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.05,
          "judge_a": 0.08,
          "judge_b": 0.03,
          "mean": 0.0533,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.2,
          "judge_a": 0.15,
          "judge_b": 0.05,
          "mean": 0.1333,
          "spread": 0.15
        }
      }
    },
    {
      "rank": 8,
      "id": "st_20261102_10917",
      "title": "Rbcop, RuboCop rewritten in Rust with identical output",
      "url": "https://github.com/costajohnt/rbcop",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-01T15:59:24.000Z",
      "jev": 0.654,
      "judge_a": 0.5795,
      "judge_b": 0.7156,
      "score": 0.6497,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 10,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "rbcop is a Rust reimplementation of RuboCop 1.92.2, built on the Prism parser, aiming for byte-identical output and exit status. It implements all 613 default cops plus native versions of several popular plugins, and falls back to RuboCop for cops it does not implement.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/8/",
      "card": "https://rubric.hrih.si/og/2026-11-02/8.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.545,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5383,
          "spread": 0.17
        },
        "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.453,
          "judge_a": 0.55,
          "judge_b": 0.42,
          "mean": 0.4744,
          "spread": 0.13
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.838,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.8058,
          "spread": 0.057
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.97,
          "judge_a": 0.8,
          "judge_b": 0.96,
          "mean": 0.91,
          "spread": 0.17
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.968,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.8492,
          "spread": 0.268
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.95,
          "judge_b": 0.98,
          "mean": 0.9467,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.25,
          "judge_b": 0.08,
          "mean": 0.13,
          "spread": 0.19
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.3,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.2267,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 9,
      "id": "st_20261102_10607",
      "title": "Resisting Cognitive Surrender",
      "url": "https://knlb.dev/essays/surrender",
      "domain": "knlb.dev",
      "site": "knlb.dev",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "claim_checked",
      "published_at": "2026-11-01T06:13:30.000Z",
      "jev": 0.7248,
      "judge_a": 0.5698,
      "judge_b": 0.7036,
      "score": 0.666,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 7,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "Kunal, writing on knlb.dev, argues that accepting agent output uncritically (\"cognitive surrender\") is fast but, in his experience, produces weaker decisions, technical debt and lost familiarity with the system. He says building time can approach zero while comprehension has barely improved. His remedies: set a \"vibe limit\" by project risk, treat repeated \"yes, continue\" as a warning sign, and drive changes by hand on important code. For delegated work he suggests observability, deterministic validation, shadow traffic and fast deploys. These are personal observations, not measured results.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/9/",
      "card": "https://rubric.hrih.si/og/2026-11-02/9.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.598,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.5092,
          "spread": 0.248
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.78,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.78,
          "spread": 0.16
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.927,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.8022,
          "spread": 0.227
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.92,
          "judge_a": 0.75,
          "judge_b": 0.82,
          "mean": 0.83,
          "spread": 0.17
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.273,
          "judge_a": 0.45,
          "judge_b": 0.48,
          "mean": 0.4011,
          "spread": 0.207
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.65,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.59,
          "spread": 0.15
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.69,
          "spread": 0.39
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.03,
          "judge_b": 0.08,
          "mean": 0.0533,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.18,
          "spread": 0.06
        }
      }
    },
    {
      "rank": 10,
      "id": "st_20261102_10870",
      "title": "RIPE members debate reliance on U.S. internet infrastructure",
      "url": "https://www.heise.de/en/news/RIPE-members-debate-reliance-on-U-S-internet-infrastructure-11507313.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "it",
        "policy"
      ],
      "category_names": [
        "IT & networking",
        "Policy & regulation"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-11-01T14:31:00.000Z",
      "jev": 0.6109,
      "judge_a": 0.5518,
      "judge_b": 0.7655,
      "score": 0.6427,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 11,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "At RIPE's 93rd meeting in Sofia, members discussed how U.S. sanctions law reaches core internet infrastructure, prompted by the .org registry PIR blocking the domain of Italian provider Autistici/Inventati after an OFAC terrorism designation. Participants urged operators to map their dependencies, including on DNS registries, certificate authorities and hyperscaler email. RIPE NCC has dropped its \"Cloud First\" strategy and budgeted €14.59 million for 2027 to run its own infrastructure. The heise report cites no sources for its figures, which are largely attributed to speakers.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/10/",
      "card": "https://rubric.hrih.si/og/2026-11-02/10.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.693,
          "judge_a": 0.55,
          "judge_b": 0.76,
          "mean": 0.6675,
          "spread": 0.21
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.7133,
          "spread": 0.26
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.7,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6733,
          "spread": 0.12
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.533,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.6208,
          "spread": 0.248
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.467,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6156,
          "spread": 0.313
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.51,
          "judge_a": 0.4,
          "judge_b": 0.58,
          "mean": 0.4967,
          "spread": 0.18
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.85,
          "judge_b": 0.96,
          "mean": 0.9067,
          "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.23,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.2033,
          "spread": 0.05
        }
      }
    },
    {
      "rank": 11,
      "id": "st_20261102_10568",
      "title": "NVIDIA Updates Rubin GPU Specs as First Production Hardware Arrives",
      "url": "https://www.servethehome.com/nvidia-updates-rubin-gpu-specs-as-first-production-hardware-arrives/",
      "domain": "servethehome.com",
      "site": "ServeTheHome",
      "categories": [
        "ai",
        "hardware"
      ],
      "category_names": [
        "AI & machine learning",
        "Hardware & devices"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-11-01T03:00:28.000Z",
      "jev": 0.5614,
      "judge_a": 0.5975,
      "judge_b": 0.6786,
      "score": 0.6125,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 18,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "ServeTheHome reports that NVIDIA's final Rubin GPU specs, posted in September, are below the preliminary figures: HBM4 bandwidth drops from 22TB/s to 19.2TB/s (about 11%), and NVLink from 3.6TB/s to 3.0TB/s, while scale-out networking rises from 400GB/s to 450GB/s. NVL72 racks follow, and HGX NVL8 also loses HBM4 capacity, from 2.3TB to 2.0TB. Compute ratings are unchanged. NVIDIA has given no reason; the memory-supply explanation is the author's inference. Most figures were not independently checked.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/11/",
      "card": "https://rubric.hrih.si/og/2026-11-02/11.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.685,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6683,
          "spread": 0.12
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7,
          "spread": 0.16
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.507,
          "judge_a": 0.6,
          "judge_b": 0.63,
          "mean": 0.5789,
          "spread": 0.123
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.48,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.56,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.587,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.6689,
          "spread": 0.133
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.775,
          "judge_a": 0.7,
          "judge_b": 0.68,
          "mean": 0.7183,
          "spread": 0.095
        },
        "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.05,
          "judge_b": 0.03,
          "mean": 0.06,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.2,
          "judge_b": 0.42,
          "mean": 0.3,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 12,
      "id": "st_20261102_11200",
      "title": "Hackers could poison AI models by tampering with core infrastructure",
      "url": "https://www.cybersecuritydive.com/news/ai-hardware-model-tampering-eclypsium/873177/",
      "domain": "cybersecuritydive.com",
      "site": "Cybersecurity Dive",
      "categories": [
        "ai",
        "security",
        "hardware"
      ],
      "category_names": [
        "AI & machine learning",
        "Security",
        "Hardware & devices"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-11-01T22:17:13.000Z",
      "jev": 0.7065,
      "judge_a": 0.4935,
      "judge_b": 0.6782,
      "score": 0.6261,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 17,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "Security firm Eclypsium reports that AI models can be manipulated by tampering with the firmware, drivers and management hardware beneath them. In its demonstration, selected weights were altered in memory after integrity checks ran, while the model file, hash and signatures on disk stayed valid. Eclypsium says Nvidia, AMD, Intel and Arm systems are affected, and recommends DPU-based policy enforcement, component inventories and scrutiny of third-party software. Cybersecurity Dive's account could not be independently verified, and the research was done with Nvidia.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/12/",
      "card": "https://rubric.hrih.si/og/2026-11-02/12.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.715,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.6283,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.77,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.73,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.873,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.7178,
          "spread": 0.273
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.745,
          "judge_a": 0.55,
          "judge_b": 0.7,
          "mean": 0.665,
          "spread": 0.195
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.55,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.5833,
          "spread": 0.2
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.725,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.6317,
          "spread": 0.175
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.79,
          "judge_a": 0.6,
          "judge_b": 0.8,
          "mean": 0.73,
          "spread": 0.2
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.1,
          "judge_b": 0.18,
          "mean": 0.1333,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.3,
          "judge_b": 0.2,
          "mean": 0.2367,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 13,
      "id": "st_20261102_11114",
      "title": "An inference server for AMD GPUs, in C++ and HIP",
      "url": "https://codeberg.org/StillDeadcode/radiance",
      "domain": "codeberg.org",
      "site": "Codeberg.org",
      "categories": [
        "programming",
        "ai",
        "devops",
        "hardware"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Infrastructure & DevOps",
        "Hardware & devices"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-01T19:37:33.000Z",
      "jev": 0.674,
      "judge_a": 0.4905,
      "judge_b": 0.7619,
      "score": 0.6421,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 12,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Radiance, published on Codeberg by StillDeadcode, is a C++ and HIP inference server for AMD GPUs. It serves language, image, video, speech and music models behind OpenAI-, Anthropic- and llama-server-compatible APIs, with architectures and kernels loaded as plugins. Bundled kernels target RDNA4 cards. The README gives throughput figures, such as 166 tok/s for GLM-5.3-Flash on eight Radeon AI PRO R9700s, but they come from the author's own runs without independent sources, and four-rank speed against two ranks is stated as unmeasured.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/13/",
      "card": "https://rubric.hrih.si/og/2026-11-02/13.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.593,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.5742,
          "spread": 0.23
        },
        "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.427,
          "judge_a": 0.4,
          "judge_b": 0.48,
          "mean": 0.4356,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.84,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7867,
          "spread": 0.14
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.927,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.8089,
          "spread": 0.327
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.995,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9583,
          "spread": 0.095
        },
        "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.35,
          "judge_b": 0.04,
          "mean": 0.1467,
          "spread": 0.31
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.14,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.1733,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 14,
      "id": "st_20261102_11123",
      "title": "Moving an RTS from Godot to Lobster",
      "url": "https://age-of-anything.com/devlog/2026-10-30-moving-to-lobster",
      "domain": "age-of-anything.com",
      "site": "Age of Anything",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-01T20:11:35.000Z",
      "jev": 0.6047,
      "judge_a": 0.4814,
      "judge_b": 0.7191,
      "score": 0.6017,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 23,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "The developer of Age of Anything, an RTS, replaced Godot and GDScript with the Lobster language in four days, using Claude for most of the porting. The move came two weeks into the project. Per the developer's own figures, a 15-minute bot match matched the original on all 18,000 state hashes and ran about fifteen times faster per tick. The tests missed UI regressions and a rendering slowdown, which manual play found. Those numbers are self-reported and unverified.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/14/",
      "card": "https://rubric.hrih.si/og/2026-11-02/14.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.448,
          "judge_a": 0.25,
          "judge_b": 0.58,
          "mean": 0.4258,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.7567,
          "spread": 0.19
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.47,
          "judge_a": 0.33,
          "judge_b": 0.48,
          "mean": 0.4267,
          "spread": 0.15
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.7,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6933,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.833,
          "judge_a": 0.65,
          "judge_b": 0.84,
          "mean": 0.7744,
          "spread": 0.19
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.935,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.865,
          "spread": 0.135
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.85,
          "judge_b": 0.97,
          "mean": 0.89,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.15,
          "judge_b": 0.04,
          "mean": 0.08,
          "spread": 0.11
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.17,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.15,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 15,
      "id": "st_20261102_10570",
      "title": "Do you still need embeddings for semantic search? - my little experiment",
      "url": "https://internals.laxmena.com/p/can-an-llm-and-a-keyword-index-replace",
      "domain": "internals.laxmena.com",
      "site": "internals.laxmena.com",
      "categories": [
        "ai",
        "data"
      ],
      "category_names": [
        "AI & machine learning",
        "Data"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-11-01T03:47:22.000Z",
      "jev": 0.6567,
      "judge_a": 0.5687,
      "judge_b": 0.7461,
      "score": 0.6571,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 8,
      "topic_penalty": 0.06,
      "repeat_penalty": 0.0181,
      "summary": "Lax Meiyappan tested whether BM25 keyword search, with an LLM query rewrite and a reranker, could replace Qwen3-Embedding-0.6B on SciFact, NFCorpus and FiQA. Embeddings won or tied in every fair comparison, leading by about a point on the first two sets and eight to nine on FiQA once both used the same reranker. The rewrite added little after reranking. Replacing 54 FiQA names with invented codenames narrowed the gap to 1.3 points, but embeddings stayed ahead. These are one author's unreplicated results, and the cost comparison reflects his pricing.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/15/",
      "card": "https://rubric.hrih.si/og/2026-11-02/15.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.49,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4867,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.72,
          "judge_b": 0.9,
          "mean": 0.78,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.57,
          "judge_a": 0.55,
          "judge_b": 0.58,
          "mean": 0.5667,
          "spread": 0.03
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.808,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7758,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.953,
          "judge_a": 0.75,
          "judge_b": 0.86,
          "mean": 0.8544,
          "spread": 0.203
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.925,
          "judge_a": 0.8,
          "judge_b": 0.84,
          "mean": 0.855,
          "spread": 0.125
        },
        "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.06,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.08,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.16,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 16,
      "id": "st_20261102_10642",
      "title": "Aqueous: The files you keep are compressed. Badly",
      "url": "https://lifthrasiir.github.io/aqueous/",
      "domain": "lifthrasiir.github.io",
      "site": "lifthrasiir.github.io",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-01T08:08:30.000Z",
      "jev": 0.5734,
      "judge_a": 0.448,
      "judge_b": 0.6888,
      "score": 0.57,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 34,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Aqueous is a new public-domain archive format and archiver, aqr, that decodes the weak compression inside JPEG, PNG, MP3, ZIP and PDF files, recodes the contents with stronger models, and restores the original bytes on extraction. Its author reports that on Matt Mahoney's 10 GB benchmark, aqr produced 2.50 GB, against 3.70 GB for zpaq and 4.68 GB for zstd -3, at 61 MB/s compression. These figures are self-reported and not independently verified. Decoders ship inside the archive as WebAssembly modules.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/16/",
      "card": "https://rubric.hrih.si/og/2026-11-02/16.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.543,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5375,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.65,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.7167,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.613,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5611,
          "spread": 0.17
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.61,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6267,
          "spread": 0.17
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.74,
          "spread": 0.24
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.773,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8175,
          "spread": 0.108
        },
        "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.13,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.22,
          "spread": 0.22
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.38,
          "judge_a": 0.4,
          "judge_b": 0.28,
          "mean": 0.3533,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 17,
      "id": "st_20261102_10609",
      "title": "StackVitals – CI failure triage and DORA metrics, no server",
      "url": "https://github.com/stackvitals/stackvitals",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-01T06:04:03.000Z",
      "jev": 0.6898,
      "judge_a": 0.4447,
      "judge_b": 0.5367,
      "score": 0.557,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 41,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "StackVitals is an open-source GitHub developer suite that runs entirely inside a repo's own GitHub Actions, storing its history in that repo with no hosted backend or account.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/17/",
      "card": "https://rubric.hrih.si/og/2026-11-02/17.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.568,
          "judge_a": 0.3,
          "judge_b": 0.45,
          "mean": 0.4392,
          "spread": 0.268
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.62,
          "judge_b": 0.72,
          "mean": 0.6767,
          "spread": 0.1
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.663,
          "judge_a": 0.55,
          "judge_b": 0.45,
          "mean": 0.5544,
          "spread": 0.213
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.943,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.7875,
          "spread": 0.243
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.903,
          "judge_a": 0.6,
          "judge_b": 0.75,
          "mean": 0.7511,
          "spread": 0.303
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.81,
          "judge_a": 0.7,
          "judge_b": 0.68,
          "mean": 0.73,
          "spread": 0.13
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.94,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.9433,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.13,
          "judge_a": 0.45,
          "judge_b": 0.38,
          "mean": 0.32,
          "spread": 0.32
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.35,
          "judge_b": 0.22,
          "mean": 0.2733,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 18,
      "id": "st_20261102_11133",
      "title": "Representation Hypothesis with JEPAs",
      "url": "https://www.alphaxiv.org/abs/2610.39302",
      "domain": "alphaxiv.org",
      "site": "alphaXiv",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-11-01T20:01:24.000Z",
      "jev": 0.5412,
      "judge_a": 0.571,
      "judge_b": 0.7885,
      "score": 0.6335,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 14,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A paper by Yann LeCun and coauthors argues that text and image encoders align when training treats different descriptions of the same scene as positives, rather than corruptions of one caption. A 109M-parameter JEPA text model scores .184 mutual 10-NN alignment with DINOv2 ViT-B, above Qwen2.5-72B's .154, and reaches next-token-level alignment with 42 times fewer samples. The theory is idealized, one seed scored .121, and the captions partly come from LLaVA, which uses a CLIP encoder. Results are reported by the authors alone.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/18/",
      "card": "https://rubric.hrih.si/og/2026-11-02/18.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.618,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.6492,
          "spread": 0.23
        },
        "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.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.475,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.5983,
          "spread": 0.245
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.843,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.8078,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.838,
          "judge_a": 0.8,
          "judge_b": 0.92,
          "mean": 0.8525,
          "spread": 0.12
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.93,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.92,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.0367,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.35,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.21,
          "spread": 0.27
        }
      }
    },
    {
      "rank": 19,
      "id": "st_20261102_10826",
      "title": "Same model, different agent: 17 points apart on 21 MCP servers",
      "url": "https://m3.sineframe.com/blog/same-model-different-agent",
      "domain": "m3.sineframe.com",
      "site": "SineFrame M3",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-11-01T14:22:25.000Z",
      "jev": 0.6837,
      "judge_a": 0.4755,
      "judge_b": 0.7332,
      "score": 0.6307,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 15,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "SineFrame, maker of the open-source M3 MCP testing tool, ran Claude Haiku 5.5 through two coding agents against 21 MCP servers. OpenCode answered 82.0% of tasks from the server, Claude Code 65.4%. The gap sits on the ten servers that overlap built-in tools such as web search, where agents often answer without calling the server. On the other eleven, agents scored within about four points. For server builders, results depend on the agent used for testing. The figures are SineFrame's own and unverified; Codex also ran a different model.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/19/",
      "card": "https://rubric.hrih.si/og/2026-11-02/19.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.593,
          "judge_a": 0.3,
          "judge_b": 0.68,
          "mean": 0.5242,
          "spread": 0.38
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.7667,
          "spread": 0.16
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.547,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.5256,
          "spread": 0.13
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.825,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7683,
          "spread": 0.125
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.973,
          "judge_a": 0.72,
          "judge_b": 0.91,
          "mean": 0.8678,
          "spread": 0.253
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.6,
          "judge_b": 0.74,
          "mean": 0.74,
          "spread": 0.28
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.85,
          "judge_b": 0.97,
          "mean": 0.8867,
          "spread": 0.13
        },
        "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.21,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.1967,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 20,
      "id": "st_20261102_11086",
      "title": "Google, Anthropic and others to support new AI crawling opt-out standard",
      "url": "https://siliconangle.com/2026/10/30/google-anthropic-and-others-to-support-new-ai-crawling-opt-out-standard/",
      "domain": "siliconangle.com",
      "site": "SiliconANGLE",
      "categories": [
        "ai",
        "policy"
      ],
      "category_names": [
        "AI & machine learning",
        "Policy & regulation"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-11-01T18:39:51.000Z",
      "jev": 0.6335,
      "judge_a": 0.6256,
      "judge_b": 0.6588,
      "score": 0.6392,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 13,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0097,
      "summary": "Google, Microsoft, Anthropic and OpenAI say they will honor a new robots.txt directive that lets a site block all generative-AI training crawlers with one entry, replacing per-provider rules. Engadget says the draft comes from Anthropic's Kevin Kelley and is before the IETF; it would not block search indexing. Microsoft also plans an \"AI Grounding\" setting for answer-time fetches. OpenAI and Microsoft reportedly ship support within months, Google next year; Meta has not committed. Most timing and scope details remain unverified.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/20/",
      "card": "https://rubric.hrih.si/og/2026-11-02/20.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.703,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.6242,
          "spread": 0.152
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.7333,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.857,
          "judge_a": 0.67,
          "judge_b": 0.82,
          "mean": 0.7822,
          "spread": 0.187
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.703,
          "judge_a": 0.7,
          "judge_b": 0.68,
          "mean": 0.6942,
          "spread": 0.022
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.403,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.4911,
          "spread": 0.217
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.653,
          "judge_a": 0.35,
          "judge_b": 0.34,
          "mean": 0.4475,
          "spread": 0.312
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.8,
          "judge_b": 0.92,
          "mean": 0.8533,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.18,
          "judge_a": 0.1,
          "judge_b": 0.18,
          "mean": 0.1533,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1467,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 21,
      "id": "st_20261102_11102",
      "title": "Applebee's exposed customers' personal data with database password in app",
      "url": "https://techcrunch.com/2026/10/30/applebees-exposed-customers-personal-data-after-leaving-database-password-in-app/",
      "domain": "techcrunch.com",
      "site": "TechCrunch",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-11-01T19:02:20.000Z",
      "jev": 0.5003,
      "judge_a": 0.5915,
      "judge_b": 0.666,
      "score": 0.5859,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 28,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Applebee's has fixed a flaw in which a hardcoded database credential in its Android app exposed customer records, TechCrunch reported. Researcher Robert Wiggins found it with AI help, and TechCrunch says it confirmed access using a dummy account. The data included names, emails, birth dates, phone numbers and login IP addresses. Dine Brands says it found no evidence of unauthorized access, but did not say whether logs exist, how many customers were affected, or how long the credential was present. Neither company offered a way to report security issues.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/21/",
      "card": "https://rubric.hrih.si/og/2026-11-02/21.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.455,
          "judge_a": 0.4,
          "judge_b": 0.58,
          "mean": 0.4783,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.58,
          "judge_a": 0.82,
          "judge_b": 0.88,
          "mean": 0.76,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.31,
          "judge_a": 0.5,
          "judge_b": 0.55,
          "mean": 0.4533,
          "spread": 0.24
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.62,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.6133,
          "spread": 0.02
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.68,
          "judge_a": 0.85,
          "judge_b": 0.84,
          "mean": 0.79,
          "spread": 0.17
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.635,
          "judge_a": 0.4,
          "judge_b": 0.38,
          "mean": 0.4717,
          "spread": 0.255
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9033,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.03,
          "judge_b": 0.03,
          "mean": 0.0367,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.32,
          "judge_a": 0.15,
          "judge_b": 0.12,
          "mean": 0.1967,
          "spread": 0.2
        }
      }
    },
    {
      "rank": 22,
      "id": "st_20261102_10789",
      "title": "OmniDiff – Opensource, super fast, content aware Git difftool, in Rust",
      "url": "https://github.com/ivankovic/omnidiff",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-01T13:02:30.000Z",
      "jev": 0.6175,
      "judge_a": 0.4155,
      "judge_b": 0.6436,
      "score": 0.5588,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 39,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "OmniDiff, an AGPL-licensed Rust diff tool by Marko Ivankovic, picks a diff method by content: tree-sitter structural diffs for 25 languages, plus pictures, fonts, archives and PDFs. It plugs into git, jj, VS Code and Neovim. The README reports a 4.2ms median over 2,302 fixtures and 442,322 of 442,530 code pairs completed. Its own accuracy goals are unmet: 60–70% of hand-painted cases match exactly. All figures are self-reported, from one laptop, and archives and PDFs are slower.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/22/",
      "card": "https://rubric.hrih.si/og/2026-11-02/22.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.548,
          "judge_a": 0.3,
          "judge_b": 0.48,
          "mean": 0.4425,
          "spread": 0.248
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.67,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.6667,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.553,
          "judge_a": 0.4,
          "judge_b": 0.42,
          "mean": 0.4578,
          "spread": 0.153
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.893,
          "judge_a": 0.65,
          "judge_b": 0.72,
          "mean": 0.7542,
          "spread": 0.242
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.72,
          "judge_b": 0.93,
          "mean": 0.8767,
          "spread": 0.26
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.96,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.8533,
          "spread": 0.26
        },
        "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.09,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.1733,
          "spread": 0.27
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.75,
          "judge_a": 0.4,
          "judge_b": 0.12,
          "mean": 0.4233,
          "spread": 0.63
        }
      }
    },
    {
      "rank": 23,
      "id": "st_20261102_11189",
      "title": "Where Did the Rest Go?",
      "url": "https://iamevan.me/blog/where-did-the-rest-go/",
      "domain": "iamevan.me",
      "site": "Evan Smith",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "claim_checked",
      "published_at": "2026-11-01T21:31:21.000Z",
      "jev": 0.6278,
      "judge_a": 0.4877,
      "judge_b": 0.7157,
      "score": 0.6104,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 19,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "An engineer at SREcon EMEA '26 argues that AI-assisted development leaves developers more cognitively fatigued, not less, because automation strips out the self-paced coding work that let them recover and leaves them with harder supervisory tasks.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/23/",
      "card": "https://rubric.hrih.si/og/2026-11-02/23.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.495,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4883,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.62,
          "judge_b": 0.82,
          "mean": 0.6933,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.94,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.7767,
          "spread": 0.27
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.745,
          "judge_a": 0.55,
          "judge_b": 0.76,
          "mean": 0.685,
          "spread": 0.21
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.56,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.5933,
          "spread": 0.22
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.518,
          "judge_a": 0.3,
          "judge_b": 0.56,
          "mean": 0.4592,
          "spread": 0.26
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.82,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.04,
          "judge_b": 0.01,
          "mean": 0.0333,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.29,
          "judge_a": 0.3,
          "judge_b": 0.12,
          "mean": 0.2367,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 24,
      "id": "st_20261102_11054",
      "title": "Machine-Readable Training Preference Signal",
      "url": "https://www.ietf.org/archive/id/draft-kelley-aipref-training-preference-signal-00.html",
      "domain": "ietf.org",
      "site": "ietf.org",
      "categories": [
        "ai",
        "policy"
      ],
      "category_names": [
        "AI & machine learning",
        "Policy & regulation"
      ],
      "format": "Other",
      "depth": "three_judges",
      "published_at": "2026-11-01T18:04:11.000Z",
      "jev": 0.6117,
      "judge_a": 0.555,
      "judge_b": 0.6514,
      "score": 0.606,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 20,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "This IETF Internet-Draft proposes binding AI training preferences to URL paths by writing standard robots.txt groups keyed to a new per-purpose policy token, usage_ai-training, without adding directives or changing RFC 9309 grammar or precedence.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/24/",
      "card": "https://rubric.hrih.si/og/2026-11-02/24.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.555,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.575,
          "spread": 0.07
        },
        "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.767,
          "judge_a": 0.55,
          "judge_b": 0.58,
          "mean": 0.6322,
          "spread": 0.217
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.65,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.6233,
          "spread": 0.05
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.527,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.5822,
          "spread": 0.22
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.833,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.7042,
          "spread": 0.233
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.86,
          "spread": 0.1
        },
        "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.14,
          "judge_a": 0.2,
          "judge_b": 0.06,
          "mean": 0.1333,
          "spread": 0.14
        }
      }
    },
    {
      "rank": 25,
      "id": "st_20261102_11120",
      "title": "The tokens in your agent harness",
      "url": "https://armincat.com/articles/where-tokens-go.html",
      "domain": "armincat.com",
      "site": "armincat.com",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-01T19:34:22.000Z",
      "jev": 0.613,
      "judge_a": 0.5657,
      "judge_b": 0.6318,
      "score": 0.6034,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 21,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "An author who read the open-source Codex harness in Rust catalogs the hidden LLM calls it makes beyond the main task: automatic thread naming, reasoning-based activity status (no separate request), auto recaps, memory extraction and consolidation, and a background Guardian security reviewer.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/25/",
      "card": "https://rubric.hrih.si/og/2026-11-02/25.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.5,
          "judge_a": 0.35,
          "judge_b": 0.55,
          "mean": 0.4667,
          "spread": 0.2
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.65,
          "judge_a": 0.72,
          "judge_b": 0.82,
          "mean": 0.73,
          "spread": 0.17
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.537,
          "judge_a": 0.6,
          "judge_b": 0.48,
          "mean": 0.5389,
          "spread": 0.12
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.753,
          "judge_a": 0.65,
          "judge_b": 0.68,
          "mean": 0.6942,
          "spread": 0.102
        },
        "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.85,
          "judge_a": 0.7,
          "judge_b": 0.7,
          "mean": 0.75,
          "spread": 0.15
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.8,
          "judge_b": 0.84,
          "mean": 0.8333,
          "spread": 0.06
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.05,
          "judge_b": 0.04,
          "mean": 0.0467,
          "spread": 0.01
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.2,
          "judge_b": 0.28,
          "mean": 0.22,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 26,
      "id": "st_20261102_10850",
      "title": "Bowerbird – Open-source NotebookLM for any model, with checked quotes",
      "url": "https://github.com/jolovicdev/bowerbird",
      "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-11-01T14:51:55.000Z",
      "jev": 0.6239,
      "judge_a": 0.5007,
      "judge_b": 0.6845,
      "score": 0.603,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 22,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Bowerbird is an open-source, local-first alternative to Google's NotebookLM that lets users ask questions over their own PDFs, web pages, videos and recordings, using any model they choose. Notebooks are plain folders on disk, and search, OCR and transcription run locally.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/26/",
      "card": "https://rubric.hrih.si/og/2026-11-02/26.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.5,
          "judge_a": 0.35,
          "judge_b": 0.48,
          "mean": 0.4433,
          "spread": 0.15
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.67,
          "judge_a": 0.62,
          "judge_b": 0.82,
          "mean": 0.7033,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.463,
          "judge_a": 0.5,
          "judge_b": 0.55,
          "mean": 0.5044,
          "spread": 0.087
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.77,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.75,
          "spread": 0.08
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.5,
          "judge_b": 0.88,
          "mean": 0.7433,
          "spread": 0.38
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.75,
          "judge_b": 0.9,
          "mean": 0.8792,
          "spread": 0.238
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.93,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.93,
          "spread": 0.06
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.12,
          "spread": 0.12
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.1967,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 27,
      "id": "st_20261102_10512",
      "title": "Docsferatu: An agent that drafts docs PRs while you sleep",
      "url": "https://www.inngest.com/blog/docsferatu-an-agent-that-drafts-docs-prs-while-you-sleep",
      "domain": "inngest.com",
      "site": "inngest.com",
      "categories": [
        "programming",
        "ai",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Infrastructure & DevOps"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-01T00:23:44.000Z",
      "jev": 0.6268,
      "judge_a": 0.377,
      "judge_b": 0.672,
      "score": 0.5586,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 40,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Docsferatu is a side project that watches an SDK repo for pull requests, uses a classifier to decide whether docs need updating, and if so has Claude draft a docs PR in an isolated sandbox.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/27/",
      "card": "https://rubric.hrih.si/og/2026-11-02/27.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.405,
          "judge_a": 0.2,
          "judge_b": 0.48,
          "mean": 0.3617,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.5,
          "judge_b": 0.86,
          "mean": 0.7,
          "spread": 0.36
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.533,
          "judge_a": 0.3,
          "judge_b": 0.42,
          "mean": 0.4178,
          "spread": 0.233
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.77,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6833,
          "spread": 0.28
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.77,
          "judge_a": 0.5,
          "judge_b": 0.82,
          "mean": 0.6967,
          "spread": 0.32
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.975,
          "judge_a": 0.8,
          "judge_b": 0.84,
          "mean": 0.8717,
          "spread": 0.175
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9033,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1133,
          "spread": 0.14
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1533,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 28,
      "id": "st_20261102_10948",
      "title": "The surprising leadership dynamics in agent swarms",
      "url": "https://www.raindrop.ai/blog/agent-swarm-leadership/",
      "domain": "raindrop.ai",
      "site": "raindrop.ai",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-01T16:11:38.000Z",
      "jev": 0.6423,
      "judge_a": 0.4105,
      "judge_b": 0.7347,
      "score": 0.5958,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 24,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A study of eight AI agents from four models working on simulated outages found that instructions were common but rarely changed teammates' behavior: only 105 of 2,160 teams (5%) produced a real leader.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/28/",
      "card": "https://rubric.hrih.si/og/2026-11-02/28.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.553,
          "judge_a": 0.3,
          "judge_b": 0.65,
          "mean": 0.5008,
          "spread": 0.35
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.66,
          "judge_a": 0.5,
          "judge_b": 0.9,
          "mean": 0.6867,
          "spread": 0.4
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.65,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.59,
          "spread": 0.32
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.7,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.61,
          "spread": 0.25
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.967,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.7656,
          "spread": 0.417
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.935,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.755,
          "spread": 0.385
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9133,
          "spread": 0.12
        },
        "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.23,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.2367,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 29,
      "id": "st_20261102_10933",
      "title": "Chinese labs now target OpenAI's GPT-6 Astra for distillation",
      "url": "https://fork.zone/p/1011/report-chinese-labs-now-target-openai-s-gpt-6-astra-for",
      "domain": "fork.zone",
      "site": "fork.zone",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-01T16:28:35.000Z",
      "jev": 0.5258,
      "judge_a": 0.5135,
      "judge_b": 0.7474,
      "score": 0.5955,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 25,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The Information reports, via The Decoder, that Chinese AI labs including DeepSeek and Moonshot AI have shifted distillation efforts from Anthropic's Claude to OpenAI's GPT-6 Astra, allegedly to train newer Kimi and DeepSeek models. The claims rest on anonymous sources, and the report gives no volume or performance figures.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/29/",
      "card": "https://rubric.hrih.si/og/2026-11-02/29.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.625,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6317,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.63,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7433,
          "spread": 0.27
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.657,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6922,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.483,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.5375,
          "spread": 0.23
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.327,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4322,
          "spread": 0.293
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.5,
          "judge_a": 0.35,
          "judge_b": 0.42,
          "mean": 0.4233,
          "spread": 0.15
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.6,
          "judge_b": 0.95,
          "mean": 0.7933,
          "spread": 0.35
        },
        "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.3,
          "judge_b": 0.12,
          "mean": 0.2833,
          "spread": 0.31
        }
      }
    },
    {
      "rank": 30,
      "id": "st_20261102_10886",
      "title": "The Abandoned PR Page",
      "url": "https://aictrl.dev/blog/open-source-review-ai-era",
      "domain": "aictrl.dev",
      "site": "aictrl.dev",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-01T15:20:43.000Z",
      "jev": 0.7384,
      "judge_a": 0.6495,
      "judge_b": 0.6977,
      "score": 0.5951,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0.1,
      "score_rank": 26,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Analysis of 240,653 merged pull requests across 26 open-source repositories, from January 2024 to September 2026, finds that AI-era projects merge far more changes while human comments per pull request fall.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/30/",
      "card": "https://rubric.hrih.si/og/2026-11-02/30.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.718,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6792,
          "spread": 0.12
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.79,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8467,
          "spread": 0.11
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.777,
          "judge_a": 0.8,
          "judge_b": 0.72,
          "mean": 0.7656,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.848,
          "judge_a": 0.7,
          "judge_b": 0.74,
          "mean": 0.7625,
          "spread": 0.148
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.88,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.828,
          "judge_a": 0.6,
          "judge_b": 0.69,
          "mean": 0.7058,
          "spread": 0.228
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.9067,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.14,
          "judge_a": 0.25,
          "judge_b": 0.38,
          "mean": 0.2567,
          "spread": 0.24
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.32,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.2833,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 31,
      "id": "st_20261102_11001",
      "title": "Offline project memory for coding agents – no API key, no vector DB",
      "url": "https://github.com/krapcys1-maker/adaptive-agent-memory-research",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-01T17:57:27.000Z",
      "jev": 0.6219,
      "judge_a": 0.39,
      "judge_b": 0.7521,
      "score": 0.5879,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 27,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A Show HN post introduces an offline, dependency-free memory engine for coding agents that stores an append-only event log in the project repository and exposes eight MCP tools, with no API key, vector database, or daemon required.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/31/",
      "card": "https://rubric.hrih.si/og/2026-11-02/31.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.505,
          "judge_a": 0.3,
          "judge_b": 0.67,
          "mean": 0.4917,
          "spread": 0.37
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.55,
          "judge_b": 0.9,
          "mean": 0.6967,
          "spread": 0.35
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.587,
          "judge_a": 0.35,
          "judge_b": 0.52,
          "mean": 0.4856,
          "spread": 0.237
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.713,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.6808,
          "spread": 0.23
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.96,
          "judge_a": 0.45,
          "judge_b": 0.82,
          "mean": 0.7433,
          "spread": 0.51
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.958,
          "judge_a": 0.6,
          "judge_b": 0.91,
          "mean": 0.8225,
          "spread": 0.358
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.92,
          "judge_a": 0.7,
          "judge_b": 0.96,
          "mean": 0.86,
          "spread": 0.26
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.3,
          "judge_b": 0.04,
          "mean": 0.1367,
          "spread": 0.26
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1767,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 32,
      "id": "st_20261102_10773",
      "title": "Proving and Improving the Platonic Representation Hypothesis with JEPAs",
      "url": "https://arxiv.org/abs/2610.39302",
      "domain": "arxiv.org",
      "site": "arXiv",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-01T13:24:49.000Z",
      "jev": 0.5554,
      "judge_a": 0.5605,
      "judge_b": 0.7731,
      "score": 0.6297,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 16,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0422,
      "summary": "This paper argues that the Platonic Representation Hypothesis, the observation that separately trained vision and language models converge to similar representations, can be proven for Joint-Embedding Predictive Architectures.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/32/",
      "card": "https://rubric.hrih.si/og/2026-11-02/32.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.695,
          "judge_a": 0.62,
          "judge_b": 0.84,
          "mean": 0.7183,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.53,
          "judge_a": 0.72,
          "judge_b": 0.9,
          "mean": 0.7167,
          "spread": 0.37
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.573,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.5911,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.545,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.5883,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.947,
          "judge_a": 0.72,
          "judge_b": 0.84,
          "mean": 0.8356,
          "spread": 0.227
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.975,
          "judge_a": 0.82,
          "judge_b": 0.98,
          "mean": 0.925,
          "spread": 0.16
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.93,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.92,
          "spread": 0.13
        },
        "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.68,
          "judge_a": 0.55,
          "judge_b": 0.42,
          "mean": 0.55,
          "spread": 0.26
        }
      }
    },
    {
      "rank": 33,
      "id": "st_20261102_10777",
      "title": "Devloops – Adversarial agent loops so humans only make the key decision",
      "url": "https://github.com/fritzprix/devloops",
      "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-11-01T13:26:51.000Z",
      "jev": 0.659,
      "judge_a": 0.4077,
      "judge_b": 0.6895,
      "score": 0.5854,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 29,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Devloops is an open-source set of reusable skills for coding agents that splits maintenance into three adversarial loops: a producer files candidate issues, a worker implements approved ones as pull requests, and an independent gatekeeper reviews each PR. Humans only accept scope and perform merges.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/33/",
      "card": "https://rubric.hrih.si/og/2026-11-02/33.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.502,
          "judge_a": 0.28,
          "judge_b": 0.55,
          "mean": 0.4442,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.6767,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.593,
          "judge_a": 0.4,
          "judge_b": 0.52,
          "mean": 0.5044,
          "spread": 0.193
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.855,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7583,
          "spread": 0.255
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.79,
          "judge_a": 0.35,
          "judge_b": 0.78,
          "mean": 0.64,
          "spread": 0.44
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.97,
          "judge_a": 0.55,
          "judge_b": 0.74,
          "mean": 0.7533,
          "spread": 0.42
        },
        "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.09,
          "judge_a": 0.2,
          "judge_b": 0.05,
          "mean": 0.1133,
          "spread": 0.15
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.2133,
          "spread": 0.27
        }
      }
    },
    {
      "rank": 34,
      "id": "st_20261102_11065",
      "title": "What's going to happen to junior engineers?",
      "url": "https://www.seangoedecke.com/juniors-and-ai/",
      "domain": "seangoedecke.com",
      "site": "seangoedecke.com",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-01T18:50:18.000Z",
      "jev": 0.5207,
      "judge_a": 0.5843,
      "judge_b": 0.6431,
      "score": 0.5827,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 31,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Sean Goedecke argues in this essay that AI coding tools are squeezing the junior engineer market, which had already shrunk as hiring tilted toward senior engineers.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/34/",
      "card": "https://rubric.hrih.si/og/2026-11-02/34.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.543,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.5708,
          "spread": 0.078
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.63,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.75,
          "spread": 0.19
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.797,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.7922,
          "spread": 0.02
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.425,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.5483,
          "spread": 0.195
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.173,
          "judge_a": 0.3,
          "judge_b": 0.38,
          "mean": 0.2844,
          "spread": 0.207
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.385,
          "judge_a": 0.15,
          "judge_b": 0.3,
          "mean": 0.2783,
          "spread": 0.235
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.81,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.75,
          "spread": 0.24
        },
        "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.25,
          "judge_a": 0.35,
          "judge_b": 0.28,
          "mean": 0.2933,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 35,
      "id": "st_20261102_10593",
      "title": "What [67] MCP servers do at startup, with the internet cut off",
      "url": "https://mcp.brydge-ai.com/",
      "domain": "mcp.brydge-ai.com",
      "site": "mcp.brydge-ai.com",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-01T04:48:50.000Z",
      "jev": 0.5284,
      "judge_a": 0.511,
      "judge_b": 0.7041,
      "score": 0.5811,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 32,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A Show HN project measured 67 npm MCP servers at startup with no internet route and no tools called, then compared what each reached for and offered against its own README. Seven servers looked up websites their README never names, and 24 offered tools the README does not name.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/35/",
      "card": "https://rubric.hrih.si/og/2026-11-02/35.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.458,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.4925,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.53,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.6633,
          "spread": 0.33
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.453,
          "judge_a": 0.5,
          "judge_b": 0.45,
          "mean": 0.4678,
          "spread": 0.05
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.588,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6358,
          "spread": 0.132
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.917,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.7856,
          "spread": 0.317
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.77,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.73,
          "spread": 0.07
        },
        "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.07,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.05,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.35,
          "judge_b": 0.05,
          "mean": 0.2033,
          "spread": 0.3
        }
      }
    },
    {
      "rank": 36,
      "id": "st_20261102_10894",
      "title": "Scaling Agentic Coding as If People Still Mattered",
      "url": "https://adamtornhill.substack.com/p/scaling-agentic-coding-as-if-people",
      "domain": "adamtornhill.substack.com",
      "site": "adamtornhill.substack.com",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-01T15:12:22.000Z",
      "jev": 0.6135,
      "judge_a": 0.4625,
      "judge_b": 0.678,
      "score": 0.5846,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 30,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0048,
      "summary": "Adam Tornhill argues that running five or more AI coding agents in parallel, each in its own terminal, is a trend about to go mainstream and that it imposes hidden human costs.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/36/",
      "card": "https://rubric.hrih.si/og/2026-11-02/36.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.575,
          "judge_a": 0.35,
          "judge_b": 0.68,
          "mean": 0.535,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.67,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.7033,
          "spread": 0.24
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.947,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7756,
          "spread": 0.347
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.753,
          "judge_a": 0.6,
          "judge_b": 0.77,
          "mean": 0.7075,
          "spread": 0.17
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.313,
          "judge_a": 0.3,
          "judge_b": 0.48,
          "mean": 0.3644,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.408,
          "judge_a": 0.2,
          "judge_b": 0.32,
          "mean": 0.3092,
          "spread": 0.207
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.6,
          "judge_b": 0.75,
          "mean": 0.7267,
          "spread": 0.23
        },
        "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.47,
          "judge_a": 0.3,
          "judge_b": 0.42,
          "mean": 0.3967,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 37,
      "id": "st_20261102_10764",
      "title": "Modeljury – a jury of cheap LLMs that escalates the hard cases",
      "url": "https://github.com/YasserManss/modeljury",
      "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-11-01T12:58:26.000Z",
      "jev": 0.6524,
      "judge_a": 0.4019,
      "judge_b": 0.6628,
      "score": 0.5723,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 33,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Modeljury is a small Python library that convenes a panel of several language models on a decision, ships the verdict when they agree, and flags it for human review with the dissenting juror's reasoning when they don't.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/37/",
      "card": "https://rubric.hrih.si/og/2026-11-02/37.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.55,
          "judge_b": 0.82,
          "mean": 0.6867,
          "spread": 0.27
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.593,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5544,
          "spread": 0.17
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.893,
          "judge_a": 0.62,
          "judge_b": 0.78,
          "mean": 0.7642,
          "spread": 0.272
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.94,
          "judge_a": 0.55,
          "judge_b": 0.86,
          "mean": 0.7833,
          "spread": 0.39
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.77,
          "spread": 0.39
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.91,
          "spread": 0.09
        },
        "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.38,
          "judge_a": 0.4,
          "judge_b": 0.2,
          "mean": 0.3267,
          "spread": 0.2
        }
      }
    },
    {
      "rank": 38,
      "id": "st_20261102_10692",
      "title": "QwenPU: An LLM running inside another LLM's weights",
      "url": "https://huggingface.co/divagr1925/QwenPU",
      "domain": "huggingface.co",
      "site": "huggingface.co",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-01T10:15:39.000Z",
      "jev": 0.5618,
      "judge_a": 0.4135,
      "judge_b": 0.7321,
      "score": 0.5691,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 35,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "QwenPU, released by Divyansh Agrawal, compiles a 32-bit RISC-V CPU and a vector unit into the weights of Qwen3.5-4B, so that Karpathy's 260K-parameter stories model runs as a program inside the model's forward passes and produces the same output as plain C.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/38/",
      "card": "https://rubric.hrih.si/og/2026-11-02/38.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.52,
          "judge_a": 0.4,
          "judge_b": 0.66,
          "mean": 0.5267,
          "spread": 0.26
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.7333,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.49,
          "judge_a": 0.4,
          "judge_b": 0.47,
          "mean": 0.4533,
          "spread": 0.09
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.403,
          "judge_a": 0.25,
          "judge_b": 0.7,
          "mean": 0.4508,
          "spread": 0.45
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.97,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.8167,
          "spread": 0.37
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.938,
          "judge_a": 0.85,
          "judge_b": 0.96,
          "mean": 0.9158,
          "spread": 0.11
        },
        "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.06,
          "judge_a": 0.1,
          "judge_b": 0.04,
          "mean": 0.0667,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.24,
          "judge_a": 0.4,
          "judge_b": 0.08,
          "mean": 0.24,
          "spread": 0.32
        }
      }
    },
    {
      "rank": 39,
      "id": "st_20261102_10581",
      "title": "Why Sam Altman is against a single superintelligence",
      "url": "https://cheekypint.substack.com/p/why-sam-altman-is-against-a-single",
      "domain": "cheekypint.substack.com",
      "site": "cheekypint.substack.com",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-01T04:30:13.000Z",
      "jev": 0.5661,
      "judge_a": 0.4295,
      "judge_b": 0.705,
      "score": 0.5668,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 36,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "In a conversation with John Collison, OpenAI CEO Sam Altman discusses how AI models are increasingly able to find serious software vulnerabilities, including in PHP, and argues that this pushes the industry toward rearchitecting systems rather than only patching them.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/39/",
      "card": "https://rubric.hrih.si/og/2026-11-02/39.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.698,
          "judge_a": 0.45,
          "judge_b": 0.75,
          "mean": 0.6325,
          "spread": 0.3
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.67,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.75,
          "spread": 0.21
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.95,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.79,
          "spread": 0.35
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.608,
          "judge_a": 0.4,
          "judge_b": 0.68,
          "mean": 0.5625,
          "spread": 0.28
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.153,
          "judge_a": 0.25,
          "judge_b": 0.38,
          "mean": 0.2611,
          "spread": 0.227
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.533,
          "judge_a": 0.3,
          "judge_b": 0.58,
          "mean": 0.4708,
          "spread": 0.28
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.6967,
          "spread": 0.41
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.14,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.1533,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.76,
          "judge_a": 0.35,
          "judge_b": 0.22,
          "mean": 0.4433,
          "spread": 0.54
        }
      }
    },
    {
      "rank": 40,
      "id": "st_20261102_10866",
      "title": "GitHub Agentic Workflows generally available",
      "url": "https://github.blog/changelog/2026-10-28-github-agentic-workflows-generally-available/",
      "domain": "github.blog",
      "site": "The GitHub Blog",
      "categories": [
        "programming",
        "ai",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Infrastructure & DevOps"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-01T14:31:07.000Z",
      "jev": 0.6309,
      "judge_a": 0.4781,
      "judge_b": 0.5905,
      "score": 0.5665,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 37,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "GitHub has made GitHub Agentic Workflows, an open source project from GitHub Next, generally available. It lets teams define reasoning-based automation such as issue triage, CI failure analysis, and test writing in natural language Markdown, which compiles to standard GitHub Actions YAML.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/40/",
      "card": "https://rubric.hrih.si/og/2026-11-02/40.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.718,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6458,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.7,
          "judge_b": 0.85,
          "mean": 0.73,
          "spread": 0.21
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.573,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.6544,
          "spread": 0.147
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.89,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8367,
          "spread": 0.09
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.473,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.4978,
          "spread": 0.22
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.678,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.5692,
          "spread": 0.227
        },
        "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.26,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.5267,
          "spread": 0.46
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.55,
          "judge_b": 0.45,
          "mean": 0.4267,
          "spread": 0.27
        }
      }
    },
    {
      "rank": 41,
      "id": "st_20261102_10617",
      "title": "FineDNA: Open data to train LLMs on DNA",
      "url": "https://huggingface.co/datasets/HuggingFaceBio/FineDNA",
      "domain": "huggingface.co",
      "site": "huggingface.co",
      "categories": [
        "ai",
        "data"
      ],
      "category_names": [
        "AI & machine learning",
        "Data"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-01T07:13:15.000Z",
      "jev": 0.5223,
      "judge_a": 0.4043,
      "judge_b": 0.7685,
      "score": 0.565,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 38,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "FineDNA is the open training dataset behind Carbon-X, a Qwen3-14B model adapted to read DNA across mid-training, SFT and RL. It bundles DNA sequences from GENERator and OpenGenome2, biology web and paper text, English web text, and instruction data, with per-config weights that define the training recipe.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/41/",
      "card": "https://rubric.hrih.si/og/2026-11-02/41.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.595,
          "judge_a": 0.42,
          "judge_b": 0.72,
          "mean": 0.5783,
          "spread": 0.3
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.49,
          "judge_a": 0.4,
          "judge_b": 0.86,
          "mean": 0.5833,
          "spread": 0.46
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.483,
          "judge_a": 0.3,
          "judge_b": 0.58,
          "mean": 0.4544,
          "spread": 0.28
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.383,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.5375,
          "spread": 0.398
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.963,
          "judge_a": 0.7,
          "judge_b": 0.94,
          "mean": 0.8678,
          "spread": 0.263
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.985,
          "judge_a": 0.72,
          "judge_b": 0.91,
          "mean": 0.8717,
          "spread": 0.265
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.94,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.94,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.2,
          "judge_b": 0.04,
          "mean": 0.1067,
          "spread": 0.16
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.22,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.15,
          "spread": 0.14
        }
      }
    },
    {
      "rank": 42,
      "id": "st_20261102_10929",
      "title": "I Review 2k Lines of AI Generated Code",
      "url": "https://bytesizedbets.com/p/how-to-review-a-2000-line-ai-written",
      "domain": "bytesizedbets.com",
      "site": "bytesizedbets.com",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-01T16:30:21.000Z",
      "jev": 0.7581,
      "judge_a": 0.3885,
      "judge_b": 0.5245,
      "score": 0.557,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 42,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A review of a sponsored walkthrough of CodeRabbit Explain, a tool that restructures a 31-file, roughly 1,700-line AI-generated pull request into ordered layers with line-anchored summaries and history. The author argues that GitHub's alphabetical diff view hides intent and dependencies, and that reviewers need explainability, not just verdicts.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/42/",
      "card": "https://rubric.hrih.si/og/2026-11-02/42.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.668,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.5325,
          "spread": 0.318
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.78,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.72,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.797,
          "judge_a": 0.6,
          "judge_b": 0.55,
          "mean": 0.6489,
          "spread": 0.247
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.945,
          "judge_a": 0.65,
          "judge_b": 0.8,
          "mean": 0.7983,
          "spread": 0.295
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.55,
          "judge_b": 0.58,
          "mean": 0.6667,
          "spread": 0.32
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.935,
          "judge_a": 0.5,
          "judge_b": 0.68,
          "mean": 0.705,
          "spread": 0.435
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.82,
          "judge_a": 0.55,
          "judge_b": 0.88,
          "mean": 0.75,
          "spread": 0.33
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.13,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.4833,
          "spread": 0.59
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.35,
          "judge_b": 0.32,
          "mean": 0.2933,
          "spread": 0.14
        }
      }
    },
    {
      "rank": 43,
      "id": "st_20261102_10944",
      "title": "Revision Prompting: Diff your inputs for consistency and efficiency",
      "url": "https://revisionprompting.info/",
      "domain": "revisionprompting.info",
      "site": "revisionprompting.info",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-01T16:01:06.000Z",
      "jev": 0.6129,
      "judge_a": 0.429,
      "judge_b": 0.6167,
      "score": 0.5529,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 43,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Revision Prompting proposes a way to update LLM outputs after their inputs change: instead of re-running the full instruction, the model receives the original input, original output, and an input diff, and returns only an output patch.",
      "page": "https://rubric.hrih.si/editions/2026-11-02/43/",
      "card": "https://rubric.hrih.si/og/2026-11-02/43.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.57,
          "judge_a": 0.3,
          "judge_b": 0.52,
          "mean": 0.4633,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.6,
          "judge_a": 0.55,
          "judge_b": 0.74,
          "mean": 0.63,
          "spread": 0.19
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.653,
          "judge_a": 0.4,
          "judge_b": 0.68,
          "mean": 0.5778,
          "spread": 0.28
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.85,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7433,
          "spread": 0.25
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.34,
          "judge_a": 0.3,
          "judge_b": 0.48,
          "mean": 0.3733,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.793,
          "judge_a": 0.55,
          "judge_b": 0.55,
          "mean": 0.6308,
          "spread": 0.242
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.9,
          "mean": 0.9033,
          "spread": 0.01
        },
        "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.3,
          "judge_a": 0.35,
          "judge_b": 0.38,
          "mean": 0.3433,
          "spread": 0.08
        }
      }
    }
  ]
}
