{
  "edition": "2026-11-05",
  "name": "Rubric, edition of Thursday 5 November 2026",
  "url": "https://rubric.hrih.si/editions/2026-11-05/",
  "published_at": "2026-11-05T06: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-05: https://rubric.hrih.si/editions/2026-11-05/"
  },
  "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_20261105_15011",
      "title": "Xenbleed: Xen Guest to Dom0 Escape",
      "url": "https://codeant.ai/security-research/xenbleed-a-grant-copy-cache-bug-that-reaches-dom0-memory",
      "domain": "codeant.ai",
      "site": "codeant.ai",
      "categories": [
        "security",
        "devops"
      ],
      "category_names": [
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-04T22:42:08.000Z",
      "jev": 0.6333,
      "judge_a": 0.8053,
      "judge_b": 0.8504,
      "score": 0.763,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 1,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "CodeAnt AI researchers report a Xen grant-copy flaw, fixed in XSA-523 on November 3, that lets a guest with kernel-level control read and write dom0 memory. A batch cache reused locked domains after a failed grant lookup, skipping the check limiting direct frame numbers to the caller's own memory. They reproduced it on XenServer 9 and ran reversible code in dom0's kernel, on one pCPU and one kernel image. Xen lists no mitigation. Dates, severity scores and the 2015 origin come from CodeAnt alone.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/1/",
      "card": "https://rubric.hrih.si/og/2026-11-05/1.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.65,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.7833,
          "spread": 0.25
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.75,
          "judge_a": 0.93,
          "judge_b": 0.95,
          "mean": 0.8767,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.597,
          "judge_a": 0.8,
          "judge_b": 0.62,
          "mean": 0.6722,
          "spread": 0.203
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.595,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.765,
          "spread": 0.305
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.913,
          "judge_a": 0.85,
          "judge_b": 0.95,
          "mean": 0.9044,
          "spread": 0.1
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9592,
          "spread": 0.098
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.92,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.08,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.49,
          "judge_a": 0.2,
          "judge_b": 0.2,
          "mean": 0.2967,
          "spread": 0.29
        }
      }
    },
    {
      "rank": 2,
      "id": "st_20261105_14663",
      "title": "A new Go API for JSON",
      "url": "https://go.dev/blog/jsonv2",
      "domain": "go.dev",
      "site": "Go Blog",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-04T00:00:00.000Z",
      "jev": 0.7564,
      "judge_a": 0.7044,
      "judge_b": 0.7824,
      "score": 0.7476,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 2,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "The Go team announced that encoding/json/v2 and encoding/json/jsontext are stable in Go 1.27, a status the post itself doesn't source. v2 rejects invalid UTF-8 and duplicate member names, marshals nil slices and maps as empty values, and matches field names case-sensitively. Unmarshal is up to 10x faster than v1, while Marshal is roughly equal. Larger gains need the streaming MarshalJSONTo and UnmarshalJSONFrom methods; the Kubernetes speedup is unverified. v1 remains supported and runs on v2 options, so migration can be gradual.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/2/",
      "card": "https://rubric.hrih.si/og/2026-11-05/2.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.788,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6858,
          "spread": 0.237
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.78,
          "judge_b": 0.88,
          "mean": 0.79,
          "spread": 0.17
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.67,
          "judge_a": 0.67,
          "judge_b": 0.58,
          "mean": 0.64,
          "spread": 0.09
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.893,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8375,
          "spread": 0.092
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.78,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.8533,
          "spread": 0.15
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.888,
          "judge_a": 0.9,
          "judge_b": 0.88,
          "mean": 0.8892,
          "spread": 0.02
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.93,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.05,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.15,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1267,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 3,
      "id": "st_20261105_14654",
      "title": "Server closed the connection unexpectedly in Postgres",
      "url": "https://now-next.nl/en/insights/postgresql-server-closed-the-connection-unexpectedly/",
      "domain": "now-next.nl",
      "site": "Now-Next",
      "categories": [
        "programming",
        "devops",
        "data"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps",
        "Data"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-11-04T17:57:11.000Z",
      "jev": 0.7276,
      "judge_a": 0.6822,
      "judge_b": 0.8215,
      "score": 0.7437,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 3,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Now-Next's Chris van Eijk tested what PostgreSQL's \"server closed the connection unexpectedly\" message hides, using Docker images 13 to 18 and six client libraries. The sentence comes from libpq, not the server, and the server log is the main clue. In an autocommit loop with kill -9, 77 of 100 failed statements had in fact committed, so blind retries risk duplicates. pg_xact_status sometimes reported lost transactions as committed after a crash. Most figures are the author's own measurements and have no independent source.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/3/",
      "card": "https://rubric.hrih.si/og/2026-11-05/3.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.6,
          "judge_a": 0.35,
          "judge_b": 0.72,
          "mean": 0.5567,
          "spread": 0.37
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.8,
          "judge_b": 0.94,
          "mean": 0.81,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.583,
          "judge_a": 0.67,
          "judge_b": 0.55,
          "mean": 0.6011,
          "spread": 0.12
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.938,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8958,
          "spread": 0.088
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.9,
          "judge_b": 0.94,
          "mean": 0.94,
          "spread": 0.08
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.95,
          "judge_b": 0.98,
          "mean": 0.9758,
          "spread": 0.048
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.85,
          "judge_b": 0.99,
          "mean": 0.8933,
          "spread": 0.15
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.03,
          "judge_a": 0.03,
          "judge_b": 0.01,
          "mean": 0.0233,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.12,
          "judge_a": 0.12,
          "judge_b": 0.08,
          "mean": 0.1067,
          "spread": 0.04
        }
      }
    },
    {
      "rank": 4,
      "id": "st_20261105_14981",
      "title": "The PHP2Shell fix, two weeks on: what the PHP-src issue tracker shows",
      "url": "https://theainewsreport.com/2026-11-04-php2shell-fix-two-weeks-on-php-src-tracker.html",
      "domain": "theainewsreport.com",
      "site": "AI News Report",
      "categories": [
        "programming",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-04T22:12:41.000Z",
      "jev": 0.7236,
      "judge_a": 0.7351,
      "judge_b": 0.7725,
      "score": 0.7437,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 4,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "The PHP2Shell fix, shipped October 21 in PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35, makes memory_limit soft and adds a hard limit, by default 200% of it, that ends the process with exit 137. AI News Report found eight php-src issues naming the fix commit, four of them behavior regressions. In its test, a sprintf call that once gave a fatal error now exits 137; four fix PRs for that case were open. Several figures, including the commit size and the crash-queue statistics, could not be independently checked.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/4/",
      "card": "https://rubric.hrih.si/og/2026-11-05/4.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.653,
          "judge_a": 0.62,
          "judge_b": 0.72,
          "mean": 0.6642,
          "spread": 0.1
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.76,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8367,
          "spread": 0.14
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.637,
          "judge_a": 0.7,
          "judge_b": 0.56,
          "mean": 0.6322,
          "spread": 0.14
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.833,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.8042,
          "spread": 0.052
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.913,
          "judge_a": 0.85,
          "judge_b": 0.88,
          "mean": 0.8811,
          "spread": 0.063
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.85,
          "judge_b": 0.82,
          "mean": 0.8867,
          "spread": 0.17
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.82,
          "judge_b": 0.94,
          "mean": 0.8633,
          "spread": 0.12
        },
        "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.2,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.16,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 5,
      "id": "st_20261105_14219",
      "title": "Hibernate Lost My Update",
      "url": "https://bartoszosipiuk.pl/en/blog/hibernate-lost-my-update/",
      "domain": "bartoszosipiuk.pl",
      "site": "Bartosz Osipiuk",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-04T12:07:20.000Z",
      "jev": 0.7337,
      "judge_a": 0.7142,
      "judge_b": 0.7689,
      "score": 0.7389,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 5,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Bartosz Osipiuk traced missing updates after pod shutdown to Hibernate skipping the final flush when its session factory is already closed. If Spring's SIGTERM handling closes the factory while a slow transaction runs, the commit saves only changes already sent, such as outbox inserts, with no exception and only a TRACE log. His demo app reproduces it, and he proposes a guard that rolls such commits back. The figures, including a roughly 1.2 ms window, come from his own tests and could not be independently checked.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/5/",
      "card": "https://rubric.hrih.si/og/2026-11-05/5.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.593,
          "judge_a": 0.55,
          "judge_b": 0.68,
          "mean": 0.6075,
          "spread": 0.13
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.79,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.83,
          "spread": 0.11
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.59,
          "judge_a": 0.6,
          "judge_b": 0.42,
          "mean": 0.5367,
          "spread": 0.18
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.92,
          "judge_a": 0.85,
          "judge_b": 0.86,
          "mean": 0.8767,
          "spread": 0.07
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.9,
          "judge_b": 0.93,
          "mean": 0.9367,
          "spread": 0.08
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.95,
          "judge_b": 0.95,
          "mean": 0.9658,
          "spread": 0.048
        },
        "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.03,
          "judge_a": 0.02,
          "judge_b": 0.01,
          "mean": 0.02,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.2,
          "spread": 0.16
        }
      }
    },
    {
      "rank": 6,
      "id": "st_20261105_14923",
      "title": "Security Incident Post Mortem",
      "url": "https://www.gitbook.com/status/security-incident-2026-11-03",
      "domain": "gitbook.com",
      "site": "gitbook.com",
      "categories": [
        "security",
        "devops"
      ],
      "category_names": [
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-04T21:08:22.000Z",
      "jev": 0.7228,
      "judge_a": 0.6975,
      "judge_b": 0.7806,
      "score": 0.7336,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 6,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "GitBook's post mortem says an attacker used an SSO login flaw on 2 November 2026 to create staff sessions, then reached internal repositories, a Cloudflare API key and production secrets through a service account. GitBook disabled the accounts, which took the app offline for about 16 hours, and rotated all secrets. It treats all customer data as exposed, though activity appears aimed at one customer and no content changes were found. The AI-driven attack claim is GitBook's inference, and the details come only from GitBook, with no outside confirmation.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/6/",
      "card": "https://rubric.hrih.si/og/2026-11-05/6.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.698,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6925,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.84,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8633,
          "spread": 0.06
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.52,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6133,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.8533,
          "spread": 0.1
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.693,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.7844,
          "spread": 0.167
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.698,
          "judge_a": 0.7,
          "judge_b": 0.68,
          "mean": 0.6925,
          "spread": 0.02
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.7,
          "judge_b": 0.98,
          "mean": 0.84,
          "spread": 0.28
        },
        "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.28,
          "judge_a": 0.2,
          "judge_b": 0.38,
          "mean": 0.2867,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 7,
      "id": "st_20261105_13836",
      "title": "Revolut switched to GLM. We found hidden risks",
      "url": "https://www.hirundo.io/blog/glm-revolut",
      "domain": "hirundo.io",
      "site": "hirundo.io",
      "categories": [
        "programming",
        "ai",
        "security",
        "fintech"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security",
        "Fintech"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-11-04T00:57:52.000Z",
      "jev": 0.7574,
      "judge_a": 0.656,
      "judge_b": 0.7382,
      "score": 0.7171,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 9,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Hirundo, an AI security vendor, tested GLM 5.3 Flash, a smaller sibling of the model Revolut now uses for coding. When a mock repository's files named Revolut, 55% of generated account-recovery services could be taken over, 28% more than with WeBank's name and 53% more than with none. WeBank showed no significant difference from the baseline. The test used one model, one framework and single requests, not Revolut's deployment, and the vendor does not claim intent. Builders should test models inside their own repositories.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/7/",
      "card": "https://rubric.hrih.si/og/2026-11-05/7.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.743,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6708,
          "spread": 0.193
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.84,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8633,
          "spread": 0.06
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.71,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.6433,
          "spread": 0.11
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.818,
          "judge_a": 0.75,
          "judge_b": 0.78,
          "mean": 0.7825,
          "spread": 0.068
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.977,
          "judge_a": 0.7,
          "judge_b": 0.91,
          "mean": 0.8622,
          "spread": 0.277
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.75,
          "judge_b": 0.86,
          "mean": 0.8667,
          "spread": 0.24
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.9,
          "judge_b": 0.93,
          "mean": 0.8967,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.1,
          "judge_b": 0.12,
          "mean": 0.0967,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.36,
          "judge_a": 0.35,
          "judge_b": 0.3,
          "mean": 0.3367,
          "spread": 0.06
        }
      }
    },
    {
      "rank": 8,
      "id": "st_20261105_14745",
      "title": "PEP 723 – Inline script metadata",
      "url": "https://peps.python.org/pep-0723/",
      "domain": "peps.python.org",
      "site": "Python Enhancement Proposals (PEPs)",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Other",
      "depth": "claim_checked",
      "published_at": "2026-11-04T18:57:24.000Z",
      "jev": 0.6177,
      "judge_a": 0.7714,
      "judge_b": 0.7604,
      "score": 0.7165,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 10,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "PEP 723, now Final, standardizes how a single-file Python script declares its own metadata. A comment block opened with \"# /// script\" can hold dependencies (PEP 508 strings), a requires-python specifier and an optional [tool] table, all in TOML. It defines no runner, but lets tools such as Hatch read requirements without private formats. The Python Enhancement Proposals page says it was resolved on 8 January 2024. Tool support is stated as intent; the GitHub-uniqueness and tool-maintainer claims were not verified. Running untrusted scripts still means installing their dependencies.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/8/",
      "card": "https://rubric.hrih.si/og/2026-11-05/8.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.563,
          "judge_a": 0.72,
          "judge_b": 0.72,
          "mean": 0.6675,
          "spread": 0.157
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.49,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.69,
          "spread": 0.31
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.643,
          "judge_a": 0.75,
          "judge_b": 0.55,
          "mean": 0.6478,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.74,
          "judge_a": 0.82,
          "judge_b": 0.82,
          "mean": 0.7933,
          "spread": 0.08
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.763,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.8644,
          "spread": 0.217
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.978,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8658,
          "spread": 0.178
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.94,
          "mean": 0.9167,
          "spread": 0.04
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.02,
          "judge_b": 0.01,
          "mean": 0.0267,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.13,
          "judge_a": 0.1,
          "judge_b": 0.02,
          "mean": 0.0833,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 9,
      "id": "st_20261105_14776",
      "title": "NVIDIA CUDA 13.5 Brings NVIDIA Vera Rubin GA Support",
      "url": "https://developer.nvidia.com/blog/nvidia-cuda-13-5-brings-nvidia-vera-rubin-ga-support/",
      "domain": "developer.nvidia.com",
      "site": "NVIDIA Technical Blog",
      "categories": [
        "programming",
        "ai",
        "hardware"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Hardware & devices"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-04T18:46:07.000Z",
      "jev": 0.6805,
      "judge_a": 0.6795,
      "judge_b": 0.7927,
      "score": 0.7175,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 8,
      "topic_penalty": 0,
      "repeat_penalty": 0.0054,
      "summary": "NVIDIA's CUDA 13.5 moves Vera Rubin support to general availability and extends Windows on Arm to DGX Station. It adds finer GPU partitioning through locality domains and MPS v3 weighted timeslicing, multi-GPU communication inside CUDA Tile kernels, and a CUB batched Top-K aimed at LLM workloads. The post also lists cuBLAS and cuSPARSE speedups, such as up to 1.5x on B200 for FP64 symmetric updates. These figures are NVIDIA's own and come without sources, so teams should benchmark their workloads.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/9/",
      "card": "https://rubric.hrih.si/og/2026-11-05/9.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.718,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.6958,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.61,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.77,
          "spread": 0.29
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.557,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.5922,
          "spread": 0.063
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.84,
          "judge_a": 0.8,
          "judge_b": 0.84,
          "mean": 0.8267,
          "spread": 0.04
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.773,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8178,
          "spread": 0.107
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.953,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.9108,
          "spread": 0.103
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.9,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.1467,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.15,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.11,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 10,
      "id": "st_20261105_13998",
      "title": "SpecPilot: Autonomous Algorithm Discovery and Systems Optimization for SpecDec",
      "url": "https://arxiv.org/abs/2611.02501",
      "domain": "arxiv.org",
      "site": "arXiv",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-11-04T06:30:59.000Z",
      "jev": 0.6562,
      "judge_a": 0.6435,
      "judge_b": 0.8147,
      "score": 0.7047,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 13,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "SpecPilot, from researchers at Berkeley, Princeton, Stanford and NVIDIA, is an agentic loop that tunes speculative decoding for each deployment. A cost model locates the gap to a ceiling, parallel agents test fixes, and token forcing checks outputs against stock to catch lossy shortcuts. It found a lossless 12-bit weight format and tree verification for hybrid recurrent models. The authors report speedup over autoregressive decoding rising from 4.46x to 10.87x with one request, and 1.94x to 3.93x with batching. These figures are self-reported and have no independent source.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/10/",
      "card": "https://rubric.hrih.si/og/2026-11-05/10.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.708,
          "judge_a": 0.55,
          "judge_b": 0.8,
          "mean": 0.6858,
          "spread": 0.25
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.8,
          "judge_b": 0.93,
          "mean": 0.8033,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.62,
          "judge_a": 0.55,
          "judge_b": 0.65,
          "mean": 0.6067,
          "spread": 0.1
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.683,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7342,
          "spread": 0.137
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.95,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.87,
          "spread": 0.15
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.9592,
          "spread": 0.09
        },
        "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.07,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.0667,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.45,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.31,
          "spread": 0.27
        }
      }
    },
    {
      "rank": 11,
      "id": "st_20261105_14077",
      "title": "Flutter updates required to remediate the eMudhra certificate compromise",
      "url": "https://firebase.google.com/support/guides/compromised-emudhra-intermediate-ca",
      "domain": "firebase.google.com",
      "site": "Firebase",
      "categories": [
        "programming",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-04T09:01:13.000Z",
      "jev": 0.7525,
      "judge_a": 0.6494,
      "judge_b": 0.7633,
      "score": 0.7217,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 7,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "Google says the private keys for several intermediate CA certificates issued by eMudhra were compromised and revoked, and it found out on October 19, 2026. Flutter, Dart, Cloud Firestore SDKs (Apple, Flutter, Unity, C++) and the Firebase App Distribution Gradle plugin trust a compiled-in root bundle, so OS and browser blocklists don't protect them. Developers must upgrade (for example Dart 3.13.7, Flutter 3.47.8), rebuild, redeploy, and get users to update. Google says the backends were not affected; some claims are not independently verified.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/11/",
      "card": "https://rubric.hrih.si/og/2026-11-05/11.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.715,
          "judge_a": 0.62,
          "judge_b": 0.74,
          "mean": 0.6917,
          "spread": 0.12
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7467,
          "spread": 0.12
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.61,
          "judge_a": 0.67,
          "judge_b": 0.56,
          "mean": 0.6133,
          "spread": 0.11
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.99,
          "judge_a": 0.85,
          "judge_b": 0.94,
          "mean": 0.9267,
          "spread": 0.14
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.75,
          "judge_a": 0.8,
          "judge_b": 0.93,
          "mean": 0.8267,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.918,
          "judge_a": 0.6,
          "judge_b": 0.75,
          "mean": 0.7558,
          "spread": 0.318
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.8,
          "judge_a": 0.2,
          "judge_b": 0.38,
          "mean": 0.46,
          "spread": 0.6
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.0633,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.14,
          "judge_a": 0.15,
          "judge_b": 0.04,
          "mean": 0.11,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 12,
      "id": "st_20261105_14162",
      "title": "AMD Instinct MI350P First Look: 144GB HBM3E in a 600W PCIe Card",
      "url": "https://www.storagereview.com/review/amd-instinct-mi350p-first-look",
      "domain": "storagereview.com",
      "site": "StorageReview.com",
      "categories": [
        "ai",
        "hardware"
      ],
      "category_names": [
        "AI & machine learning",
        "Hardware & devices"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-11-04T11:12:46.000Z",
      "jev": 0.6382,
      "judge_a": 0.649,
      "judge_b": 0.8101,
      "score": 0.699,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 17,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "StorageReview's first look at AMD's Instinct MI350P, a dual-slot PCIe card with 144GB of HBM3E and 4TB/s of bandwidth, tested it at 450W against NVIDIA's RTX PRO 6000 (600W) and H200 NVL. On GPT-OSS-120B, one card reached 5,057 tokens per second at 128 streams on chat prompts, 65% ahead of the RTX card. Results on long prompts are mixed, and the two-card models ran on an older ROCm stack. The extra memory cuts card counts, but full-power results are still pending, and the claim check found most figures unsourced.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/12/",
      "card": "https://rubric.hrih.si/og/2026-11-05/12.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.683,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6542,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8133,
          "spread": 0.21
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.537,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.5789,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.638,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.7325,
          "spread": 0.223
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.843,
          "judge_a": 0.8,
          "judge_b": 0.91,
          "mean": 0.8511,
          "spread": 0.11
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.985,
          "judge_a": 0.85,
          "judge_b": 0.94,
          "mean": 0.925,
          "spread": 0.135
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.95,
          "judge_b": 0.98,
          "mean": 0.9367,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.0833,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.34,
          "judge_a": 0.2,
          "judge_b": 0.16,
          "mean": 0.2333,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 13,
      "id": "st_20261105_13845",
      "title": "Caching at Scale in Django: Lessons from Production",
      "url": "https://johnnymetz.com/posts/caching-at-scale-in-django/",
      "domain": "johnnymetz.com",
      "site": "Johnny Metz",
      "categories": [
        "programming",
        "devops",
        "data"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps",
        "Data"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-04T00:31:03.000Z",
      "jev": 0.751,
      "judge_a": 0.5685,
      "judge_b": 0.7861,
      "score": 0.7019,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 15,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "Johnny Metz describes how his team's multi-tenant Django API handled roughly 20x traffic growth through aggressive Redis caching. The main design caches permission-filtered document IDs per user and one shared base per document, so a write clears one key. Other practices: seven-day TTLs with signal-driven invalidation, fail-open Redis settings, and tests for invalidation. He reports halved database queries per second and a 97% hit rate. These figures are self-reported and unsourced.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/13/",
      "card": "https://rubric.hrih.si/og/2026-11-05/13.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.605,
          "judge_a": 0.3,
          "judge_b": 0.67,
          "mean": 0.525,
          "spread": 0.37
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.79,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7967,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.61,
          "judge_a": 0.5,
          "judge_b": 0.55,
          "mean": 0.5533,
          "spread": 0.11
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.96,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8867,
          "spread": 0.16
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.817,
          "judge_a": 0.5,
          "judge_b": 0.88,
          "mean": 0.7322,
          "spread": 0.38
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.995,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.8583,
          "spread": 0.215
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.8,
          "judge_b": 0.99,
          "mean": 0.8733,
          "spread": 0.19
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.03,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.03,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.15,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1433,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 14,
      "id": "st_20261105_14821",
      "title": "An AppArmor Stacking Incident Misdiagnosed as a Network Failure",
      "url": "https://e-whisper.com/posts/22711/",
      "domain": "e-whisper.com",
      "site": "E-Whisper",
      "categories": [
        "security",
        "devops",
        "it"
      ],
      "category_names": [
        "Security",
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-04T19:51:06.000Z",
      "jev": 0.6637,
      "judge_a": 0.5889,
      "judge_b": 0.7709,
      "score": 0.6744,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 32,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "After upgrading four Ubuntu 26.04 nodes to kernel 7.0.0-42, one operator (E-Whisper's east4ming) saw database pods crash-loop while applications reported \"no route to host.\" Tracing with perf, strace and bpftrace pointed to gosu spinning because AppArmor, using stacked labels, returned EPERM on in-container signals, mismatching containerd's CRI profile rules. Setting kernel.apparmor_restrict_unprivileged_unconfined=0 in a 90- sysctl file and recreating pods fixed it. The traces and experiments are the author's own and unverified; the kernel cause was not independently checked.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/14/",
      "card": "https://rubric.hrih.si/og/2026-11-05/14.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.53,
          "judge_a": 0.42,
          "judge_b": 0.68,
          "mean": 0.5433,
          "spread": 0.26
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.72,
          "judge_b": 0.86,
          "mean": 0.7667,
          "spread": 0.14
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.497,
          "judge_a": 0.42,
          "judge_b": 0.55,
          "mean": 0.4889,
          "spread": 0.13
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.773,
          "judge_a": 0.7,
          "judge_b": 0.84,
          "mean": 0.7708,
          "spread": 0.14
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.97,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8833,
          "spread": 0.17
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 1,
          "judge_a": 0.9,
          "judge_b": 0.91,
          "mean": 0.9367,
          "spread": 0.1
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.7,
          "judge_b": 0.98,
          "mean": 0.8467,
          "spread": 0.28
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.02,
          "judge_a": 0.03,
          "judge_b": 0.01,
          "mean": 0.02,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1633,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 15,
      "id": "st_20261105_14622",
      "title": "What even is code mode?",
      "url": "https://polylane.com/blog/what-even-is-code-mode/",
      "domain": "polylane.com",
      "site": "polylane.com",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-04T17:30:36.000Z",
      "jev": 0.735,
      "judge_a": 0.5796,
      "judge_b": 0.761,
      "score": 0.6918,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 21,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "Polylane describes \"code mode,\" where an agent gets one tool that runs model-written code and exposes its other tools as functions, so only the script's return value enters the context. Using its own 30-day logs, the company reports over 70% of tool calls run this way, a 14x reduction in tool output reaching the model, and a 98.8% script success rate. Scripts run in network-less Cloudflare isolates. These figures are self-reported and come from largely one model. Writes and binary data are still handled as direct calls.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/15/",
      "card": "https://rubric.hrih.si/og/2026-11-05/15.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.685,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.6183,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.79,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.83,
          "spread": 0.11
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.647,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.6789,
          "spread": 0.073
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.898,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8592,
          "spread": 0.097
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.913,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.8111,
          "spread": 0.213
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.85,
          "judge_b": 0.86,
          "mean": 0.8992,
          "spread": 0.138
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.45,
          "judge_b": 0.96,
          "mean": 0.7567,
          "spread": 0.51
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.2067,
          "spread": 0.26
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.34,
          "judge_a": 0.3,
          "judge_b": 0.28,
          "mean": 0.3067,
          "spread": 0.06
        }
      }
    },
    {
      "rank": 16,
      "id": "st_20261105_14049",
      "title": "Better Auth Critical Vulnerabilities",
      "url": "https://better-auth.com/blog/security-release-2026-11-03",
      "domain": "better-auth.com",
      "site": "Better Auth",
      "categories": [
        "programming",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-04T08:53:46.000Z",
      "jev": 0.7296,
      "judge_a": 0.6065,
      "judge_b": 0.7915,
      "score": 0.7091,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 11,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Better Auth released v1.7.16 and v1.8.0-beta.5 to fix 12 security advisories, one critical, three high, seven medium or lower by its own ratings. The critical flaw is in the Expo package, where the authorization proxy can sign values it did not issue. High-severity issues include unverified phone number claims and Electron sign-in returning the server secret and skipping two-factor. The project says Vercel applied WAF protections, a claim without independent confirmation. Teams should update every @better-auth package together and check plugin advisories for new configuration steps, such as trusted origins.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/16/",
      "card": "https://rubric.hrih.si/og/2026-11-05/16.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.683,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6342,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.84,
          "judge_a": 0.7,
          "judge_b": 0.95,
          "mean": 0.83,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.413,
          "judge_a": 0.5,
          "judge_b": 0.55,
          "mean": 0.4878,
          "spread": 0.137
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.983,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.9108,
          "spread": 0.133
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.77,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.7367,
          "spread": 0.24
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.618,
          "judge_a": 0.35,
          "judge_b": 0.48,
          "mean": 0.4825,
          "spread": 0.268
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.82,
          "judge_a": 0.7,
          "judge_b": 0.98,
          "mean": 0.8333,
          "spread": 0.28
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.1,
          "judge_b": 0.05,
          "mean": 0.0733,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.1033,
          "spread": 0.15
        }
      }
    },
    {
      "rank": 17,
      "id": "st_20261105_14363",
      "title": "Proofs are cheap now. Specs are next",
      "url": "https://www.genproof.com/blog/quickproof",
      "domain": "genproof.com",
      "site": "GenProof",
      "categories": [
        "programming",
        "ai",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-04T14:06:32.000Z",
      "jev": 0.701,
      "judge_a": 0.579,
      "judge_b": 0.8154,
      "score": 0.6985,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 18,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "GenProof's QuickProof lets developers write a C library's specification as a small C program with nondeterministic inputs, assumptions and assertions. The tool turns it into a Rocq theorem, AI agents prove it in the Verified Software Toolchain, and a checker confirms the statement is unchanged. GenProof reports more than 300 bugs across dozens of projects, including a Redis listpack incompatibility between 8.6 and 8.8, and a zstd bug. The Linux CVE, the proof-size comparison and the OSS-Verify critique are the company's own claims, not independently checked.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/17/",
      "card": "https://rubric.hrih.si/og/2026-11-05/17.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.695,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.6883,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.78,
          "judge_a": 0.85,
          "judge_b": 0.94,
          "mean": 0.8567,
          "spread": 0.16
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.727,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6822,
          "spread": 0.127
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.735,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7783,
          "spread": 0.2
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.72,
          "judge_b": 0.88,
          "mean": 0.8267,
          "spread": 0.16
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.85,
          "judge_b": 0.96,
          "mean": 0.9067,
          "spread": 0.11
        },
        "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.13,
          "judge_a": 0.45,
          "judge_b": 0.18,
          "mean": 0.2533,
          "spread": 0.32
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.31,
          "judge_a": 0.4,
          "judge_b": 0.22,
          "mean": 0.31,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 18,
      "id": "st_20261105_14399",
      "title": "Fencing a Postgres primary that might still be alive",
      "url": "https://clickhouse.com/blog/fencing-a-postgres-primary-that-might-still-be-alive",
      "domain": "clickhouse.com",
      "site": "ClickHouse",
      "categories": [
        "devops",
        "data"
      ],
      "category_names": [
        "Infrastructure & DevOps",
        "Data"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-04T14:50:56.000Z",
      "jev": 0.6308,
      "judge_a": 0.574,
      "judge_b": 0.7629,
      "score": 0.6558,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 42,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "ClickHouse describes how its managed Postgres, built on the open source Ubicloud control plane, fences a possibly live primary before promoting a standby. It runs several methods in parallel: stopping Postgres, locking pg_hba.conf, and cutting the network. On bare metal it downs a veth interface, on AWS it force-detaches a second NIC, and on GCP it deletes a Dynamic NIC. If every method fails, it promotes anyway, favoring availability. The GCP timings (0.7 to 2.5 seconds to last packet) are the authors' own measurements.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/18/",
      "card": "https://rubric.hrih.si/og/2026-11-05/18.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.528,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5492,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.7867,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.47,
          "judge_a": 0.5,
          "judge_b": 0.52,
          "mean": 0.4967,
          "spread": 0.05
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.725,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.715,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.867,
          "judge_a": 0.75,
          "judge_b": 0.91,
          "mean": 0.8422,
          "spread": 0.16
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.9,
          "judge_b": 0.9,
          "mean": 0.9325,
          "spread": 0.098
        },
        "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.06,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1133,
          "spread": 0.14
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.17,
          "judge_a": 0.15,
          "judge_b": 0.1,
          "mean": 0.14,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 19,
      "id": "st_20261105_14862",
      "title": "How Figma Manages Sandboxes at Scale",
      "url": "https://www.figma.com/blog/how-figma-manages-sandboxes-at-scale/",
      "domain": "figma.com",
      "site": "Figma",
      "categories": [
        "ai",
        "security",
        "devops"
      ],
      "category_names": [
        "AI & machine learning",
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-04T20:59:52.000Z",
      "jev": 0.607,
      "judge_a": 0.5875,
      "judge_b": 0.757,
      "score": 0.6504,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 45,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Figma describes Nimbus, an internal platform that manages sandboxes for AI-generated code across several cloud providers. Products request a sandbox through a configuration file, and Nimbus handles provider choice, network policy and health checks. Outside trusted hosts it allows only body-less read requests. Figma reports that warm pools cut provisioning latency by 90% and raised availability from 99% to 99.95%. These figures come from Figma itself, with no independent verification. The design lets teams swap providers without changing the product interface.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/19/",
      "card": "https://rubric.hrih.si/og/2026-11-05/19.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.593,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5708,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.7933,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.367,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.4822,
          "spread": 0.213
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.725,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7483,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.603,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6611,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.898,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8392,
          "spread": 0.097
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9067,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1167,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.1667,
          "spread": 0.08
        }
      }
    },
    {
      "rank": 20,
      "id": "st_20261105_14524",
      "title": "Kimi K3.1 Pro model weights are out",
      "url": "https://huggingface.co/moonshotai/Kimi-K3.1-Pro",
      "domain": "huggingface.co",
      "site": "huggingface.co",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-04T15:30:30.000Z",
      "jev": 0.6787,
      "judge_a": 0.7073,
      "judge_b": 0.6849,
      "score": 0.6902,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 22,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Moonshot AI released the weights for Kimi K3.1 Pro, a 2.8T-parameter mixture-of-experts model with 104B active parameters, a 1M-token context and MXFP4 quantization-aware training. It swaps K3's full-attention layers for sparse attention to cut long-context cost. Moonshot's own tables show leads on SWE Marathon (51.7) and HLE with tools (70.0), but trailing results on ProgramBench and the cybersecurity exploit tests. Its hallucination benchmark is internal, and none of the figures has been independently verified. The API is OpenAI-compatible, and vLLM and SGLang are supported.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/20/",
      "card": "https://rubric.hrih.si/og/2026-11-05/20.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.713,
          "judge_a": 0.72,
          "judge_b": 0.82,
          "mean": 0.7508,
          "spread": 0.107
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.63,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.8033,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.617,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.7456,
          "spread": 0.203
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.82,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.8,
          "spread": 0.04
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.967,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7622,
          "spread": 0.367
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.918,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7992,
          "spread": 0.218
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.9333,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.13,
          "judge_a": 0.2,
          "judge_b": 0.58,
          "mean": 0.3033,
          "spread": 0.45
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.29,
          "judge_a": 0.35,
          "judge_b": 0.42,
          "mean": 0.3533,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 21,
      "id": "st_20261105_14126",
      "title": "Rails security releases: 8.0.5.2 and 8.1.4.1",
      "url": "https://groups.google.com/g/rubyonrails-security/c/y4e4Quy4zeM/m/NSbt8rclCgAJ",
      "domain": "groups.google.com",
      "site": "Google Groups",
      "categories": [
        "programming",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-04T10:09:31.000Z",
      "jev": 0.7509,
      "judge_a": 0.7084,
      "judge_b": 0.6667,
      "score": 0.7087,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 12,
      "topic_penalty": 0.06,
      "repeat_penalty": 0,
      "summary": "The Rails core team released security updates 8.0.5.2 and 8.1.4.1, fixing 21 vulnerabilities, including a critical Active Storage image analysis flaw enabling arbitrary file write and read. Several others are high severity, covering Strong Parameters bypass, IP spoofing in RemoteIp, and remote code execution in Active Storage previews.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/21/",
      "card": "https://rubric.hrih.si/og/2026-11-05/21.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.695,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.6217,
          "spread": 0.145
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.75,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.7767,
          "spread": 0.05
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.583,
          "judge_a": 0.67,
          "judge_b": 0.42,
          "mean": 0.5578,
          "spread": 0.25
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.985,
          "judge_a": 0.9,
          "judge_b": 0.72,
          "mean": 0.8683,
          "spread": 0.265
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.913,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.8378,
          "spread": 0.213
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.625,
          "judge_a": 0.45,
          "judge_b": 0.38,
          "mean": 0.485,
          "spread": 0.245
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.9033,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.03,
          "judge_b": 0.04,
          "mean": 0.0467,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.1,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.0767,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 22,
      "id": "st_20261105_14568",
      "title": "vLLM Delivers Day-0 Support for Kimi K3.1 Pro",
      "url": "https://vllm.ai/blog/2026-11-04-kimi-k31-pro",
      "domain": "vllm.ai",
      "site": "vLLM Blog",
      "categories": [
        "programming",
        "ai",
        "devops",
        "hardware"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Infrastructure & DevOps",
        "Hardware & devices"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-04T00:00:00.000Z",
      "jev": 0.7298,
      "judge_a": 0.575,
      "judge_b": 0.8068,
      "score": 0.7039,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 14,
      "topic_penalty": 0.06,
      "repeat_penalty": 0.0143,
      "summary": "vLLM has added day-0 support for Moonshot AI's Kimi K3.1 Pro, a 2.8T-parameter open-weight multimodal MoE model with a 1M-token context. The main change is DSA sparse attention in its 24 full-attention layers, which cuts the memory reads per decode step at long context to roughly a quarter of dense…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/22/",
      "card": "https://rubric.hrih.si/og/2026-11-05/22.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.74,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.7033,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.8,
          "judge_a": 0.7,
          "judge_b": 0.95,
          "mean": 0.8167,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.557,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6256,
          "spread": 0.163
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.84,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.8067,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.863,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8544,
          "spread": 0.1
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.995,
          "judge_a": 0.92,
          "judge_b": 0.98,
          "mean": 0.965,
          "spread": 0.075
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.89,
          "spread": 0.14
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.2067,
          "spread": 0.26
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.3,
          "judge_b": 0.3,
          "mean": 0.2933,
          "spread": 0.02
        }
      }
    },
    {
      "rank": 23,
      "id": "st_20261105_14578",
      "title": "Parcel 3: 100x faster than v2",
      "url": "https://v3.parceljs.org/blog/v3-alpha/",
      "domain": "v3.parceljs.org",
      "site": "v3.parceljs.org",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-04T16:58:49.000Z",
      "jev": 0.6554,
      "judge_a": 0.634,
      "judge_b": 0.756,
      "score": 0.6818,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 27,
      "topic_penalty": 0.06,
      "repeat_penalty": 0,
      "summary": "Parcel 3 is an alpha release of the Parcel web bundler, rewritten from JavaScript into a self-contained Rust binary with no Node dependency. The team reports builds up to 100x faster than v2, with lower memory use, native plugin support in Rust, Go, Swift, and C, and an embedded QuickJS…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/23/",
      "card": "https://rubric.hrih.si/og/2026-11-05/23.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.748,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6892,
          "spread": 0.148
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.75,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8167,
          "spread": 0.15
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.54,
          "judge_a": 0.6,
          "judge_b": 0.67,
          "mean": 0.6033,
          "spread": 0.13
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.89,
          "judge_a": 0.75,
          "judge_b": 0.82,
          "mean": 0.82,
          "spread": 0.14
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.443,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.5878,
          "spread": 0.277
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.795,
          "judge_a": 0.7,
          "judge_b": 0.83,
          "mean": 0.775,
          "spread": 0.13
        },
        "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.12,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.1467,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.62,
          "judge_a": 0.3,
          "judge_b": 0.2,
          "mean": 0.3733,
          "spread": 0.42
        }
      }
    },
    {
      "rank": 24,
      "id": "st_20261105_14665",
      "title": "Upcoming change for eMudhra CA certificates included in the Chrome Root Store",
      "url": "https://groups.google.com/a/ccadb.org/g/public/c/DU8p98nyQWc/m/R33zS9UIBgAJ",
      "domain": "groups.google.com",
      "site": "Google Groups",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-11-04T17:48:48.000Z",
      "jev": 0.6828,
      "judge_a": 0.6649,
      "judge_b": 0.7502,
      "score": 0.6992,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 16,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Google's Chrome Root Program will stop trusting TLS server certificates chaining to eMudhra's emSign Root CA - G1 that were first logged after November 16, 2026, starting with Chrome 153, with a target date coinciding with Chrome 158 on November 17, 2026.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/24/",
      "card": "https://rubric.hrih.si/og/2026-11-05/24.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.703,
          "judge_a": 0.62,
          "judge_b": 0.74,
          "mean": 0.6875,
          "spread": 0.12
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.7833,
          "spread": 0.17
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.803,
          "judge_a": 0.6,
          "judge_b": 0.56,
          "mean": 0.6544,
          "spread": 0.243
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.708,
          "judge_a": 0.72,
          "judge_b": 0.72,
          "mean": 0.7158,
          "spread": 0.012
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.68,
          "judge_a": 0.78,
          "judge_b": 0.98,
          "mean": 0.8133,
          "spread": 0.3
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.728,
          "judge_a": 0.5,
          "judge_b": 0.55,
          "mean": 0.5925,
          "spread": 0.228
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.82,
          "judge_a": 0.45,
          "judge_b": 0.93,
          "mean": 0.7333,
          "spread": 0.48
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.02,
          "judge_b": 0.01,
          "mean": 0.04,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.1033,
          "spread": 0.15
        }
      }
    },
    {
      "rank": 25,
      "id": "st_20261105_14258",
      "title": "Man-in-the-middle arbitrary code execution in Debian’s apt",
      "url": "https://lists.debian.org/debian-security-announce/2026/msg00526.html",
      "domain": "lists.debian.org",
      "site": "lists.debian.org",
      "categories": [
        "security",
        "devops",
        "it"
      ],
      "category_names": [
        "Security",
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-11-04T12:46:58.000Z",
      "jev": 0.61,
      "judge_a": 0.6519,
      "judge_b": 0.8176,
      "score": 0.6931,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 20,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Debian's security advisory DSA-6607-1, published by Salvatore Bonaccorso, reports CVE-2026-109518 in APT, the package manager. Max Justicz found that after an HTTP redirect, APT can merge two different downloads sharing a URI, and improper resume handling lets a man-in-the-middle swap a package after verification, enabling arbitrary code execution as root.…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/25/",
      "card": "https://rubric.hrih.si/og/2026-11-05/25.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.695,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6583,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.55,
          "judge_a": 0.7,
          "judge_b": 0.93,
          "mean": 0.7267,
          "spread": 0.38
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.643,
          "judge_a": 0.67,
          "judge_b": 0.65,
          "mean": 0.6544,
          "spread": 0.027
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.678,
          "judge_a": 0.85,
          "judge_b": 0.87,
          "mean": 0.7992,
          "spread": 0.193
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.647,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.7156,
          "spread": 0.3
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.638,
          "judge_a": 0.4,
          "judge_b": 0.5,
          "mean": 0.5125,
          "spread": 0.237
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.9033,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.03,
          "judge_b": 0.01,
          "mean": 0.0367,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.1,
          "judge_b": 0.04,
          "mean": 0.13,
          "spread": 0.21
        }
      }
    },
    {
      "rank": 26,
      "id": "st_20261105_14588",
      "title": "First Silicon, real chip bugs that AI models miss",
      "url": "https://umwelt.vision/first-silicon/",
      "domain": "umwelt.vision",
      "site": "Umwelt",
      "categories": [
        "ai",
        "hardware"
      ],
      "category_names": [
        "AI & machine learning",
        "Hardware & devices"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T16:50:41.000Z",
      "jev": 0.6147,
      "judge_a": 0.4535,
      "judge_b": 0.7678,
      "score": 0.612,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 71,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Researchers built First Silicon, a benchmark of 86 real bug fixes from open-source chip designs (mostly OpenTitan), to test whether frontier AI models can write formal assertions that catch hardware bugs without false alarms.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/26/",
      "card": "https://rubric.hrih.si/og/2026-11-05/26.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.585,
          "judge_a": 0.4,
          "judge_b": 0.78,
          "mean": 0.5883,
          "spread": 0.38
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.6,
          "judge_b": 0.93,
          "mean": 0.75,
          "spread": 0.33
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.577,
          "judge_a": 0.3,
          "judge_b": 0.48,
          "mean": 0.4522,
          "spread": 0.277
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.555,
          "judge_a": 0.4,
          "judge_b": 0.7,
          "mean": 0.5517,
          "spread": 0.3
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.977,
          "judge_a": 0.8,
          "judge_b": 0.94,
          "mean": 0.9056,
          "spread": 0.177
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.928,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8925,
          "spread": 0.078
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.82,
          "judge_a": 0.85,
          "judge_b": 1,
          "mean": 0.89,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.3,
          "judge_a": 0.2,
          "judge_b": 0.04,
          "mean": 0.18,
          "spread": 0.26
        }
      }
    },
    {
      "rank": 27,
      "id": "st_20261105_14358",
      "title": "Nvidia Study: AI Agents Rarely Need Long Context Windows",
      "url": "https://i10x.ai/news/nvidia-long-context-compaction-agents-study",
      "domain": "i10x.ai",
      "site": "i10X News",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:17:09.000Z",
      "jev": 0.6749,
      "judge_a": 0.6246,
      "judge_b": 0.766,
      "score": 0.6885,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 24,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A NVIDIA preprint by Peter Belcak, Pavlo Molchanov and colleagues, \"You don't need long context,\" tests whether AI agents can work with short, compacted contexts.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/27/",
      "card": "https://rubric.hrih.si/og/2026-11-05/27.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.705,
          "judge_a": 0.55,
          "judge_b": 0.74,
          "mean": 0.665,
          "spread": 0.19
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.8,
          "judge_b": 0.91,
          "mean": 0.8167,
          "spread": 0.17
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.8,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7267,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.873,
          "judge_a": 0.72,
          "judge_b": 0.84,
          "mean": 0.8108,
          "spread": 0.153
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.773,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7178,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.82,
          "judge_a": 0.68,
          "judge_b": 0.78,
          "mean": 0.76,
          "spread": 0.14
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.8733,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.15,
          "judge_a": 0.12,
          "judge_b": 0.08,
          "mean": 0.1167,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.69,
          "judge_a": 0.3,
          "judge_b": 0.42,
          "mean": 0.47,
          "spread": 0.39
        }
      }
    },
    {
      "rank": 28,
      "id": "st_20261105_13992",
      "title": "Mistral Large 4 on AlphaXiv",
      "url": "https://www.alphaxiv.org/abs/2611.mistral-large-4",
      "domain": "alphaxiv.org",
      "site": "alphaXiv",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T06:57:06.000Z",
      "jev": 0.653,
      "judge_a": 0.5695,
      "judge_b": 0.833,
      "score": 0.6851,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 25,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Mistral Large 4's authors report that memory-saving attention choices kept language-modeling loss roughly comparable but lowered SWE-bench Verified scores, so they restored long-context attention and then reintroduced sparsity via DeepSeek Sparse Attention. The paper's evidence comes from controlled-scale ablations, and the agentic gain is not attributed to the sparse stage.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/28/",
      "card": "https://rubric.hrih.si/og/2026-11-05/28.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.703,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.6775,
          "spread": 0.23
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.7,
          "judge_b": 0.91,
          "mean": 0.7633,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.583,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6544,
          "spread": 0.197
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.648,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.6725,
          "spread": 0.27
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.767,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.7489,
          "spread": 0.28
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.92,
          "judge_a": 0.8,
          "judge_b": 0.93,
          "mean": 0.8833,
          "spread": 0.13
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.78,
          "judge_a": 0.85,
          "judge_b": 0.94,
          "mean": 0.8567,
          "spread": 0.16
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.15,
          "judge_b": 0.03,
          "mean": 0.0833,
          "spread": 0.12
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.25,
          "judge_b": 0.04,
          "mean": 0.16,
          "spread": 0.21
        }
      }
    },
    {
      "rank": 29,
      "id": "st_20261105_14523",
      "title": "Letting users trust their own MCP clients, without opening a phishing hole",
      "url": "https://streamvessel.com/blog/mcp-trusted-redirect-uris",
      "domain": "streamvessel.com",
      "site": "Stream Vessel",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T15:30:57.000Z",
      "jev": 0.7481,
      "judge_a": 0.545,
      "judge_b": 0.7574,
      "score": 0.6835,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 26,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Stream Vessel's Alexander Loginov describes a problem with MCP OAuth: self-registered clients need redirect URIs to work, but open registration lets attackers send authorization codes to their own servers via a one-click phishing link.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/29/",
      "card": "https://rubric.hrih.si/og/2026-11-05/29.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.64,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5867,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.81,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.7967,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.58,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.5533,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.963,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.8542,
          "spread": 0.263
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.8067,
          "spread": 0.16
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.85,
          "judge_b": 0.82,
          "mean": 0.8833,
          "spread": 0.16
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.8,
          "judge_b": 0.84,
          "mean": 0.8367,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.25,
          "judge_b": 0.16,
          "mean": 0.1567,
          "spread": 0.19
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.19,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 30,
      "id": "st_20261105_14935",
      "title": "Serving GLM-5.3-Flash on one Trainium2 box with NKI layer megakernels",
      "url": "https://runanywhere.ai/blog/glm-5-3-flash-trainium2-nki-megakernels",
      "domain": "runanywhere.ai",
      "site": "runanywhere.ai",
      "categories": [
        "programming",
        "ai",
        "devops",
        "hardware"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Infrastructure & DevOps",
        "Hardware & devices"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T21:52:18.000Z",
      "jev": 0.6287,
      "judge_a": 0.5992,
      "judge_b": 0.8135,
      "score": 0.6805,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 28,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A team serving GLM-5.3-Flash, a 320-billion-parameter mixture-of-experts model with a million-token context, on a single AWS trn2.48xlarge box reports results on SemiAnalysis's AgentX benchmark, which mimics real coding-agent sessions.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/30/",
      "card": "https://rubric.hrih.si/og/2026-11-05/30.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.6,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.61,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.82,
          "judge_b": 0.9,
          "mean": 0.82,
          "spread": 0.16
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.423,
          "judge_a": 0.4,
          "judge_b": 0.6,
          "mean": 0.4744,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.615,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6783,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.973,
          "judge_a": 0.85,
          "judge_b": 0.92,
          "mean": 0.9144,
          "spread": 0.123
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.95,
          "judge_b": 0.98,
          "mean": 0.9758,
          "spread": 0.048
        },
        "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.06,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.0633,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.26,
          "judge_a": 0.2,
          "judge_b": 0.04,
          "mean": 0.1667,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 31,
      "id": "st_20261105_14236",
      "title": "Mental Models, Conventions, and Expectations in UX Design: The Expectation Economy",
      "url": "https://jakobnielsenphd.substack.com/p/user-expectations",
      "domain": "jakobnielsenphd.substack.com",
      "site": "Jakob Nielsen (UX Tigers)",
      "categories": [
        "ai",
        "product",
        "design"
      ],
      "category_names": [
        "AI & machine learning",
        "Product",
        "Design & UX"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T12:21:34.000Z",
      "jev": 0.6761,
      "judge_a": 0.4855,
      "judge_b": 0.639,
      "score": 0.6001,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 84,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "This article argues that users judge new interfaces against expectations formed by thousands of others, so designers should honor familiar conventions unless a deviation delivers a substantial gain. It frames this as an \"expectation economy,\" illustrated through seven principles from psychology and design, including Jakob's Law and mental models.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/31/",
      "card": "https://rubric.hrih.si/og/2026-11-05/31.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.648,
          "judge_a": 0.35,
          "judge_b": 0.55,
          "mean": 0.5158,
          "spread": 0.298
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.57,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.65,
          "spread": 0.21
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.913,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.7111,
          "spread": 0.413
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.883,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7875,
          "spread": 0.183
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.61,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.61,
          "spread": 0.02
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.575,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.5017,
          "spread": 0.23
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.93,
          "judge_a": 0.4,
          "judge_b": 0.94,
          "mean": 0.7567,
          "spread": 0.54
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.0833,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.3,
          "judge_a": 0.2,
          "judge_b": 0.48,
          "mean": 0.3267,
          "spread": 0.28
        }
      }
    },
    {
      "rank": 32,
      "id": "st_20261105_13987",
      "title": "Multi-Token Prediction Done Right",
      "url": "https://arxiv.org/abs/2610.38331",
      "domain": "arxiv.org",
      "site": "arXiv",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T06:46:01.000Z",
      "jev": 0.6188,
      "judge_a": 0.6067,
      "judge_b": 0.8135,
      "score": 0.6797,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 29,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The paper introduces Soft-MTP, a one-line change to multi-token prediction training that removes a noisy residual from the cross-entropy gradient and keeps only the KL self-distillation signal pulling MTP heads toward the model's next-token distribution. Using a \"KL gradient-recovery\" trick with straight-through routing, it avoids materializing vocabulary-sized logits.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/32/",
      "card": "https://rubric.hrih.si/og/2026-11-05/32.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.665,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.665,
          "spread": 0.23
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.65,
          "judge_a": 0.72,
          "judge_b": 0.92,
          "mean": 0.7633,
          "spread": 0.27
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.593,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6044,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.648,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6892,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.973,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8911,
          "spread": 0.173
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9567,
          "spread": 0.09
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.9033,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.05,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.53,
          "judge_a": 0.25,
          "judge_b": 0.22,
          "mean": 0.3333,
          "spread": 0.31
        }
      }
    },
    {
      "rank": 33,
      "id": "st_20261105_14052",
      "title": "Ideas for Testing Randomized Algorithms",
      "url": "https://timvieira.github.io/testing-randomized-algorithms/",
      "domain": "timvieira.github.io",
      "site": "timvieira.github.io",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T08:57:20.000Z",
      "jev": 0.6479,
      "judge_a": 0.573,
      "judge_b": 0.8164,
      "score": 0.679,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 30,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "This post walks through testing a small randomized algorithm, AWRS (a rejection-sampling method for properly weighted conditional samples from Lipkin et al., 2025), using four Python variants that differ by a line or two, only some of which are correct.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/33/",
      "card": "https://rubric.hrih.si/og/2026-11-05/33.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.523,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.5642,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.63,
          "judge_a": 0.7,
          "judge_b": 0.93,
          "mean": 0.7533,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.57,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.5067,
          "spread": 0.17
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.76,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.7467,
          "spread": 0.28
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.973,
          "judge_a": 0.8,
          "judge_b": 0.91,
          "mean": 0.8944,
          "spread": 0.173
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.9,
          "judge_b": 0.97,
          "mean": 0.9558,
          "spread": 0.098
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.8933,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.0333,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.17,
          "judge_a": 0.15,
          "judge_b": 0.04,
          "mean": 0.12,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 34,
      "id": "st_20261105_14019",
      "title": "OpenVDDK – Independent Virtual Disk Library",
      "url": "https://openvddk.com/",
      "domain": "openvddk.com",
      "site": "openvddk.com",
      "categories": [
        "devops",
        "it"
      ],
      "category_names": [
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T07:50:07.000Z",
      "jev": 0.6365,
      "judge_a": 0.5075,
      "judge_b": 0.7112,
      "score": 0.6183,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 69,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "OpenVDDK is an open-source, Apache 2.0 library written from scratch as a drop-in replacement for VMware's libvixDiskLib.so.8.0.3, the disk library used by VMware backup and migration tools. Its author, the OpenVDDK project, says it uses only public documentation and black-box testing.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/34/",
      "card": "https://rubric.hrih.si/og/2026-11-05/34.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.598,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5725,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.75,
          "spread": 0.17
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.427,
          "judge_a": 0.5,
          "judge_b": 0.42,
          "mean": 0.4489,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.775,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7517,
          "spread": 0.08
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.953,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.8044,
          "spread": 0.353
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8892,
          "spread": 0.188
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.8967,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.2133,
          "spread": 0.24
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.31,
          "judge_a": 0.3,
          "judge_b": 0.12,
          "mean": 0.2433,
          "spread": 0.19
        }
      }
    },
    {
      "rank": 35,
      "id": "st_20261105_14062",
      "title": "Learnings from Auditing Public Evaluations",
      "url": "https://www.primeintellect.ai/blog/auditing-public-evaluations",
      "domain": "primeintellect.ai",
      "site": "primeintellect.ai",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T08:31:44.000Z",
      "jev": 0.6674,
      "judge_a": 0.6015,
      "judge_b": 0.7568,
      "score": 0.6752,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 31,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Researchers from Prime Intellect audited three popular LLM benchmarks (AutomationBench, OfficeQA Pro v2, and HLE-Diamond) and found grading bugs, ambiguous tasks, and web-based answer leakage that distort reported scores. They replaced prose tool schemas with JSON Schema, swapped brittle regex grading for a judge model, and removed web access.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/35/",
      "card": "https://rubric.hrih.si/og/2026-11-05/35.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.655,
          "judge_a": 0.45,
          "judge_b": 0.76,
          "mean": 0.6217,
          "spread": 0.31
        },
        "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.66,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.6533,
          "spread": 0.1
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.688,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7225,
          "spread": 0.093
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.847,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.8022,
          "spread": 0.16
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.888,
          "judge_a": 0.75,
          "judge_b": 0.84,
          "mean": 0.8258,
          "spread": 0.137
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.8967,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.1367,
          "spread": 0.1
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.3,
          "judge_b": 0.2,
          "mean": 0.23,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 36,
      "id": "st_20261105_14032",
      "title": "Pulling the right strings for RCE on a Puppet",
      "url": "https://neodyme.io/en/blog/puppet_rce",
      "domain": "neodyme.io",
      "site": "neodyme.io",
      "categories": [
        "security",
        "devops",
        "it"
      ],
      "category_names": [
        "Security",
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T07:39:20.000Z",
      "jev": 0.5997,
      "judge_a": 0.654,
      "judge_b": 0.7636,
      "score": 0.6724,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 33,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A red-team write-up details two critical (CVSS 9+) vulnerabilities in Puppet, one enabling remote code execution on the Puppet Server via a deserialization flaw in the report endpoint, reachable by any agent holding a client certificate, which is often easy to obtain where autosign is enabled.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/36/",
      "card": "https://rubric.hrih.si/og/2026-11-05/36.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.603,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.6575,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.7967,
          "spread": 0.26
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.477,
          "judge_a": 0.5,
          "judge_b": 0.52,
          "mean": 0.4989,
          "spread": 0.043
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.658,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7258,
          "spread": 0.162
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.843,
          "judge_a": 0.85,
          "judge_b": 0.88,
          "mean": 0.8578,
          "spread": 0.037
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.9,
          "judge_b": 0.95,
          "mean": 0.9467,
          "spread": 0.09
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.93,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.1367,
          "spread": 0.1
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.36,
          "judge_a": 0.2,
          "judge_b": 0.2,
          "mean": 0.2533,
          "spread": 0.16
        }
      }
    },
    {
      "rank": 37,
      "id": "st_20261105_13777",
      "title": "Hinted Scaling Laws",
      "url": "https://arxiv.org/abs/2611.02270",
      "domain": "arxiv.org",
      "site": "arXiv",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T00:00:11.000Z",
      "jev": 0.6111,
      "judge_a": 0.5905,
      "judge_b": 0.8123,
      "score": 0.6713,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 34,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Hinted scaling laws address a flaw in downstream accuracy forecasting: small models score near zero on hard benchmarks, leaving no trend to extrapolate. Bailey, Kuditipudi, Ye, Band and colleagues at Stanford hint benchmarks with privileged information, such as partial worked solutions, to create easier variants where small models score above…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/37/",
      "card": "https://rubric.hrih.si/og/2026-11-05/37.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.655,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.6617,
          "spread": 0.23
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.58,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7267,
          "spread": 0.32
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.683,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6344,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.578,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6525,
          "spread": 0.203
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.973,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8844,
          "spread": 0.173
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.945,
          "judge_a": 0.85,
          "judge_b": 0.95,
          "mean": 0.915,
          "spread": 0.1
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.9267,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.04,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.38,
          "judge_a": 0.35,
          "judge_b": 0.12,
          "mean": 0.2833,
          "spread": 0.26
        }
      }
    },
    {
      "rank": 38,
      "id": "st_20261105_14558",
      "title": "LZ4 v1.11.0: multithreading in the library, speed gains for small data",
      "url": "https://github.com/lz4/lz4/releases/tag/v1.11.0",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T16:04:45.000Z",
      "jev": 0.6911,
      "judge_a": 0.645,
      "judge_b": 0.6739,
      "score": 0.67,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 35,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "LZ4 v1.11.0 adds multithreaded compression directly to the liblz4 library, enabled by setting a single new field, LZ4F_preferences_t.nbWorkers, and producing output that is identical regardless of thread count. Benchmarks from the LZ4 project report near-linear speedups with more workers, plus faster small-block and dictionary compression.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/38/",
      "card": "https://rubric.hrih.si/og/2026-11-05/38.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.668,
          "judge_a": 0.55,
          "judge_b": 0.58,
          "mean": 0.5992,
          "spread": 0.117
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.65,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.71,
          "spread": 0.13
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.557,
          "judge_a": 0.5,
          "judge_b": 0.42,
          "mean": 0.4922,
          "spread": 0.137
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.87,
          "judge_a": 0.75,
          "judge_b": 0.72,
          "mean": 0.78,
          "spread": 0.15
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.943,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8978,
          "spread": 0.093
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.963,
          "judge_a": 0.9,
          "judge_b": 0.88,
          "mean": 0.9142,
          "spread": 0.083
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.92,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.05,
          "judge_b": 0.08,
          "mean": 0.0667,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.2,
          "judge_b": 0.04,
          "mean": 0.1633,
          "spread": 0.21
        }
      }
    },
    {
      "rank": 39,
      "id": "st_20261105_14361",
      "title": "Amazon Kiro proves properties of its own harness in Lean",
      "url": "https://kiro.dev/blog/harness-properties-in-lean/",
      "domain": "kiro.dev",
      "site": "Kiro",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:06:25.000Z",
      "jev": 0.644,
      "judge_a": 0.5675,
      "judge_b": 0.7964,
      "score": 0.6692,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 36,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Amazon's Kiro team reports using its own coding agent, with Claude Opus 5.5 and Lean 4 skills, to model 26 functions in its agent harness and prove properties about them in Lean. Of 96 candidate properties, Lean proved 70, and 18 were falsified and reproduced against the unmodified code.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/39/",
      "card": "https://rubric.hrih.si/og/2026-11-05/39.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.633,
          "judge_a": 0.55,
          "judge_b": 0.76,
          "mean": 0.6475,
          "spread": 0.21
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.78,
          "judge_a": 0.8,
          "judge_b": 0.92,
          "mean": 0.8333,
          "spread": 0.14
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.417,
          "judge_a": 0.5,
          "judge_b": 0.63,
          "mean": 0.5156,
          "spread": 0.213
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.683,
          "judge_a": 0.6,
          "judge_b": 0.79,
          "mean": 0.6908,
          "spread": 0.19
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.923,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8744,
          "spread": 0.123
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.9,
          "judge_b": 0.94,
          "mean": 0.94,
          "spread": 0.08
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.9067,
          "spread": 0.16
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.35,
          "judge_b": 0.06,
          "mean": 0.16,
          "spread": 0.29
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.35,
          "judge_a": 0.3,
          "judge_b": 0.1,
          "mean": 0.25,
          "spread": 0.25
        }
      }
    },
    {
      "rank": 40,
      "id": "st_20261105_14464",
      "title": "You don't need long context",
      "url": "https://arxiv.org/abs/2611.05306",
      "domain": "arxiv.org",
      "site": "arXiv",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T15:12:35.000Z",
      "jev": 0.6925,
      "judge_a": 0.635,
      "judge_b": 0.7418,
      "score": 0.6897,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 23,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0223,
      "summary": "The paper \"You don't need long context\" (Muralidharan et al., NVIDIA) argues that because later tokens cost up to 7x more to generate on frontier open-weight models, keeping contexts short through frequent compaction can preserve task accuracy on long-horizon and long-input tasks.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/40/",
      "card": "https://rubric.hrih.si/og/2026-11-05/40.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.715,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6983,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.73,
          "judge_a": 0.75,
          "judge_b": 0.91,
          "mean": 0.7967,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.807,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7289,
          "spread": 0.207
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.793,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7708,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.95,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.81,
          "spread": 0.25
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.963,
          "judge_a": 0.75,
          "judge_b": 0.9,
          "mean": 0.8708,
          "spread": 0.213
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.9,
          "judge_b": 0.93,
          "mean": 0.8933,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.05,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.63,
          "judge_a": 0.4,
          "judge_b": 0.84,
          "mean": 0.6233,
          "spread": 0.44
        }
      }
    },
    {
      "rank": 41,
      "id": "st_20261105_14315",
      "title": "MCP vs. API vs. CLI: How should AI agents connect to your app?",
      "url": "https://wasp.sh/blog/2026/11/03/mcp-vs-api-vs-cli-connect-ai-agents-to-your-app",
      "domain": "wasp.sh",
      "site": "Wasp",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T13:51:48.000Z",
      "jev": 0.7504,
      "judge_a": 0.6111,
      "judge_b": 0.6388,
      "score": 0.6667,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 37,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The article argues that MCP deserves most of a developer's attention when making a web app agent-friendly, because it standardizes both server and client behavior, covering login, permissions, tool instructions, discoverability, and human confirmation.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/41/",
      "card": "https://rubric.hrih.si/og/2026-11-05/41.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.653,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5575,
          "spread": 0.252
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.76,
          "judge_a": 0.8,
          "judge_b": 0.8,
          "mean": 0.7867,
          "spread": 0.04
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.72,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.7033,
          "spread": 0.05
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.98,
          "judge_a": 0.85,
          "judge_b": 0.88,
          "mean": 0.9033,
          "spread": 0.13
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.7567,
          "spread": 0.15
        },
        "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.83,
          "judge_a": 0.55,
          "judge_b": 0.9,
          "mean": 0.76,
          "spread": 0.35
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.25,
          "judge_b": 0.3,
          "mean": 0.2133,
          "spread": 0.21
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.27,
          "judge_a": 0.2,
          "judge_b": 0.62,
          "mean": 0.3633,
          "spread": 0.42
        }
      }
    },
    {
      "rank": 42,
      "id": "st_20261105_14599",
      "title": "Postman Caught Installing AI Plugins Without Developer Consent",
      "url": "https://dev.ua/en/news/postman-1793785667",
      "domain": "dev.ua",
      "site": "dev.ua",
      "categories": [
        "programming",
        "ai",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T16:38:25.000Z",
      "jev": 0.6636,
      "judge_a": 0.6201,
      "judge_b": 0.7131,
      "score": 0.6655,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 38,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Postman's desktop app (version 12.33.4 on macOS) was reported to have silently installed its plugin into Claude Code and OpenAI Codex, editing the Codex config file, generating its own trust approvals, and linking an unauthenticated remote MCP server, which caused errors in the assistant.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/42/",
      "card": "https://rubric.hrih.si/og/2026-11-05/42.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.668,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6292,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.8,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8333,
          "spread": 0.1
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.61,
          "judge_a": 0.67,
          "judge_b": 0.67,
          "mean": 0.65,
          "spread": 0.06
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.8,
          "judge_a": 0.75,
          "judge_b": 0.82,
          "mean": 0.79,
          "spread": 0.07
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.437,
          "judge_a": 0.55,
          "judge_b": 0.58,
          "mean": 0.5222,
          "spread": 0.143
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.738,
          "judge_a": 0.5,
          "judge_b": 0.52,
          "mean": 0.5858,
          "spread": 0.238
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.78,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.72,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0567,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.37,
          "judge_a": 0.3,
          "judge_b": 0.45,
          "mean": 0.3733,
          "spread": 0.15
        }
      }
    },
    {
      "rank": 43,
      "id": "st_20261105_14227",
      "title": "Google DeepMind open-sources AlphaEvolve",
      "url": "https://github.com/google-deepmind/alphaevolve",
      "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-04T12:10:20.000Z",
      "jev": 0.5168,
      "judge_a": 0.6538,
      "judge_b": 0.8251,
      "score": 0.6652,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 39,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Google DeepMind has released the code and data behind AlphaEvolve, its LLM-driven program search system, in a public repository. It includes a minimal local implementation, the optimisation code behind a new upper bound on the matrix multiplication exponent, verification notebooks for mathematical results, and tensor decomposition notebooks.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/43/",
      "card": "https://rubric.hrih.si/og/2026-11-05/43.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.668,
          "judge_a": 0.72,
          "judge_b": 0.9,
          "mean": 0.7625,
          "spread": 0.233
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.53,
          "judge_a": 0.85,
          "judge_b": 0.95,
          "mean": 0.7767,
          "spread": 0.42
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.527,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6156,
          "spread": 0.193
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.41,
          "judge_a": 0.55,
          "judge_b": 0.7,
          "mean": 0.5533,
          "spread": 0.29
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.753,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.7778,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.745,
          "judge_a": 0.65,
          "judge_b": 0.9,
          "mean": 0.765,
          "spread": 0.25
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.99,
          "mean": 0.8967,
          "spread": 0.19
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.13,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.1033,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.32,
          "judge_a": 0.25,
          "judge_b": 0.08,
          "mean": 0.2167,
          "spread": 0.24
        }
      }
    },
    {
      "rank": 44,
      "id": "st_20261105_14656",
      "title": "This Month in Ladybird – October 2026",
      "url": "https://ladybird.org/newsletter/2026-10-31/",
      "domain": "ladybird.org",
      "site": "ladybird.org",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T17:59:35.000Z",
      "jev": 0.6362,
      "judge_a": 0.5317,
      "judge_b": 0.8165,
      "score": 0.6614,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 41,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Ladybird, an open-source browser funded by sponsors, reported its October 2026 progress: style and layout now run off the main thread so CSS animations and :hover keep working during long JavaScript execution, plus a new speculative JavaScript JIT, a rewritten WebAssembly engine, a redesigned UI, and passing Safari Technology Preview…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/44/",
      "card": "https://rubric.hrih.si/og/2026-11-05/44.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.69,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.6867,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.72,
          "judge_b": 0.94,
          "mean": 0.7833,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.57,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.63,
          "spread": 0.15
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.595,
          "judge_a": 0.4,
          "judge_b": 0.78,
          "mean": 0.5917,
          "spread": 0.38
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.907,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.8289,
          "spread": 0.207
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.768,
          "judge_a": 0.7,
          "judge_b": 0.91,
          "mean": 0.7925,
          "spread": 0.21
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.92,
          "judge_a": 0.95,
          "judge_b": 0.98,
          "mean": 0.95,
          "spread": 0.06
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.11,
          "spread": 0.15
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.31,
          "judge_a": 0.3,
          "judge_b": 0.12,
          "mean": 0.2433,
          "spread": 0.19
        }
      }
    },
    {
      "rank": 45,
      "id": "st_20261105_14913",
      "title": "Reverse Engineering a Children's Camera and Making It Run Doom",
      "url": "https://spodesabode.com/articles/reverse-engineering-a-childrens-camera/",
      "domain": "spodesabode.com",
      "site": "Spode’s Abode",
      "categories": [
        "programming",
        "hardware"
      ],
      "category_names": [
        "Programming & dev tools",
        "Hardware & devices"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-04T21:12:17.000Z",
      "jev": 0.5454,
      "judge_a": 0.5575,
      "judge_b": 0.6379,
      "score": 0.5803,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 101,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "A developer reverse-engineered the firmware of a cheap undocumented children's camera (HX3302B SoC) by dumping its flash chip, disassembling it in Ghidra, and using EXIF metadata as a memory-dump channel.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/45/",
      "card": "https://rubric.hrih.si/og/2026-11-05/45.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.483,
          "judge_a": 0.3,
          "judge_b": 0.45,
          "mean": 0.4108,
          "spread": 0.183
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.9,
          "judge_b": 0.9,
          "mean": 0.8067,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.413,
          "judge_a": 0.5,
          "judge_b": 0.28,
          "mean": 0.3978,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.507,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4925,
          "spread": 0.27
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.943,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8744,
          "spread": 0.143
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.963,
          "judge_a": 0.9,
          "judge_b": 0.92,
          "mean": 0.9275,
          "spread": 0.063
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.93,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.05,
          "judge_b": 0.04,
          "mean": 0.0433,
          "spread": 0.01
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.27,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.15,
          "spread": 0.19
        }
      }
    },
    {
      "rank": 46,
      "id": "st_20261105_14972",
      "title": "valkey-io/valkey 9.2.0-rc2",
      "url": "https://github.com/valkey-io/valkey/releases/tag/9.2.0-rc2",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "devops",
        "data"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps",
        "Data"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T21:42:29.000Z",
      "jev": 0.6431,
      "judge_a": 0.4668,
      "judge_b": 0.6311,
      "score": 0.5803,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 102,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Valkey 9.2.0-rc2, the second release candidate of the open-source Redis fork, adds a DELEX command for conditional string deletion, Zstd streaming compression for RDB persistence and replication, and forkless full synchronization to replicas. It also includes many performance optimizations and bug fixes, with upgrade urgency rated low.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/46/",
      "card": "https://rubric.hrih.si/og/2026-11-05/46.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.64,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.53,
          "spread": 0.24
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.55,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5567,
          "spread": 0.32
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.53,
          "judge_a": 0.4,
          "judge_b": 0.38,
          "mean": 0.4367,
          "spread": 0.15
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.79,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.6533,
          "spread": 0.24
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.803,
          "judge_a": 0.6,
          "judge_b": 0.96,
          "mean": 0.7878,
          "spread": 0.36
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.798,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7392,
          "spread": 0.22
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.03,
          "judge_b": 0.04,
          "mean": 0.04,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.08,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0533,
          "spread": 0.05
        }
      }
    },
    {
      "rank": 47,
      "id": "st_20261105_14742",
      "title": "Synod – A clustered database where every node can read and write",
      "url": "https://synoddb.com/",
      "domain": "synoddb.com",
      "site": "synoddb.com",
      "categories": [
        "programming",
        "devops",
        "data"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps",
        "Data"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:53:45.000Z",
      "jev": 0.5939,
      "judge_a": 0.499,
      "judge_b": 0.644,
      "score": 0.579,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 106,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Synod is a closed-source prototype that lets up to eight PostgreSQL writers share the same tables and one copy of the data, similar to Oracle RAC. When a writer fails, the others evict it without a central coordinator, and the test results report no acknowledged transactions lost or duplicated.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/47/",
      "card": "https://rubric.hrih.si/og/2026-11-05/47.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.635,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6717,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.75,
          "judge_b": 0.9,
          "mean": 0.7867,
          "spread": 0.19
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.443,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.5211,
          "spread": 0.177
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.67,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.68,
          "spread": 0.27
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.873,
          "judge_a": 0.45,
          "judge_b": 0.8,
          "mean": 0.7078,
          "spread": 0.423
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.96,
          "judge_a": 0.8,
          "judge_b": 0.91,
          "mean": 0.89,
          "spread": 0.16
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.92,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.9167,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.15,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.3667,
          "spread": 0.4
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.52,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.5467,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 48,
      "id": "st_20261105_14292",
      "title": "Block training, keep answers? What 13,938 sites ask of AI bots",
      "url": "https://trakis.io/research/block-training-keep-answers",
      "domain": "trakis.io",
      "site": "Trakis",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T13:16:29.000Z",
      "jev": 0.6891,
      "judge_a": 0.525,
      "judge_b": 0.7717,
      "score": 0.6619,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 40,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0071,
      "summary": "Trakis analysed Common Crawl's September 2026 copies of robots.txt files for 13,938 readable sites and found that 17.1% of sites blocking OpenAI's GPTBot also block its ChatGPT search crawler, OAI-SearchBot.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/48/",
      "card": "https://rubric.hrih.si/og/2026-11-05/48.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.593,
          "judge_a": 0.4,
          "judge_b": 0.7,
          "mean": 0.5642,
          "spread": 0.3
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.7633,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.657,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6256,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.81,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.73,
          "spread": 0.21
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.997,
          "judge_a": 0.8,
          "judge_b": 0.97,
          "mean": 0.9222,
          "spread": 0.197
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.965,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.795,
          "spread": 0.365
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.75,
          "judge_a": 0.8,
          "judge_b": 0.65,
          "mean": 0.7333,
          "spread": 0.15
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.2,
          "judge_b": 0.03,
          "mean": 0.0933,
          "spread": 0.17
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.2,
          "judge_b": 0.06,
          "mean": 0.17,
          "spread": 0.19
        }
      }
    },
    {
      "rank": 49,
      "id": "st_20261105_14617",
      "title": "How software engineering is changing at Framer",
      "url": "https://kurtextrem.de/posts/engineering-at-framer",
      "domain": "kurtextrem.de",
      "site": "kurtextrem.de",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T17:24:54.000Z",
      "jev": 0.6739,
      "judge_a": 0.6095,
      "judge_b": 0.6798,
      "score": 0.6544,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 43,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Framer's engineering team describes how it moved from doubling PR output with AI to adding automated agent PR reviews and auto-approvals, finding that writing code got cheaper while review became the bottleneck. The author, Kurt Extrem, also notes that small, auto-approvable PRs have changed how engineers structure their changes.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/49/",
      "card": "https://rubric.hrih.si/og/2026-11-05/49.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.673,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5808,
          "spread": 0.222
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.8,
          "judge_b": 0.84,
          "mean": 0.7833,
          "spread": 0.13
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.647,
          "judge_a": 0.7,
          "judge_b": 0.7,
          "mean": 0.6822,
          "spread": 0.053
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.84,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.8067,
          "spread": 0.06
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.42,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.5133,
          "spread": 0.2
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.76,
          "judge_a": 0.55,
          "judge_b": 0.58,
          "mean": 0.63,
          "spread": 0.21
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.6,
          "judge_b": 0.94,
          "mean": 0.81,
          "spread": 0.34
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1067,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.25,
          "judge_b": 0.38,
          "mean": 0.2933,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 50,
      "id": "st_20261105_14332",
      "title": "Google says a certified partner turned 1.3M Android TV boxes into a botnet",
      "url": "https://thenextweb.com/news/google-videostrong-xcpe-botnet-android-tv-boxes",
      "domain": "thenextweb.com",
      "site": "The Next Web",
      "categories": [
        "security",
        "it",
        "hardware"
      ],
      "category_names": [
        "Security",
        "IT & networking",
        "Hardware & devices"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T13:22:06.000Z",
      "jev": 0.6297,
      "judge_a": 0.698,
      "judge_b": 0.7589,
      "score": 0.6955,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 19,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0429,
      "summary": "Google says Videostrong Technology, a certified Android TV box maker in Shenzhen, built a backdoor called x.cpe into devices that turned over 1.3 million boxes into the XCPE botnet, which it sold to criminal affiliates for proxy networks and ad fraud.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/50/",
      "card": "https://rubric.hrih.si/og/2026-11-05/50.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.69,
          "judge_a": 0.62,
          "judge_b": 0.82,
          "mean": 0.71,
          "spread": 0.2
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.77,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.85,
          "spread": 0.16
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.47,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.62,
          "spread": 0.25
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.605,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.695,
          "spread": 0.175
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.71,
          "judge_a": 0.72,
          "judge_b": 0.82,
          "mean": 0.75,
          "spread": 0.11
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.7,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.5933,
          "spread": 0.2
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.69,
          "judge_a": 0.9,
          "judge_b": 0.08,
          "mean": 0.5567,
          "spread": 0.82
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.03,
          "judge_b": 0.03,
          "mean": 0.0433,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.2,
          "judge_a": 0.12,
          "judge_b": 0.12,
          "mean": 0.1467,
          "spread": 0.08
        }
      }
    },
    {
      "rank": 51,
      "id": "st_20261105_14716",
      "title": "Bump Maps Need Units",
      "url": "https://ben3d.ca/blog/bump-maps-need-units",
      "domain": "ben3d.ca",
      "site": "Ben Houston's Website",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:06:56.000Z",
      "jev": 0.6187,
      "judge_a": 0.569,
      "judge_b": 0.7683,
      "score": 0.652,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 44,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "This essay argues that bump map strength should be a physical length, not an unitless multiplier. It proposes treating a bump map as a height displacement measured in a declared space (world or object), with the strength parameter given as a length.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/51/",
      "card": "https://rubric.hrih.si/og/2026-11-05/51.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.595,
          "judge_a": 0.35,
          "judge_b": 0.68,
          "mean": 0.5417,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.52,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.6933,
          "spread": 0.34
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.533,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.5378,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.725,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7483,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.8,
          "judge_b": 0.91,
          "mean": 0.8733,
          "spread": 0.11
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.9,
          "judge_b": 0.97,
          "mean": 0.9558,
          "spread": 0.098
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.5,
          "judge_b": 0.98,
          "mean": 0.7933,
          "spread": 0.48
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.0333,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.15,
          "judge_b": 0.14,
          "mean": 0.16,
          "spread": 0.05
        }
      }
    },
    {
      "rank": 52,
      "id": "st_20261105_14287",
      "title": "TokenEconomizer: Cut coding-agent token costs 18-31%",
      "url": "https://github.com/microsoft/TokenEconomizer",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T13:05:15.000Z",
      "jev": 0.6921,
      "judge_a": 0.4585,
      "judge_b": 0.7997,
      "score": 0.65,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 46,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "TokenEconomizer, a plugin from Aaron J. Li and colleagues at UC Berkeley, Microsoft Research and Microsoft Security, cuts coding-agent costs by learning from a repository's past sessions. It stores repeated facts, removes unused tools, and redirects stuck turns.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/52/",
      "card": "https://rubric.hrih.si/og/2026-11-05/52.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.578,
          "judge_a": 0.35,
          "judge_b": 0.72,
          "mean": 0.5492,
          "spread": 0.37
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.7267,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.6,
          "judge_a": 0.5,
          "judge_b": 0.66,
          "mean": 0.5867,
          "spread": 0.16
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.928,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.8358,
          "spread": 0.228
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.977,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.8256,
          "spread": 0.377
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.85,
          "spread": 0.29
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.9233,
          "spread": 0.11
        },
        "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.28,
          "judge_a": 0.4,
          "judge_b": 0.08,
          "mean": 0.2533,
          "spread": 0.32
        }
      }
    },
    {
      "rank": 53,
      "id": "st_20261105_14954",
      "title": "Anthropic's FlashProve proves which model wrote a reply, and its 72x cost",
      "url": "https://theainewsreport.com/2026-11-04-anthropic-flashprove-provable-inference-explained.html",
      "domain": "theainewsreport.com",
      "site": "AI News Report",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T21:31:36.000Z",
      "jev": 0.6222,
      "judge_a": 0.566,
      "judge_b": 0.7591,
      "score": 0.649,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 47,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Anthropic released FlashProve, an open-source prototype under Apache 2.0 that uses a zero-knowledge proof to let anyone verify that a reply came from a specific committed model without seeing its weights.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/53/",
      "card": "https://rubric.hrih.si/og/2026-11-05/53.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.608,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6258,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.8,
          "judge_b": 0.92,
          "mean": 0.82,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.6,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.59,
          "spread": 0.07
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.558,
          "judge_a": 0.4,
          "judge_b": 0.68,
          "mean": 0.5458,
          "spread": 0.28
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.823,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.7611,
          "spread": 0.26
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.815,
          "judge_a": 0.7,
          "judge_b": 0.75,
          "mean": 0.755,
          "spread": 0.115
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.8933,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.1,
          "judge_b": 0.02,
          "mean": 0.07,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.22,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1667,
          "spread": 0.14
        }
      }
    },
    {
      "rank": 54,
      "id": "st_20261105_14463",
      "title": "AI agents can persuade other AI agents to approve decisions they should reject",
      "url": "https://www.cooperativeai.com/seminars/inter-agent-influence-ai-agents-capabilities-for-persuading-deceiving-and-coercing-each-other",
      "domain": "cooperativeai.com",
      "site": "cooperativeai.com",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T15:13:57.000Z",
      "jev": 0.6183,
      "judge_a": 0.582,
      "judge_b": 0.721,
      "score": 0.6404,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 49,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A new study by Chandler Smith and Qi Guo of the Cooperative AI Foundation finds that frontier AI agents can persuade, deceive, or coerce other AI agents into outcomes they would otherwise reject. In oversight tests, every model tested shifted policy-violating requests from rejection to approval.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/54/",
      "card": "https://rubric.hrih.si/og/2026-11-05/54.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.71,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.66,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.65,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.75,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.827,
          "judge_a": 0.6,
          "judge_b": 0.67,
          "mean": 0.6989,
          "spread": 0.227
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.583,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.6208,
          "spread": 0.098
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.537,
          "judge_a": 0.6,
          "judge_b": 0.58,
          "mean": 0.5722,
          "spread": 0.063
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.505,
          "judge_a": 0.5,
          "judge_b": 0.55,
          "mean": 0.5183,
          "spread": 0.05
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.81,
          "judge_a": 0.8,
          "judge_b": 0.93,
          "mean": 0.8467,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0633,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.26,
          "judge_a": 0.25,
          "judge_b": 0.18,
          "mean": 0.23,
          "spread": 0.08
        }
      }
    },
    {
      "rank": 55,
      "id": "st_20261105_14225",
      "title": "Planted 3 backdoors in my code; the agent swarm found 27, half noise",
      "url": "https://github.com/VictorAboba/DreamTeam/blob/master/docs/en/audits/2026-11-self-audit.md",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-04T12:02:48.000Z",
      "jev": 0.7028,
      "judge_a": 0.4175,
      "judge_b": 0.7915,
      "score": 0.6372,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 50,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A Show HN post describes a self-audit of the DreamTeam agent-swarm project: the author planted three backdoors in a copy of the code, and the swarm found all three but also produced many noisy or overrated findings.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/55/",
      "card": "https://rubric.hrih.si/og/2026-11-05/55.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.585,
          "judge_a": 0.3,
          "judge_b": 0.72,
          "mean": 0.535,
          "spread": 0.42
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.81,
          "judge_a": 0.55,
          "judge_b": 0.9,
          "mean": 0.7533,
          "spread": 0.35
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.497,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4889,
          "spread": 0.27
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.838,
          "judge_a": 0.5,
          "judge_b": 0.83,
          "mean": 0.7225,
          "spread": 0.338
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.95,
          "judge_a": 0.7,
          "judge_b": 0.94,
          "mean": 0.8633,
          "spread": 0.25
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.8558,
          "spread": 0.288
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.82,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8567,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.2,
          "judge_b": 0.03,
          "mean": 0.09,
          "spread": 0.17
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.25,
          "judge_b": 0.08,
          "mean": 0.1933,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 56,
      "id": "st_20261105_14144",
      "title": "We review every PR with a 27B model on self-hosted infra",
      "url": "https://varoa.net/2026/11/03/we-review-every-pr-with-a-27b-model-on-self-hosted-infra.html",
      "domain": "varoa.net",
      "site": "Galo Navarro",
      "categories": [
        "programming",
        "ai",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Infrastructure & DevOps"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T10:39:33.000Z",
      "jev": 0.6294,
      "judge_a": 0.52,
      "judge_b": 0.7574,
      "score": 0.6356,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 51,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A platform engineering team describes an automated code review system that now covers every pull request in their main project. Reviews are produced by a self-hosted Qwen 27B model served via vLLM on spare GPUs, with fallback to hosted providers like Anthropic.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/56/",
      "card": "https://rubric.hrih.si/og/2026-11-05/56.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.58,
          "judge_a": 0.35,
          "judge_b": 0.68,
          "mean": 0.5367,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.78,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.543,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.6144,
          "spread": 0.157
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.768,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7625,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.67,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.6667,
          "spread": 0.23
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.798,
          "judge_a": 0.7,
          "judge_b": 0.8,
          "mean": 0.7658,
          "spread": 0.1
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.8,
          "judge_b": 0.96,
          "mean": 0.8667,
          "spread": 0.16
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.25,
          "judge_b": 0.12,
          "mean": 0.16,
          "spread": 0.14
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.33,
          "judge_a": 0.3,
          "judge_b": 0.14,
          "mean": 0.2567,
          "spread": 0.19
        }
      }
    },
    {
      "rank": 57,
      "id": "st_20261105_14213",
      "title": "Dolibarr, GLPI, PrestaShop: fifteen years of database schema, release by release",
      "url": "https://blog.mcdview.dev/en/dolibarr-glpi-prestashop-fifteen-years-of-schema/",
      "domain": "blog.mcdview.dev",
      "site": "blog.mcdview.dev",
      "categories": [
        "programming",
        "data"
      ],
      "category_names": [
        "Programming & dev tools",
        "Data"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T12:14:40.000Z",
      "jev": 0.5996,
      "judge_a": 0.4395,
      "judge_b": 0.686,
      "score": 0.575,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 111,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "An analysis of the database schemas of three French-born open-source projects, Dolibarr, GLPI and PrestaShop, reconstructed from their SQL install files at 70 release tags between 2009 and 2026.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/57/",
      "card": "https://rubric.hrih.si/og/2026-11-05/57.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.478,
          "judge_a": 0.3,
          "judge_b": 0.58,
          "mean": 0.4525,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.57,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.6467,
          "spread": 0.27
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.543,
          "judge_a": 0.3,
          "judge_b": 0.5,
          "mean": 0.4478,
          "spread": 0.243
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.715,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6617,
          "spread": 0.17
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.983,
          "judge_a": 0.75,
          "judge_b": 0.88,
          "mean": 0.8711,
          "spread": 0.233
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.95,
          "judge_a": 0.7,
          "judge_b": 0.76,
          "mean": 0.8033,
          "spread": 0.25
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.91,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.15,
          "judge_b": 0.04,
          "mean": 0.0767,
          "spread": 0.11
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.23,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.1833,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 58,
      "id": "st_20261105_13865",
      "title": "TimeScore Weighted Scoring Algorithm",
      "url": "https://mckoss.com/posts/timescore/",
      "domain": "mckoss.com",
      "site": "mckoss.com | Mike Koss",
      "categories": [
        "programming",
        "data"
      ],
      "category_names": [
        "Programming & dev tools",
        "Data"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T01:45:47.000Z",
      "jev": 0.7142,
      "judge_a": 0.4835,
      "judge_b": 0.7071,
      "score": 0.6349,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 52,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "TimeScore is a ranking method for \"popular\" lists in which each like or event decays by half every half-life, so recent activity outweighs old totals.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/58/",
      "card": "https://rubric.hrih.si/og/2026-11-05/58.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.523,
          "judge_a": 0.2,
          "judge_b": 0.58,
          "mean": 0.4342,
          "spread": 0.38
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.763,
          "judge_a": 0.35,
          "judge_b": 0.55,
          "mean": 0.5544,
          "spread": 0.413
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.913,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7642,
          "spread": 0.313
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.7,
          "judge_b": 0.92,
          "mean": 0.87,
          "spread": 0.29
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.85,
          "judge_b": 0.88,
          "mean": 0.9092,
          "spread": 0.148
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.9,
          "judge_b": 1,
          "mean": 0.9167,
          "spread": 0.15
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.05,
          "judge_b": 0.08,
          "mean": 0.0633,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.17,
          "judge_a": 0.1,
          "judge_b": 0.12,
          "mean": 0.13,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 59,
      "id": "st_20261105_13839",
      "title": "Systemd Loves Rust",
      "url": "https://amutable.com/blog/systemd-loves-rust",
      "domain": "amutable.com",
      "site": "Amutable",
      "categories": [
        "programming",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T00:57:07.000Z",
      "jev": 0.5976,
      "judge_a": 0.6226,
      "judge_b": 0.6827,
      "score": 0.6342,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 53,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "systemd has merged support for writing its leaf binaries in Rust, while keeping its shared core library C-only. The project cites the unresolved Rust \"stable ABI problem\" as the blocker for root components, which would otherwise duplicate Rust code across many binaries.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/59/",
      "card": "https://rubric.hrih.si/og/2026-11-05/59.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.66,
          "judge_a": 0.55,
          "judge_b": 0.55,
          "mean": 0.5867,
          "spread": 0.11
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.67,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.7633,
          "spread": 0.15
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.637,
          "judge_a": 0.67,
          "judge_b": 0.58,
          "mean": 0.6289,
          "spread": 0.09
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.578,
          "judge_a": 0.55,
          "judge_b": 0.68,
          "mean": 0.6025,
          "spread": 0.13
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.563,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.6744,
          "spread": 0.297
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.755,
          "judge_a": 0.6,
          "judge_b": 0.74,
          "mean": 0.6983,
          "spread": 0.155
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.7,
          "judge_b": 0.94,
          "mean": 0.83,
          "spread": 0.24
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0567,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.33,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.17,
          "spread": 0.25
        }
      }
    },
    {
      "rank": 60,
      "id": "st_20261105_14874",
      "title": "We Tested Coding Agent Harnesses. Thinking Harder Beat All of Them",
      "url": "https://surgehq.ai/blog/benchmarking-coding-agent-harnesses",
      "domain": "surgehq.ai",
      "site": "surgehq.ai",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T20:52:13.000Z",
      "jev": 0.6507,
      "judge_a": 0.5505,
      "judge_b": 0.6981,
      "score": 0.6331,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 54,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Surge tested several popular coding-agent harnesses (Superpowers, Compound Engineering, and Claude Code's /goal and /code-review) against vanilla Claude Code on its sudo L7 benchmark, holding the Opus 5.5 model fixed.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/60/",
      "card": "https://rubric.hrih.si/og/2026-11-05/60.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.64,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5533,
          "spread": 0.24
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.75,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.8033,
          "spread": 0.11
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.743,
          "judge_a": 0.7,
          "judge_b": 0.7,
          "mean": 0.7144,
          "spread": 0.043
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.87,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.83,
          "spread": 0.07
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.61,
          "judge_a": 0.45,
          "judge_b": 0.66,
          "mean": 0.5733,
          "spread": 0.21
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.665,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.595,
          "spread": 0.165
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.74,
          "judge_a": 0.85,
          "judge_b": 0.55,
          "mean": 0.7133,
          "spread": 0.3
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.1833,
          "spread": 0.27
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.58,
          "judge_a": 0.4,
          "judge_b": 0.2,
          "mean": 0.3933,
          "spread": 0.38
        }
      }
    },
    {
      "rank": 61,
      "id": "st_20261105_14727",
      "title": "Phonon TTS on WebGPU, 44MB, 115x real time, with live word timings",
      "url": "https://github.com/blixt/phonon",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:01:31.000Z",
      "jev": 0.6726,
      "judge_a": 0.5232,
      "judge_b": 0.7034,
      "score": 0.633,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 55,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "blixt/phonon is a WebGPU runtime for Gradium's Apache-2.0 Phonon 31M text-to-speech model, which streams 24 kHz English speech in the browser and gives start and end times for every word.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/61/",
      "card": "https://rubric.hrih.si/og/2026-11-05/61.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.563,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.4975,
          "spread": 0.23
        },
        "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.453,
          "judge_a": 0.35,
          "judge_b": 0.42,
          "mean": 0.4078,
          "spread": 0.103
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.82,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.7067,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.997,
          "judge_a": 0.8,
          "judge_b": 0.96,
          "mean": 0.9189,
          "spread": 0.197
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.95,
          "judge_b": 0.99,
          "mean": 0.9792,
          "spread": 0.048
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.8967,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.12,
          "judge_b": 0.03,
          "mean": 0.0667,
          "spread": 0.09
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.25,
          "judge_b": 0.08,
          "mean": 0.1933,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 62,
      "id": "st_20261105_14912",
      "title": "Length Is Cheap, Competition Is Not: Attention Predicts Context Rot in Retrieval",
      "url": "https://arxiv.org/abs/2611.04169",
      "domain": "arxiv.org",
      "site": "arXiv",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T21:14:13.000Z",
      "jev": 0.6797,
      "judge_a": 0.5125,
      "judge_b": 0.7061,
      "score": 0.6327,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 56,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A preprint by Yinuo Liu (UC San Diego) argues that long-context retrieval failures come mainly from competition for attention rather than length. Across 126,473 trials on five open models of 0.5B to 3B parameters, neutral filler up to 32K tokens barely hurt accuracy, while statements mimicking the evidence format, especially…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/62/",
      "card": "https://rubric.hrih.si/og/2026-11-05/62.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.693,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.6075,
          "spread": 0.243
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.7,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.697,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.6056,
          "spread": 0.32
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.785,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7217,
          "spread": 0.185
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.987,
          "judge_a": 0.7,
          "judge_b": 0.58,
          "mean": 0.7556,
          "spread": 0.407
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.75,
          "judge_b": 0.86,
          "mean": 0.8633,
          "spread": 0.23
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.8,
          "judge_b": 0.94,
          "mean": 0.8733,
          "spread": 0.14
        },
        "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.4,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4567,
          "spread": 0.27
        }
      }
    },
    {
      "rank": 63,
      "id": "st_20261105_14658",
      "title": "AI Is Getting Better. Running It Yourself Is Getting Harder",
      "url": "https://operator0x.com/field-notes/running-ai-yourself/",
      "domain": "operator0x.com",
      "site": "Operator X",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T17:56:44.000Z",
      "jev": 0.6496,
      "judge_a": 0.5421,
      "judge_b": 0.6984,
      "score": 0.63,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 57,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Open-weight AI models are growing in total size, so they can become cheaper to compute per token while becoming harder to host. Large mixture-of-experts models like DeepSeek-V3 and Llama 4 Maverick need all their weights available even though only a fraction is active per token.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/63/",
      "card": "https://rubric.hrih.si/og/2026-11-05/63.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.698,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5892,
          "spread": 0.248
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.73,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.75,
          "spread": 0.12
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.683,
          "judge_a": 0.67,
          "judge_b": 0.78,
          "mean": 0.7111,
          "spread": 0.11
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.645,
          "judge_a": 0.6,
          "judge_b": 0.65,
          "mean": 0.6317,
          "spread": 0.05
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.397,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.5089,
          "spread": 0.283
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.733,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.6008,
          "spread": 0.283
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.5,
          "judge_b": 0.88,
          "mean": 0.7367,
          "spread": 0.38
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.0467,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.25,
          "judge_b": 0.12,
          "mean": 0.1933,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 64,
      "id": "st_20261105_14842",
      "title": "Why is your AI using so many tokens?",
      "url": "https://blog.raed.dev/posts/context-window/",
      "domain": "blog.raed.dev",
      "site": "blog.raed.dev",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T20:23:00.000Z",
      "jev": 0.7188,
      "judge_a": 0.461,
      "judge_b": 0.7063,
      "score": 0.6286,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 58,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "AI chat apps look like they remember conversations, but the model sees only a single block of text rebuilt and resent in full on every turn. That block includes the system prompt, every tool definition, the full history and all tool results, so token use grows with each message and…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/64/",
      "card": "https://rubric.hrih.si/og/2026-11-05/64.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.65,
          "judge_a": 0.3,
          "judge_b": 0.68,
          "mean": 0.5433,
          "spread": 0.38
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.79,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.7633,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.807,
          "judge_a": 0.5,
          "judge_b": 0.82,
          "mean": 0.7089,
          "spread": 0.32
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.803,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7608,
          "spread": 0.103
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.43,
          "judge_a": 0.3,
          "judge_b": 0.56,
          "mean": 0.43,
          "spread": 0.26
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7167,
          "spread": 0.23
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.77,
          "judge_a": 0.2,
          "judge_b": 0.91,
          "mean": 0.6267,
          "spread": 0.71
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.1,
          "judge_b": 0.02,
          "mean": 0.06,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.13,
          "judge_a": 0.2,
          "judge_b": 0.68,
          "mean": 0.3367,
          "spread": 0.55
        }
      }
    },
    {
      "rank": 65,
      "id": "st_20261105_14602",
      "title": "The Agentic Software Factory Is the Wrong Metaphor",
      "url": "https://robwest.info/articles/the-agentic-software-factory-is-the-wrong-metaphor/",
      "domain": "robwest.info",
      "site": "robwest.info",
      "categories": [
        "programming",
        "ai",
        "product"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Product"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T16:35:59.000Z",
      "jev": 0.7022,
      "judge_a": 0.4405,
      "judge_b": 0.7397,
      "score": 0.6274,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 59,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Rob West argues in this essay that calling agentic coding systems a \"software factory\" is the wrong metaphor. Drawing on Jack Reeves, Martin Fowler and Dave Farley, he holds that source code is the design and compilation is the cheap build step, so agents generating code are doing design work.…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/65/",
      "card": "https://rubric.hrih.si/og/2026-11-05/65.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.663,
          "judge_a": 0.35,
          "judge_b": 0.68,
          "mean": 0.5642,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.81,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.7567,
          "spread": 0.26
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.92,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7667,
          "spread": 0.32
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.713,
          "judge_a": 0.5,
          "judge_b": 0.73,
          "mean": 0.6475,
          "spread": 0.23
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.537,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.5856,
          "spread": 0.22
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.475,
          "judge_a": 0.25,
          "judge_b": 0.58,
          "mean": 0.435,
          "spread": 0.33
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.35,
          "judge_b": 0.82,
          "mean": 0.6867,
          "spread": 0.54
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.05,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.2,
          "judge_a": 0.3,
          "judge_b": 0.12,
          "mean": 0.2067,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 66,
      "id": "st_20261105_14974",
      "title": "A thousand fewer paths to root",
      "url": "https://openai.com/index/a-thousand-fewer-paths-to-root",
      "domain": "openai.com",
      "site": "OpenAI News",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T08:00:00.000Z",
      "jev": 0.5581,
      "judge_a": 0.636,
      "judge_b": 0.6864,
      "score": 0.6268,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 60,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "OpenAI reports that it built an autonomous pipeline that discovered, validated, and generated patches for 948 local privilege-escalation vulnerabilities in the Linux kernel. The work matters because it suggests AI systems can meaningfully scale vulnerability discovery and remediation in widely deployed, security-critical open-source software, while still requiring validation of each…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/66/",
      "card": "https://rubric.hrih.si/og/2026-11-05/66.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.73,
          "judge_a": 0.7,
          "judge_b": 0.8,
          "mean": 0.7433,
          "spread": 0.1
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.753,
          "judge_a": 0.7,
          "judge_b": 0.8,
          "mean": 0.7511,
          "spread": 0.1
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.628,
          "judge_a": 0.65,
          "judge_b": 0.82,
          "mean": 0.6992,
          "spread": 0.193
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.13,
          "judge_a": 0.5,
          "judge_b": 0.28,
          "mean": 0.3033,
          "spread": 0.37
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.465,
          "judge_a": 0.45,
          "judge_b": 0.2,
          "mean": 0.3717,
          "spread": 0.265
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.75,
          "judge_a": 0.8,
          "judge_b": 0.92,
          "mean": 0.8233,
          "spread": 0.17
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.18,
          "judge_a": 0.15,
          "judge_b": 0.35,
          "mean": 0.2267,
          "spread": 0.2
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.62,
          "judge_a": 0.3,
          "judge_b": 0.25,
          "mean": 0.39,
          "spread": 0.37
        }
      }
    },
    {
      "rank": 67,
      "id": "st_20261105_14528",
      "title": "Apple opens Siri AI to every app, and plans a fee for expanded use",
      "url": "https://thenextweb.com/news/apple-siri-ai-developer-preview-app-intents-usage-limits-fee",
      "domain": "thenextweb.com",
      "site": "The Next Web",
      "categories": [
        "ai",
        "product"
      ],
      "category_names": [
        "AI & machine learning",
        "Product"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T15:36:30.000Z",
      "jev": 0.5579,
      "judge_a": 0.6168,
      "judge_b": 0.7033,
      "score": 0.626,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 61,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Apple has opened Siri AI to all app developers through a Developer Preview in the iOS, iPadOS, macOS and visionOS 27.3 betas, letting apps expose custom actions via App Intents and combine them into skills.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/67/",
      "card": "https://rubric.hrih.si/og/2026-11-05/67.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.7,
          "judge_a": 0.55,
          "judge_b": 0.67,
          "mean": 0.64,
          "spread": 0.15
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.52,
          "judge_a": 0.72,
          "judge_b": 0.84,
          "mean": 0.6933,
          "spread": 0.32
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.58,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.6667,
          "spread": 0.14
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.67,
          "judge_a": 0.72,
          "judge_b": 0.7,
          "mean": 0.6967,
          "spread": 0.05
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.52,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6,
          "spread": 0.28
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.545,
          "judge_a": 0.4,
          "judge_b": 0.48,
          "mean": 0.475,
          "spread": 0.145
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.85,
          "judge_b": 0.97,
          "mean": 0.9,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.13,
          "judge_a": 0.12,
          "judge_b": 0.08,
          "mean": 0.11,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.37,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.2333,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 68,
      "id": "st_20261105_14390",
      "title": "Hyperbutler – Docker on Windows without WSL, 320 MB at idle",
      "url": "https://hyperbutler.dev/",
      "domain": "hyperbutler.dev",
      "site": "hyperbutler",
      "categories": [
        "programming",
        "devops",
        "it"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:58:16.000Z",
      "jev": 0.5827,
      "judge_a": 0.5235,
      "judge_b": 0.6514,
      "score": 0.5858,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 96,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Hyperbutler is a new open-source (Apache-2.0) Docker-compatible engine for Windows 11 that runs dockerd inside a minimal Linux VM via the Windows Host Compute Service, without requiring WSL.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/68/",
      "card": "https://rubric.hrih.si/og/2026-11-05/68.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.505,
          "judge_a": 0.45,
          "judge_b": 0.48,
          "mean": 0.4783,
          "spread": 0.055
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.65,
          "judge_a": 0.7,
          "judge_b": 0.8,
          "mean": 0.7167,
          "spread": 0.15
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.457,
          "judge_a": 0.55,
          "judge_b": 0.5,
          "mean": 0.5022,
          "spread": 0.093
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.793,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7575,
          "spread": 0.093
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.72,
          "spread": 0.24
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.798,
          "judge_a": 0.65,
          "judge_b": 0.7,
          "mean": 0.7158,
          "spread": 0.147
        },
        "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.14,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.19,
          "spread": 0.27
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.37,
          "judge_a": 0.3,
          "judge_b": 0.12,
          "mean": 0.2633,
          "spread": 0.25
        }
      }
    },
    {
      "rank": 69,
      "id": "st_20261105_14910",
      "title": "Hacking the T-Mobile Sidekick, 20 Years Too Late",
      "url": "https://x86.cx/blog/redanger",
      "domain": "x86.cx",
      "site": "x86.cx",
      "categories": [
        "programming",
        "security",
        "hardware"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security",
        "Hardware & devices"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T21:19:12.000Z",
      "jev": 0.5337,
      "judge_a": 0.5025,
      "judge_b": 0.6596,
      "score": 0.5652,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 120,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "The author recounts reviving the 2002 T-Mobile Sidekick, whose cloud-dependent Danger OS died in 2011, by recovering a developer signing key. Working from a 512-bit certificate found in archived firmware, they factored it with CADO-NFS across roughly 220 cores in about 8.5 hours, then signed their own developer key.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/69/",
      "card": "https://rubric.hrih.si/og/2026-11-05/69.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.43,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.45,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.8,
          "judge_b": 0.91,
          "mean": 0.8,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.38,
          "judge_a": 0.3,
          "judge_b": 0.38,
          "mean": 0.3533,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.413,
          "judge_a": 0.35,
          "judge_b": 0.42,
          "mean": 0.3942,
          "spread": 0.07
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.953,
          "judge_a": 0.85,
          "judge_b": 0.94,
          "mean": 0.9144,
          "spread": 0.103
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.9,
          "judge_b": 0.93,
          "mean": 0.9367,
          "spread": 0.08
        },
        "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.04,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.04,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.22,
          "judge_a": 0.15,
          "judge_b": 0.04,
          "mean": 0.1367,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 70,
      "id": "st_20261105_14147",
      "title": "I tried to break weight programming",
      "url": "https://flecart.github.io/posts/2026-11-03-i-tried-to-break-weight-programming/",
      "domain": "flecart.github.io",
      "site": "Xuanqiang Angelo Huang's Blog",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T10:35:50.000Z",
      "jev": 0.5756,
      "judge_a": 0.5765,
      "judge_b": 0.7147,
      "score": 0.6222,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 64,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A blog post by flecart tests the \"weight programming\" claim, in which LLMs such as Astra write programs directly into network weights. The author replicated Astra's Breakout result, showing it compiles a roughly 10-line policy into weights, and found that reasoning length grows sub-exponentially with decoding difficulty before the model…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/70/",
      "card": "https://rubric.hrih.si/og/2026-11-05/70.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.603,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6242,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.61,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.77,
          "spread": 0.29
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.613,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.6111,
          "spread": 0.02
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.468,
          "judge_a": 0.45,
          "judge_b": 0.55,
          "mean": 0.4892,
          "spread": 0.1
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.97,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.8433,
          "spread": 0.27
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.995,
          "judge_a": 0.85,
          "judge_b": 0.94,
          "mean": 0.9283,
          "spread": 0.145
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.6,
          "judge_b": 0.98,
          "mean": 0.8167,
          "spread": 0.38
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.04,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.37,
          "judge_a": 0.35,
          "judge_b": 0.28,
          "mean": 0.3333,
          "spread": 0.09
        }
      }
    },
    {
      "rank": 71,
      "id": "st_20261105_14092",
      "title": "Why king – man + woman isn't queen",
      "url": "https://deployed-ai.io/blog/what-is-an-embedding/",
      "domain": "deployed-ai.io",
      "site": "Deployed",
      "categories": [
        "programming",
        "ai",
        "data"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Data"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T09:50:55.000Z",
      "jev": 0.7543,
      "judge_a": 0.641,
      "judge_b": 0.7688,
      "score": 0.6213,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0.1,
      "score_rank": 65,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "An embedding is a fixed-length vector that summarizes a text's meaning, with topic dominating and exact details fading. The post, from a developer blog, uses Qwen3-Embedding-0.6B to show eight surprises: arithmetic analogies barely work, unrelated text scores 0.12 to 0.37, negation and identifiers barely register, long passages blur, and vectors…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/71/",
      "card": "https://rubric.hrih.si/og/2026-11-05/71.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.613,
          "judge_a": 0.4,
          "judge_b": 0.68,
          "mean": 0.5642,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.77,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8233,
          "spread": 0.13
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.71,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6767,
          "spread": 0.12
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.93,
          "judge_a": 0.85,
          "judge_b": 0.86,
          "mean": 0.88,
          "spread": 0.08
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.923,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8478,
          "spread": 0.123
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.85,
          "judge_b": 0.78,
          "mean": 0.8725,
          "spread": 0.208
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.8,
          "judge_b": 0.92,
          "mean": 0.86,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.09,
          "spread": 0.11
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.2,
          "judge_b": 0.2,
          "mean": 0.1967,
          "spread": 0.01
        }
      }
    },
    {
      "rank": 72,
      "id": "st_20261105_14438",
      "title": "What the New AI Training Opt-Out Really Means",
      "url": "https://techpolicy.press/what-the-new-ai-training-optout-really-means",
      "domain": "techpolicy.press",
      "site": "Tech Policy Press",
      "categories": [
        "ai",
        "policy"
      ],
      "category_names": [
        "AI & machine learning",
        "Policy & regulation"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:19:49.000Z",
      "jev": 0.5915,
      "judge_a": 0.6056,
      "judge_b": 0.6657,
      "score": 0.6208,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 66,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Knight-Georgetown Institute's Alissa Cooper examines the new AI training opt-out mechanism announced by Google, Microsoft, Anthropic, and OpenAI, arguing that its significance is narrower than the headlines suggest.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/72/",
      "card": "https://rubric.hrih.si/og/2026-11-05/72.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.673,
          "judge_a": 0.55,
          "judge_b": 0.65,
          "mean": 0.6242,
          "spread": 0.122
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.59,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7033,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.787,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.7256,
          "spread": 0.117
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.533,
          "judge_a": 0.65,
          "judge_b": 0.62,
          "mean": 0.6008,
          "spread": 0.118
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.527,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.6689,
          "spread": 0.253
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.665,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5783,
          "spread": 0.215
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.8,
          "judge_a": 0.6,
          "judge_b": 0.22,
          "mean": 0.54,
          "spread": 0.58
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0667,
          "spread": 0.09
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1367,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 73,
      "id": "st_20261105_14804",
      "title": "Gemini 4 often hides its failures when searching antibody space (AbMaze)",
      "url": "https://valenlabs.com/blog/abmaze",
      "domain": "valenlabs.com",
      "site": "Valen",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T19:15:17.000Z",
      "jev": 0.6014,
      "judge_a": 0.4692,
      "judge_b": 0.7872,
      "score": 0.6192,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 67,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "On AbMaze, a benchmark that tests AI agents on a 65,536-variant antibody search with a 150-measurement budget, Gemini 4 roughly matches a scripted Bayesian optimizer (54.6% vs 50.2%), while other models score lower.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/73/",
      "card": "https://rubric.hrih.si/og/2026-11-05/73.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.615,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.615,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.63,
          "judge_a": 0.62,
          "judge_b": 0.95,
          "mean": 0.7333,
          "spread": 0.33
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.627,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5489,
          "spread": 0.227
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.528,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.5658,
          "spread": 0.27
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.957,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8856,
          "spread": 0.157
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.96,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.8467,
          "spread": 0.26
        },
        "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.07,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1167,
          "spread": 0.13
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.32,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.2333,
          "spread": 0.24
        }
      }
    },
    {
      "rank": 74,
      "id": "st_20261105_14354",
      "title": "From 25M instructions to one faulty skip: fault analysis of a secure boot",
      "url": "https://www.eshard.com/blog/one-faulty-skip-secure-boot",
      "domain": "eshard.com",
      "site": "eshard.com",
      "categories": [
        "ai",
        "security",
        "hardware"
      ],
      "category_names": [
        "AI & machine learning",
        "Security",
        "Hardware & devices"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:20:31.000Z",
      "jev": 0.6337,
      "judge_a": 0.455,
      "judge_b": 0.7683,
      "score": 0.6189,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 68,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "An eshard blog post describes an AI agent (Claude Opus 4.8) analysing a secure boot ROM of an ARM router SoC, using emulation and time-travel tracing to find that skipping one 2-byte instruction turns a rejected, tampered BL2 into an accepted one.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/74/",
      "card": "https://rubric.hrih.si/og/2026-11-05/74.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.58,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.6033,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.7,
          "judge_b": 0.92,
          "mean": 0.7733,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.527,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4989,
          "spread": 0.27
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.683,
          "judge_a": 0.45,
          "judge_b": 0.84,
          "mean": 0.6575,
          "spread": 0.39
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.887,
          "judge_a": 0.75,
          "judge_b": 0.88,
          "mean": 0.8389,
          "spread": 0.137
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.9225,
          "spread": 0.138
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.8,
          "judge_b": 0.96,
          "mean": 0.88,
          "spread": 0.16
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.35,
          "judge_b": 0.28,
          "mean": 0.2467,
          "spread": 0.24
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.1967,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 75,
      "id": "st_20261105_14710",
      "title": "Accenture Contractor Linked Personal Claude AI Agent to Pentagon System",
      "url": "https://www.ibtimes.co.uk/claude-code-agent-pentagon-niprnet-access-allegations-1829425",
      "domain": "ibtimes.co.uk",
      "site": "International Business Times UK",
      "categories": [
        "ai",
        "security",
        "it",
        "policy"
      ],
      "category_names": [
        "AI & machine learning",
        "Security",
        "IT & networking",
        "Policy & regulation"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:11:21.000Z",
      "jev": 0.5944,
      "judge_a": 0.6191,
      "judge_b": 0.7238,
      "score": 0.6457,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 48,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0286,
      "summary": "According to a WIRED investigation, an Accenture contractor allegedly linked a personal Claude Code AI agent to a Pentagon production environment on the unclassified NIPRNet for about two months, with administrative access. The agent reportedly sent credentials and a network map to an external website.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/75/",
      "card": "https://rubric.hrih.si/og/2026-11-05/75.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.663,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6608,
          "spread": 0.12
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.73,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.8267,
          "spread": 0.17
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.687,
          "judge_a": 0.67,
          "judge_b": 0.65,
          "mean": 0.6689,
          "spread": 0.037
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.583,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.6208,
          "spread": 0.098
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.393,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.4878,
          "spread": 0.227
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.538,
          "judge_a": 0.4,
          "judge_b": 0.42,
          "mean": 0.4525,
          "spread": 0.137
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.7,
          "judge_b": 0.92,
          "mean": 0.82,
          "spread": 0.22
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.0433,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.43,
          "judge_a": 0.3,
          "judge_b": 0.12,
          "mean": 0.2833,
          "spread": 0.31
        }
      }
    },
    {
      "rank": 76,
      "id": "st_20261105_14299",
      "title": "Debian's APT Affected By Man-In-The-Middle Attack For Arbitrary Code Execution As Root",
      "url": "https://www.phoronix.com/news/Debian-APT-MITM-RCE",
      "domain": "phoronix.com",
      "site": "Phoronix",
      "categories": [
        "security",
        "it"
      ],
      "category_names": [
        "Security",
        "IT & networking"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T13:10:19.000Z",
      "jev": 0.5141,
      "judge_a": 0.5964,
      "judge_b": 0.7353,
      "score": 0.6153,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 70,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A newly disclosed flaw in Debian's APT package manager lets an attacker positioned in a man-in-the-middle role on the network execute arbitrary code with root privileges on affected systems.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/76/",
      "card": "https://rubric.hrih.si/og/2026-11-05/76.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.71,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.71,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.59,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.7633,
          "spread": 0.31
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.583,
          "judge_a": 0.67,
          "judge_b": 0.7,
          "mean": 0.6511,
          "spread": 0.117
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.66,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7267,
          "spread": 0.16
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.013,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.1644,
          "spread": 0.287
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.35,
          "judge_a": 0.25,
          "judge_b": 0.12,
          "mean": 0.24,
          "spread": 0.23
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.81,
          "judge_a": 0.4,
          "judge_b": 0.95,
          "mean": 0.72,
          "spread": 0.55
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.14,
          "judge_a": 0.03,
          "judge_b": 0.01,
          "mean": 0.06,
          "spread": 0.13
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.57,
          "judge_a": 0.35,
          "judge_b": 0.25,
          "mean": 0.39,
          "spread": 0.32
        }
      }
    },
    {
      "rank": 77,
      "id": "st_20261105_14196",
      "title": "Who’s talking? Anthropic unveils AI model identity verification",
      "url": "https://www.heise.de/en/news/Who-s-talking-Anthropic-unveils-AI-model-identity-verification-11511181.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T11:34:00.000Z",
      "jev": 0.5721,
      "judge_a": 0.55,
      "judge_b": 0.755,
      "score": 0.6257,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 62,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0113,
      "summary": "Anthropic has released FlashProve, an open-source research prototype that uses zero-knowledge proofs to let third parties verify which AI model produced a given response without exposing the model's weights.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/77/",
      "card": "https://rubric.hrih.si/og/2026-11-05/77.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.545,
          "judge_a": 0.5,
          "judge_b": 0.74,
          "mean": 0.595,
          "spread": 0.24
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.7733,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.7,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.6667,
          "spread": 0.1
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.505,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5417,
          "spread": 0.32
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.763,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7611,
          "spread": 0.12
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.748,
          "judge_a": 0.75,
          "judge_b": 0.78,
          "mean": 0.7592,
          "spread": 0.032
        },
        "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.1,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.11,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.2,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.2267,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 78,
      "id": "st_20261105_14553",
      "title": "How we made evals 100× cheaper with multi-agent architecture",
      "url": "https://cleric.ai/blog/how-we-made-evals-100x-cheaper-with-multi-agent-architecture",
      "domain": "cleric.ai",
      "site": "Cleric",
      "categories": [
        "programming",
        "ai",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Infrastructure & DevOps"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T16:17:30.000Z",
      "jev": 0.668,
      "judge_a": 0.391,
      "judge_b": 0.7752,
      "score": 0.6114,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 72,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Cleric, an AI investigation agent for system alerts, split its single monolithic agent into a team of roughly 40 specialized agents, each run on its own model and harness.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/78/",
      "card": "https://rubric.hrih.si/og/2026-11-05/78.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.655,
          "judge_a": 0.35,
          "judge_b": 0.68,
          "mean": 0.5617,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.78,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.76,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.6,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5733,
          "spread": 0.32
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.81,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.75,
          "spread": 0.24
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.45,
          "judge_b": 0.83,
          "mean": 0.72,
          "spread": 0.43
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.778,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6858,
          "spread": 0.28
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.82,
          "judge_a": 0.6,
          "judge_b": 0.95,
          "mean": 0.79,
          "spread": 0.35
        },
        "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.5,
          "judge_a": 0.4,
          "judge_b": 0.12,
          "mean": 0.34,
          "spread": 0.38
        }
      }
    },
    {
      "rank": 79,
      "id": "st_20261105_13876",
      "title": "OpenSSL 4.1 Final Release – Live",
      "url": "https://openssl-library.org/post/2026-10-23-openssl-41-final-release/",
      "domain": "openssl-library.org",
      "site": "openssl-library.org",
      "categories": [
        "programming",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T01:37:32.000Z",
      "jev": 0.6697,
      "judge_a": 0.6446,
      "judge_b": 0.815,
      "score": 0.6097,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0.1,
      "score_rank": 73,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The OpenSSL project has released OpenSSL 4.1.0 as a non-LTS version supported until November 23, 2027. Notable additions include DTLS 1.3 support (RFC 9147), RFC 8701 GREASE, DTLS in the SSL listener API, and an IKEv2 KDF, alongside AVX-512 and VAES optimizations and removal of the no-ecdsa and no-ecdh options.…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/79/",
      "card": "https://rubric.hrih.si/og/2026-11-05/79.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.743,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7075,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.55,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7167,
          "spread": 0.35
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.713,
          "judge_a": 0.67,
          "judge_b": 0.78,
          "mean": 0.7211,
          "spread": 0.11
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.76,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.76,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.763,
          "judge_a": 0.8,
          "judge_b": 0.95,
          "mean": 0.8378,
          "spread": 0.187
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.713,
          "judge_a": 0.5,
          "judge_b": 0.68,
          "mean": 0.6308,
          "spread": 0.213
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.9133,
          "spread": 0.13
        },
        "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.09,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.0733,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 80,
      "id": "st_20261105_14823",
      "title": "Project Sync: The journey to sample-perfect audio/video sync with WebCodecs",
      "url": "https://mediabunny.dev/blog/project-sync",
      "domain": "mediabunny.dev",
      "site": "Mediabunny",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T19:45:32.000Z",
      "jev": 0.5646,
      "judge_a": 0.538,
      "judge_b": 0.724,
      "score": 0.6088,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 74,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Vanilagy's \"Project Sync\" post on the Mediabunny blog (Nov 3, 2026) explains why audio transcoded through WebCodecs drifts out of sync with video. Encoders like Apple's AAC add priming delay (2112 samples in one test) that WebCodecs does not report, so each roundtrip lags further behind.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/80/",
      "card": "https://rubric.hrih.si/og/2026-11-05/80.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.51,
          "judge_a": 0.4,
          "judge_b": 0.68,
          "mean": 0.53,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.59,
          "judge_a": 0.75,
          "judge_b": 0.88,
          "mean": 0.74,
          "spread": 0.29
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.467,
          "judge_a": 0.45,
          "judge_b": 0.52,
          "mean": 0.4789,
          "spread": 0.07
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.733,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7042,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.863,
          "judge_a": 0.8,
          "judge_b": 0.84,
          "mean": 0.8344,
          "spread": 0.063
        },
        "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.96,
          "mean": 0.9133,
          "spread": 0.08
        },
        "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.5,
          "judge_a": 0.3,
          "judge_b": 0.25,
          "mean": 0.35,
          "spread": 0.25
        }
      }
    },
    {
      "rank": 81,
      "id": "st_20261105_14767",
      "title": "Safe and lightweight VMs for Coding agents",
      "url": "https://github.com/skerrysoft/safeagent",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai",
        "security",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:34:50.000Z",
      "jev": 0.6776,
      "judge_a": 0.482,
      "judge_b": 0.6633,
      "score": 0.6076,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 75,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "safeagent gives each git worktree its own small Linux VM, with separate processes, ports, Postgres, Valkey and Temporal instances and data, so parallel coding agent sessions don't collide or reach the host machine. It reads project files to configure itself and plugs into Claude Code via hooks.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/81/",
      "card": "https://rubric.hrih.si/og/2026-11-05/81.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.52,
          "judge_a": 0.35,
          "judge_b": 0.45,
          "mean": 0.44,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.76,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.78,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.547,
          "judge_a": 0.5,
          "judge_b": 0.55,
          "mean": 0.5322,
          "spread": 0.05
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.873,
          "judge_a": 0.7,
          "judge_b": 0.8,
          "mean": 0.7908,
          "spread": 0.173
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.867,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.7322,
          "spread": 0.317
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.8633,
          "spread": 0.29
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.6,
          "judge_b": 0.98,
          "mean": 0.8133,
          "spread": 0.38
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.1867,
          "spread": 0.22
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.26,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.2633,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 82,
      "id": "st_20261105_14829",
      "title": "Designing Uber's MCP Gateway",
      "url": "https://www.uber.com/gb/en/blog/designing-mcp-gateway/",
      "domain": "uber.com",
      "site": "Uber",
      "categories": [
        "programming",
        "ai",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Infrastructure & DevOps"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T19:39:53.000Z",
      "jev": 0.5945,
      "judge_a": 0.468,
      "judge_b": 0.7548,
      "score": 0.6057,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 76,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Uber published a design write-up for its MCP Gateway, a centralized microservice that routes AI agent requests to internal services and native MCP servers. It has two parts: a control plane (the MCP Registry plus AutoCrawler, which auto-generates MCP tools from Uber's IDL registry) and a data plane (the Proxy…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/82/",
      "card": "https://rubric.hrih.si/og/2026-11-05/82.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.605,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.575,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.7267,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.397,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.5389,
          "spread": 0.323
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.773,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7308,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.483,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.5711,
          "spread": 0.33
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.81,
          "judge_a": 0.65,
          "judge_b": 0.8,
          "mean": 0.7533,
          "spread": 0.16
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.7,
          "judge_b": 0.96,
          "mean": 0.85,
          "spread": 0.26
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.2,
          "judge_b": 0.14,
          "mean": 0.15,
          "spread": 0.09
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.34,
          "judge_a": 0.3,
          "judge_b": 0.24,
          "mean": 0.2933,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 83,
      "id": "st_20261105_14927",
      "title": "NVIDIA CUDA 13.5 Released With Production Support For Vera Rubin",
      "url": "https://www.phoronix.com/news/NVIDIA-CUDA-13.5",
      "domain": "phoronix.com",
      "site": "Phoronix",
      "categories": [
        "ai",
        "hardware"
      ],
      "category_names": [
        "AI & machine learning",
        "Hardware & devices"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T21:11:41.000Z",
      "jev": 0.4475,
      "judge_a": 0.5876,
      "judge_b": 0.6601,
      "score": 0.565,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 121,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "NVIDIA has released CUDA 13.5 alongside its 620.70.06 Linux driver, adding general availability support for the Vera Rubin platform. For developers and companies building on NVIDIA GPUs, this means production-ready tooling for the new hardware, which matters for planning infrastructure and porting workloads. Source: Phoronix.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/83/",
      "card": "https://rubric.hrih.si/og/2026-11-05/83.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.593,
          "judge_a": 0.6,
          "judge_b": 0.74,
          "mean": 0.6442,
          "spread": 0.147
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.51,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.69,
          "spread": 0.35
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.47,
          "judge_a": 0.67,
          "judge_b": 0.7,
          "mean": 0.6133,
          "spread": 0.23
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.568,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.6625,
          "spread": 0.152
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.123,
          "judge_a": 0.3,
          "judge_b": 0.36,
          "mean": 0.2611,
          "spread": 0.237
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.35,
          "judge_a": 0.3,
          "judge_b": 0.18,
          "mean": 0.2767,
          "spread": 0.17
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.71,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.7367,
          "spread": 0.3
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.22,
          "judge_a": 0.15,
          "judge_b": 0.3,
          "mean": 0.2233,
          "spread": 0.15
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.1,
          "judge_b": 0.05,
          "mean": 0.1433,
          "spread": 0.23
        }
      }
    },
    {
      "rank": 84,
      "id": "st_20261105_14382",
      "title": "How to speed up the Rust compiler in November 2026",
      "url": "https://nnethercote.github.io/2026/11/04/how-to-speed-up-the-rust-compiler-in-november-2026.html",
      "domain": "nnethercote.github.io",
      "site": "Nicholas Nethercote",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:05:16.000Z",
      "jev": 0.5602,
      "judge_a": 0.5245,
      "judge_b": 0.7298,
      "score": 0.6048,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 77,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Nicholas Nethercote's November 2026 progress report on Rust compiler performance describes a month of work reducing span-handling overhead, speeding up the new trait solver on Diesel, and removing unnecessary work in several places.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/84/",
      "card": "https://rubric.hrih.si/og/2026-11-05/84.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.578,
          "judge_a": 0.4,
          "judge_b": 0.65,
          "mean": 0.5425,
          "spread": 0.25
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.52,
          "judge_a": 0.7,
          "judge_b": 0.87,
          "mean": 0.6967,
          "spread": 0.35
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.587,
          "judge_a": 0.5,
          "judge_b": 0.5,
          "mean": 0.5289,
          "spread": 0.087
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.475,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5317,
          "spread": 0.32
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.93,
          "mean": 0.8767,
          "spread": 0.13
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.868,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8292,
          "spread": 0.068
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9233,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.04,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.2,
          "judge_b": 0.06,
          "mean": 0.1467,
          "spread": 0.14
        }
      }
    },
    {
      "rank": 85,
      "id": "st_20261105_14592",
      "title": "A decent text-to-image model trained for ~$20K (Apache 2.0 Weights)",
      "url": "https://www.linum.ai/field-notes/pjit-21k",
      "domain": "linum.ai",
      "site": "linum.ai",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T16:45:11.000Z",
      "jev": 0.5655,
      "judge_a": 0.533,
      "judge_b": 0.7155,
      "score": 0.6047,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 78,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A two-person research lab released Pyramid-JiT, a 2B-parameter pixel-space text-to-image model with Apache 2.0 weights, saying its full training run cost about $21K on 64 H100s. The architecture compresses images with 32×32 patches instead of relying on a separate VAE, cutting attention context fourfold.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/85/",
      "card": "https://rubric.hrih.si/og/2026-11-05/85.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.563,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.5642,
          "spread": 0.23
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.75,
          "judge_b": 0.88,
          "mean": 0.7567,
          "spread": 0.24
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.507,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.5289,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.507,
          "judge_a": 0.55,
          "judge_b": 0.7,
          "mean": 0.5858,
          "spread": 0.193
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.953,
          "judge_a": 0.6,
          "judge_b": 0.91,
          "mean": 0.8211,
          "spread": 0.353
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.8,
          "judge_b": 0.94,
          "mean": 0.91,
          "spread": 0.19
        },
        "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.09,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.1567,
          "spread": 0.11
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.35,
          "judge_a": 0.3,
          "judge_b": 0.12,
          "mean": 0.2567,
          "spread": 0.23
        }
      }
    },
    {
      "rank": 86,
      "id": "st_20261105_14423",
      "title": "Twenty Percent of all 'ok' web responses AI gets are not okay",
      "url": "https://www.unite.ai/20-percent-of-all-ok-web-responses-ai-gets-are-not-okay/",
      "domain": "unite.ai",
      "site": "Unite.AI",
      "categories": [
        "ai",
        "data"
      ],
      "category_names": [
        "AI & machine learning",
        "Data"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:32:20.000Z",
      "jev": 0.6597,
      "judge_a": 0.5348,
      "judge_b": 0.6187,
      "score": 0.6044,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 79,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A new arXiv study estimates that about 20.9% of HTTP 200 (\"OK\") responses fetched by a basic static client contain no usable main content, instead returning app shells, CAPTCHA or bot challenges, block pages, error pages, or partial content.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/86/",
      "card": "https://rubric.hrih.si/og/2026-11-05/86.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.64,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.5367,
          "spread": 0.29
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7067,
          "spread": 0.14
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.81,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.66,
          "spread": 0.26
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.723,
          "judge_a": 0.65,
          "judge_b": 0.72,
          "mean": 0.6975,
          "spread": 0.073
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.7,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6933,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.743,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.6375,
          "spread": 0.193
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.78,
          "spread": 0.28
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.03,
          "judge_b": 0.03,
          "mean": 0.0433,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.25,
          "judge_b": 0.72,
          "mean": 0.4067,
          "spread": 0.47
        }
      }
    },
    {
      "rank": 87,
      "id": "st_20261105_14163",
      "title": "Fake-download campaign uses trojanized installers",
      "url": "https://www.microsoft.com/en-us/security/blog/2026/11/03/fake-download-campaign-uses-trojanized-installers-deliver-monetization-payloads/",
      "domain": "microsoft.com",
      "site": "Microsoft Security Blog",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T11:13:00.000Z",
      "jev": 0.6252,
      "judge_a": 0.46,
      "judge_b": 0.7218,
      "score": 0.6024,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 80,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Microsoft Threat Intelligence reports a fake-download campaign distributing trojanized Inno Setup-style installers through lures for cracked software, free games, and unofficial utilities. A single installer session can silently deliver several monetized payloads: proxyware that routes third-party traffic through the victim's device, distributed-computing clients, and adware-style utilities.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/87/",
      "card": "https://rubric.hrih.si/og/2026-11-05/87.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.58,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5333,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.59,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.6767,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.573,
          "judge_a": 0.4,
          "judge_b": 0.58,
          "mean": 0.5178,
          "spread": 0.18
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.64,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.7,
          "spread": 0.26
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.937,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8722,
          "spread": 0.137
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.75,
          "judge_b": 0.84,
          "mean": 0.86,
          "spread": 0.24
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.7,
          "judge_b": 0.94,
          "mean": 0.8433,
          "spread": 0.24
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.1967,
          "spread": 0.29
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.11,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.13,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 88,
      "id": "st_20261105_14993",
      "title": "Hackers exploited iOS and Android flaws to infect phones",
      "url": "https://arstechnica.com/security/2026/11/hackers-exploited-ios-and-android-flaws-to-infect-phones/",
      "domain": "arstechnica.com",
      "site": "Ars Technica: IT",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T22:26:49.000Z",
      "jev": 0.5058,
      "judge_a": 0.6373,
      "judge_b": 0.6601,
      "score": 0.601,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 82,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Security firm Sekoia reports that hackers, which it assesses with moderate to high confidence are linked to Russia's Foreign Intelligence Service, exploited previously patched iOS and Android flaws by injecting malicious JavaScript into proxied websites, including a copy of america250.org tied to the US Constitution's 250th anniversary.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/88/",
      "card": "https://rubric.hrih.si/og/2026-11-05/88.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.568,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6292,
          "spread": 0.152
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.59,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.7567,
          "spread": 0.29
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.683,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.6911,
          "spread": 0.05
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.47,
          "judge_a": 0.7,
          "judge_b": 0.7,
          "mean": 0.6233,
          "spread": 0.23
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.38,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.5333,
          "spread": 0.24
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.605,
          "judge_a": 0.6,
          "judge_b": 0.48,
          "mean": 0.5617,
          "spread": 0.125
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.2,
          "judge_b": 0.91,
          "mean": 0.6633,
          "spread": 0.71
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.02,
          "judge_b": 0.02,
          "mean": 0.0367,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.51,
          "judge_a": 0.2,
          "judge_b": 0.78,
          "mean": 0.4967,
          "spread": 0.58
        }
      }
    },
    {
      "rank": 89,
      "id": "st_20261105_14405",
      "title": "Durable Coroutines for TypeScript",
      "url": "https://restate.dev/blog/durable_coroutines",
      "domain": "restate.dev",
      "site": "restate.dev",
      "categories": [
        "programming",
        "ai",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Infrastructure & DevOps"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:42:00.000Z",
      "jev": 0.6344,
      "judge_a": 0.492,
      "judge_b": 0.6743,
      "score": 0.6001,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 85,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Restate has added \"durable coroutines\" to its TypeScript SDK: persistent, concurrent, multi-step routines with the same persistence and recovery guarantees as workflows but only milliseconds of overhead per durable step (P50 2.5ms, P99 9ms in a 3-AZ GCP deployment at over 10,000 actions per second).",
      "page": "https://rubric.hrih.si/editions/2026-11-05/89/",
      "card": "https://rubric.hrih.si/og/2026-11-05/89.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.563,
          "judge_a": 0.45,
          "judge_b": 0.65,
          "mean": 0.5542,
          "spread": 0.2
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7367,
          "spread": 0.13
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.52,
          "judge_a": 0.5,
          "judge_b": 0.5,
          "mean": 0.5067,
          "spread": 0.02
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.803,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.7008,
          "spread": 0.203
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.827,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.7322,
          "spread": 0.277
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.975,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.885,
          "spread": 0.175
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.85,
          "judge_b": 0.97,
          "mean": 0.8967,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.2167,
          "spread": 0.23
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.32,
          "judge_a": 0.35,
          "judge_b": 0.12,
          "mean": 0.2633,
          "spread": 0.23
        }
      }
    },
    {
      "rank": 90,
      "id": "st_20261105_14434",
      "title": "UK cyber agency warns of AI-powered ransomware on infrastructure by 2028",
      "url": "https://thenextweb.com/news/ncsc-annual-review-2026-ai-malware-critical-infrastructure",
      "domain": "thenextweb.com",
      "site": "The Next Web",
      "categories": [
        "ai",
        "security",
        "policy"
      ],
      "category_names": [
        "AI & machine learning",
        "Security",
        "Policy & regulation"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:32:29.000Z",
      "jev": 0.6565,
      "judge_a": 0.479,
      "judge_b": 0.6654,
      "score": 0.6003,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 83,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0015,
      "summary": "The UK's National Cyber Security Centre, in its annual review published 3 November, warns that AI-powered malware will highly likely be used in a ransomware attack on critical national infrastructure by 2028, and that China, Russia and other states will routinely use AI for cyber operations.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/90/",
      "card": "https://rubric.hrih.si/og/2026-11-05/90.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.705,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5917,
          "spread": 0.255
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.7133,
          "spread": 0.24
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.883,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7344,
          "spread": 0.283
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.64,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.5567,
          "spread": 0.19
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.81,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.73,
          "spread": 0.21
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.47,
          "judge_a": 0.2,
          "judge_b": 0.36,
          "mean": 0.3433,
          "spread": 0.27
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.7,
          "judge_b": 0.91,
          "mean": 0.8267,
          "spread": 0.21
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0567,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.37,
          "judge_a": 0.25,
          "judge_b": 0.18,
          "mean": 0.2667,
          "spread": 0.19
        }
      }
    },
    {
      "rank": 91,
      "id": "st_20261105_13848",
      "title": "Testing without a server: using FakeValkey, the in-memory test double for Valkey",
      "url": "https://valkey.io/blog/testing-without-a-server-fakevalkey/",
      "domain": "valkey.io",
      "site": "valkey.io",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Tutorial",
      "depth": "three_judges",
      "published_at": "2026-11-04T01:10:14.000Z",
      "jev": 0.6555,
      "judge_a": 0.4458,
      "judge_b": 0.6946,
      "score": 0.5986,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 86,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Daniel Moran explains how to use FakeValkey, the in-memory Valkey test double in the fakeredis library (v2.38.0, about 40 million monthly downloads), as a drop-in replacement for valkey-py clients in pytest suites.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/91/",
      "card": "https://rubric.hrih.si/og/2026-11-05/91.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.51,
          "judge_a": 0.25,
          "judge_b": 0.55,
          "mean": 0.4367,
          "spread": 0.3
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.58,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.62,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.51,
          "judge_a": 0.33,
          "judge_b": 0.48,
          "mean": 0.44,
          "spread": 0.18
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.96,
          "judge_a": 0.67,
          "judge_b": 0.86,
          "mean": 0.83,
          "spread": 0.29
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.857,
          "judge_a": 0.67,
          "judge_b": 0.86,
          "mean": 0.7956,
          "spread": 0.19
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.985,
          "judge_a": 0.75,
          "judge_b": 0.78,
          "mean": 0.8383,
          "spread": 0.235
        },
        "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.07,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.15,
          "judge_a": 0.2,
          "judge_b": 0.06,
          "mean": 0.1367,
          "spread": 0.14
        }
      }
    },
    {
      "rank": 92,
      "id": "st_20261105_14459",
      "title": "Rooting GoPro HERO8–MAX2 through their own web server",
      "url": "https://github.com/ADCDS/gopro-root",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "security",
        "hardware"
      ],
      "category_names": [
        "Security",
        "Hardware & devices"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-04T15:17:24.000Z",
      "jev": 0.5474,
      "judge_a": 0.5145,
      "judge_b": 0.7323,
      "score": 0.598,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 87,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A GitHub project documents an unauthenticated root code execution path on GoPro cameras, triggered through the camera's own HTTP server via a hardcoded \"SC\" command that runs a script from the SD card as root.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/92/",
      "card": "https://rubric.hrih.si/og/2026-11-05/92.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.498,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5392,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.7,
          "judge_b": 0.96,
          "mean": 0.7667,
          "spread": 0.32
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.233,
          "judge_a": 0.3,
          "judge_b": 0.34,
          "mean": 0.2911,
          "spread": 0.107
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.563,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.5608,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.947,
          "judge_a": 0.85,
          "judge_b": 0.88,
          "mean": 0.8922,
          "spread": 0.097
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.9258,
          "spread": 0.148
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.9333,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.03,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.03,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.27,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.2167,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 93,
      "id": "st_20261105_14421",
      "title": "Kube-upgrade-check – find what breaks before a Kubernetes upgrade",
      "url": "https://github.com/runtimez-com/kube-upgrade-check",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "devops"
      ],
      "category_names": [
        "Infrastructure & DevOps"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:34:00.000Z",
      "jev": 0.6649,
      "judge_a": 0.4395,
      "judge_b": 0.6256,
      "score": 0.5767,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 108,
      "topic_penalty": 0.06,
      "repeat_penalty": 0,
      "summary": "kube-upgrade-check is an open-source kubectl plugin that scans a live Kubernetes cluster for what an upgrade to a chosen version would break, including removed APIs, incompatible control-plane and kubelet settings, dropped volume plugins, node changes, and add-on version support.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/93/",
      "card": "https://rubric.hrih.si/og/2026-11-05/93.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.54,
          "judge_a": 0.35,
          "judge_b": 0.52,
          "mean": 0.47,
          "spread": 0.19
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6567,
          "spread": 0.17
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.52,
          "judge_a": 0.45,
          "judge_b": 0.48,
          "mean": 0.4833,
          "spread": 0.07
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.85,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.81,
          "spread": 0.07
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.907,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7756,
          "spread": 0.307
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.963,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.7942,
          "spread": 0.263
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.85,
          "judge_b": 1,
          "mean": 0.9133,
          "spread": 0.15
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.45,
          "judge_b": 0.18,
          "mean": 0.25,
          "spread": 0.33
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.15,
          "judge_a": 0.4,
          "judge_b": 0.12,
          "mean": 0.2233,
          "spread": 0.28
        }
      }
    },
    {
      "rank": 94,
      "id": "st_20261105_14309",
      "title": "Snowflake's AI_PARSE_DOCUMENT got an agentic mode",
      "url": "https://www.sfrt.io/snowflakes-ai_parse_document-got-an-agentic-mode/",
      "domain": "sfrt.io",
      "site": "sfrt.io",
      "categories": [
        "ai",
        "data"
      ],
      "category_names": [
        "AI & machine learning",
        "Data"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T13:59:42.000Z",
      "jev": 0.5936,
      "judge_a": 0.3945,
      "judge_b": 0.6812,
      "score": 0.5564,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 132,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Snowflake's AI_PARSE_DOCUMENT added an AGENTIC mode, which classifies charts, diagrams, tables and infographics in a document and returns summaries alongside the extracted text.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/94/",
      "card": "https://rubric.hrih.si/og/2026-11-05/94.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.465,
          "judge_a": 0.2,
          "judge_b": 0.47,
          "mean": 0.3783,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.6,
          "judge_a": 0.45,
          "judge_b": 0.86,
          "mean": 0.6367,
          "spread": 0.41
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.33,
          "judge_a": 0.2,
          "judge_b": 0.48,
          "mean": 0.3367,
          "spread": 0.28
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.778,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7192,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.94,
          "judge_a": 0.7,
          "judge_b": 0.92,
          "mean": 0.8533,
          "spread": 0.24
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.75,
          "judge_b": 0.86,
          "mean": 0.8692,
          "spread": 0.248
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.8,
          "judge_b": 0.72,
          "mean": 0.8,
          "spread": 0.16
        },
        "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.16,
          "judge_a": 0.2,
          "judge_b": 0.06,
          "mean": 0.14,
          "spread": 0.14
        }
      }
    },
    {
      "rank": 95,
      "id": "st_20261105_14773",
      "title": "Draft-li-kvcache-efficient-storage-00",
      "url": "https://datatracker.ietf.org/doc/html/draft-li-kvcache-efficient-storage-00",
      "domain": "datatracker.ietf.org",
      "site": "IETF Datatracker",
      "categories": [
        "ai",
        "devops"
      ],
      "category_names": [
        "AI & machine learning",
        "Infrastructure & DevOps"
      ],
      "format": "Other",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:51:04.000Z",
      "jev": 0.6397,
      "judge_a": 0.454,
      "judge_b": 0.7742,
      "score": 0.6226,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 63,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0265,
      "summary": "KVSP is an HTTP-based Internet-Draft from Li et al. (IETF, November 2026) specifying how separate components of LLM serving systems share attention key-value cache blocks. It defines compatibility descriptors, keyed block identifiers, replica indexing with per-layer residency, leased prefetch, session checkpoints for migration, and resharding for sequence-parallel caches.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/95/",
      "card": "https://rubric.hrih.si/og/2026-11-05/95.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.633,
          "judge_a": 0.35,
          "judge_b": 0.72,
          "mean": 0.5675,
          "spread": 0.37
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.65,
          "judge_a": 0.5,
          "judge_b": 0.84,
          "mean": 0.6633,
          "spread": 0.34
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.553,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5244,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.663,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.6308,
          "spread": 0.33
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.613,
          "judge_a": 0.55,
          "judge_b": 0.88,
          "mean": 0.6811,
          "spread": 0.33
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.995,
          "judge_a": 0.85,
          "judge_b": 0.99,
          "mean": 0.945,
          "spread": 0.145
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9233,
          "spread": 0.06
        },
        "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.14,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1233,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 96,
      "id": "st_20261105_14293",
      "title": "Agent-roast – send your coding agent back when it weakens a test",
      "url": "https://github.com/Nari-Ab/agent-roast",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Infrastructure & DevOps"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T13:10:11.000Z",
      "jev": 0.6793,
      "judge_a": 0.476,
      "judge_b": 0.6297,
      "score": 0.595,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 88,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "agent-roast is an offline, deterministic tool that flags changes which make a build pass by weakening its checks, such as loosened assertions, skipped or deleted tests, lowered coverage thresholds, or CI steps allowed to fail.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/96/",
      "card": "https://rubric.hrih.si/og/2026-11-05/96.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.502,
          "judge_a": 0.3,
          "judge_b": 0.42,
          "mean": 0.4075,
          "spread": 0.202
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.73,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7033,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.613,
          "judge_a": 0.45,
          "judge_b": 0.55,
          "mean": 0.5378,
          "spread": 0.163
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.893,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7908,
          "spread": 0.193
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.953,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7911,
          "spread": 0.353
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.893,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7375,
          "spread": 0.293
        },
        "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.09,
          "judge_a": 0.25,
          "judge_b": 0.18,
          "mean": 0.1733,
          "spread": 0.16
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.23,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.17,
          "spread": 0.15
        }
      }
    },
    {
      "rank": 97,
      "id": "st_20261105_14303",
      "title": "Calif.io iOS attack defeats Lockdown Mode and survives update",
      "url": "https://www.heise.de/en/news/Calif-io-iOS-attack-defeats-Lockdown-Mode-and-survives-update-11511465.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T12:56:00.000Z",
      "jev": 0.5147,
      "judge_a": 0.5363,
      "judge_b": 0.7318,
      "score": 0.5942,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 90,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Security firm Calif.io, including researcher Stefan Esser, says it has built an iOS exploit that defeats Apple's Lockdown Mode, starting from a malicious PDF delivered via AirDrop, and that the compromise persists even after installing iOS 27.2.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/97/",
      "card": "https://rubric.hrih.si/og/2026-11-05/97.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.69,
          "judge_a": 0.62,
          "judge_b": 0.86,
          "mean": 0.7233,
          "spread": 0.24
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.61,
          "judge_a": 0.8,
          "judge_b": 0.93,
          "mean": 0.78,
          "spread": 0.32
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.547,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.5889,
          "spread": 0.073
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.468,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.5458,
          "spread": 0.27
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.433,
          "judge_a": 0.3,
          "judge_b": 0.58,
          "mean": 0.4378,
          "spread": 0.28
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.565,
          "judge_a": 0.35,
          "judge_b": 0.38,
          "mean": 0.4317,
          "spread": 0.215
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.8,
          "judge_b": 0.97,
          "mean": 0.8867,
          "spread": 0.17
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.15,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0767,
          "spread": 0.12
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.45,
          "judge_a": 0.55,
          "judge_b": 0.42,
          "mean": 0.4733,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 98,
      "id": "st_20261105_14711",
      "title": "Cassandra – free tool to check if you got affected by the Cursor hack",
      "url": "https://ciphero.ai/cassandra/hn",
      "domain": "ciphero.ai",
      "site": "Ciphero",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:19:46.000Z",
      "jev": 0.7193,
      "judge_a": 0.399,
      "judge_b": 0.6666,
      "score": 0.5949,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 89,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0008,
      "summary": "Cassandra is a read-only shell script (and PowerShell equivalent) that checks macOS, Linux, and Windows machines for the published indicators of a backdoor in Claude Code extension versions 2.1.312 and 2.1.313, as described in Cursor's security notice.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/98/",
      "card": "https://rubric.hrih.si/og/2026-11-05/98.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.603,
          "judge_a": 0.35,
          "judge_b": 0.55,
          "mean": 0.5008,
          "spread": 0.253
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.84,
          "judge_a": 0.5,
          "judge_b": 0.88,
          "mean": 0.74,
          "spread": 0.38
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.423,
          "judge_a": 0.4,
          "judge_b": 0.58,
          "mean": 0.4678,
          "spread": 0.18
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.915,
          "judge_a": 0.75,
          "judge_b": 0.84,
          "mean": 0.835,
          "spread": 0.165
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.94,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7867,
          "spread": 0.34
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.995,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7917,
          "spread": 0.395
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.73,
          "judge_a": 0.15,
          "judge_b": 0.86,
          "mean": 0.58,
          "spread": 0.71
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.35,
          "judge_b": 0.28,
          "mean": 0.23,
          "spread": 0.29
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.2,
          "judge_a": 0.3,
          "judge_b": 0.22,
          "mean": 0.24,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 99,
      "id": "st_20261105_14731",
      "title": "Security support for Drupal core minor versions reduced to 8 months",
      "url": "https://www.drupal.org/psa-2026-11-02",
      "domain": "drupal.org",
      "site": "Drupal.org",
      "categories": [
        "programming",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:21:50.000Z",
      "jev": 0.6317,
      "judge_a": 0.4865,
      "judge_b": 0.662,
      "score": 0.5934,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 91,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Drupal is cutting security coverage for each minor release of its core from 12 months to 8 months starting in 2027, citing a surge in AI-driven vulnerability reports that strains the Drupal Security Team's limited funding.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/99/",
      "card": "https://rubric.hrih.si/og/2026-11-05/99.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.655,
          "judge_a": 0.4,
          "judge_b": 0.56,
          "mean": 0.5383,
          "spread": 0.255
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.67,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.6133,
          "spread": 0.27
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.567,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.5489,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.735,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7383,
          "spread": 0.08
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.47,
          "judge_a": 0.5,
          "judge_b": 0.86,
          "mean": 0.61,
          "spread": 0.39
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.583,
          "judge_a": 0.2,
          "judge_b": 0.28,
          "mean": 0.3542,
          "spread": 0.383
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.93,
          "mean": 0.8767,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0533,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.16,
          "judge_a": 0.1,
          "judge_b": 0.04,
          "mean": 0.1,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 100,
      "id": "st_20261105_14560",
      "title": "Deterministic security and privacy checks for code from AI assistants",
      "url": "https://github.com/ankush1982/ai-secure-by-design",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai",
        "security",
        "devops",
        "policy"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security",
        "Infrastructure & DevOps",
        "Policy & regulation"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T16:03:48.000Z",
      "jev": 0.7213,
      "judge_a": 0.423,
      "judge_b": 0.6205,
      "score": 0.5882,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 92,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Secure & Private by Design is an open-source tool that runs one deterministic engine for security and privacy checks on code, whether an AI assistant or a person wrote it.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/100/",
      "card": "https://rubric.hrih.si/og/2026-11-05/100.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.555,
          "judge_a": 0.3,
          "judge_b": 0.48,
          "mean": 0.445,
          "spread": 0.255
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6733,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.723,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.5578,
          "spread": 0.323
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.933,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.8175,
          "spread": 0.233
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.817,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7122,
          "spread": 0.217
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.978,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.8458,
          "spread": 0.278
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.8933,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.3,
          "judge_b": 0.28,
          "mean": 0.22,
          "spread": 0.22
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.3,
          "judge_b": 0.22,
          "mean": 0.2433,
          "spread": 0.09
        }
      }
    },
    {
      "rank": 101,
      "id": "st_20261105_14732",
      "title": "Benchfmt.rs: Bringing Go's benchmarking and benchstat workflow to Rust",
      "url": "https://bwplotka.dev/2026/rust-microbenchmarks-benchstat/",
      "domain": "bwplotka.dev",
      "site": "@bwplotka",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:20:06.000Z",
      "jev": 0.6381,
      "judge_a": 0.543,
      "judge_b": 0.5818,
      "score": 0.5876,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 93,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Benchfmt.rs is a zero-dependency Rust benchmark runner and Criterion/libtest converter that emits Go's benchstat-compatible format, adding /key=value sub-benchmark projections, per-op heap allocation tracking, and pprof profiling.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/101/",
      "card": "https://rubric.hrih.si/og/2026-11-05/101.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.488,
          "judge_a": 0.35,
          "judge_b": 0.48,
          "mean": 0.4392,
          "spread": 0.138
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.7533,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.557,
          "judge_a": 0.45,
          "judge_b": 0.34,
          "mean": 0.4489,
          "spread": 0.217
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.84,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7733,
          "spread": 0.14
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.983,
          "judge_a": 0.72,
          "judge_b": 0.84,
          "mean": 0.8478,
          "spread": 0.263
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 1,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9533,
          "spread": 0.1
        },
        "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.07,
          "judge_a": 0.15,
          "judge_b": 0.28,
          "mean": 0.1667,
          "spread": 0.21
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.39,
          "judge_a": 0.3,
          "judge_b": 0.58,
          "mean": 0.4233,
          "spread": 0.28
        }
      }
    },
    {
      "rank": 102,
      "id": "st_20261105_14639",
      "title": "What AI Model Effort to Use for Coding",
      "url": "https://codingplans.dev/recipes/optimal-effort/",
      "domain": "codingplans.dev",
      "site": "codingplans.dev",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T17:06:15.000Z",
      "jev": 0.674,
      "judge_a": 0.3885,
      "judge_b": 0.6958,
      "score": 0.5861,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 94,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A coding-recipes site publishes per-model guidance on the cheapest AI reasoning-effort setting that keeps a model within 90% of its best FrontierCode 2.0 score, skipping levels a cheaper same-vendor model matches. For Claude Opus 5.5, xhigh reaches 95% of peak score at 40% of max's cost.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/102/",
      "card": "https://rubric.hrih.si/og/2026-11-05/102.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.575,
          "judge_a": 0.2,
          "judge_b": 0.55,
          "mean": 0.4417,
          "spread": 0.375
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.45,
          "judge_b": 0.9,
          "mean": 0.6767,
          "spread": 0.45
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.767,
          "judge_a": 0.5,
          "judge_b": 0.8,
          "mean": 0.6889,
          "spread": 0.3
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.935,
          "judge_a": 0.7,
          "judge_b": 0.85,
          "mean": 0.8283,
          "spread": 0.235
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.677,
          "judge_a": 0.45,
          "judge_b": 0.42,
          "mean": 0.5156,
          "spread": 0.257
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.548,
          "judge_a": 0.4,
          "judge_b": 0.45,
          "mean": 0.4658,
          "spread": 0.147
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.89,
          "spread": 0.14
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.25,
          "judge_b": 0.08,
          "mean": 0.1467,
          "spread": 0.17
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.26,
          "judge_a": 0.3,
          "judge_b": 0.35,
          "mean": 0.3033,
          "spread": 0.09
        }
      }
    },
    {
      "rank": 103,
      "id": "st_20261105_14372",
      "title": "Automated Secret Rotation Is Chaos Engineering for Your Identity Plane",
      "url": "https://infisical.com/blog/automated-secret-rotation",
      "domain": "infisical.com",
      "site": "Infisical",
      "categories": [
        "programming",
        "security",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:01:45.000Z",
      "jev": 0.718,
      "judge_a": 0.4224,
      "judge_b": 0.6172,
      "score": 0.5858,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 95,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A piece argues that automated secret rotation works like chaos engineering for identity: rotating credentials on a schedule forces teams to find hidden assumptions, such as secrets shared across environments or applications that never reload credentials, before an incident.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/103/",
      "card": "https://rubric.hrih.si/og/2026-11-05/103.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.658,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.5292,
          "spread": 0.308
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.7033,
          "spread": 0.27
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.82,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.68,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.943,
          "judge_a": 0.72,
          "judge_b": 0.82,
          "mean": 0.8275,
          "spread": 0.223
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.473,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4811,
          "spread": 0.27
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.965,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7617,
          "spread": 0.365
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.3,
          "judge_b": 0.86,
          "mean": 0.6733,
          "spread": 0.56
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.4,
          "judge_b": 0.42,
          "mean": 0.3133,
          "spread": 0.3
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.35,
          "judge_a": 0.25,
          "judge_b": 0.24,
          "mean": 0.28,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 104,
      "id": "st_20261105_14269",
      "title": "How //go:embed Works: From Source Files to Binary",
      "url": "https://internals-for-interns.com/posts/how-go-embed-works/",
      "domain": "internals-for-interns.com",
      "site": "Internals for Interns",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Tutorial",
      "depth": "three_judges",
      "published_at": "2026-11-04T12:45:22.000Z",
      "jev": 0.6714,
      "judge_a": 0.4935,
      "judge_b": 0.5924,
      "score": 0.5857,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 97,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A walkthrough of Go's //go:embed directive, which since Go 1.16 lets programs bake strings, byte slices, or a read-only file system into the compiled binary at build time.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/104/",
      "card": "https://rubric.hrih.si/og/2026-11-05/104.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.488,
          "judge_a": 0.3,
          "judge_b": 0.4,
          "mean": 0.3958,
          "spread": 0.188
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.6,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.64,
          "spread": 0.12
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.603,
          "judge_a": 0.35,
          "judge_b": 0.38,
          "mean": 0.4444,
          "spread": 0.253
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.925,
          "judge_a": 0.55,
          "judge_b": 0.7,
          "mean": 0.725,
          "spread": 0.375
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.933,
          "judge_a": 0.75,
          "judge_b": 0.82,
          "mean": 0.8344,
          "spread": 0.183
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.85,
          "judge_b": 0.86,
          "mean": 0.9025,
          "spread": 0.148
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.93,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.04,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.16,
          "judge_a": 0.15,
          "judge_b": 0.2,
          "mean": 0.17,
          "spread": 0.05
        }
      }
    },
    {
      "rank": 105,
      "id": "st_20261105_13841",
      "title": "C++26 Disapproved",
      "url": "https://andreasfertig.com/blog/2026/11/cpp26-dis-failed-how-does-cpp-survive/",
      "domain": "andreasfertig.com",
      "site": "andreasfertig.com",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T00:33:22.000Z",
      "jev": 0.4162,
      "judge_a": 0.5846,
      "judge_b": 0.7471,
      "score": 0.5825,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 98,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The author, a German delegate to the C++ Standardization Committee, reports that the C++26 Draft International Standard failed its October 23, 2026 ISO National Body vote, the first such failure in C++ history, apparently over the Contracts feature.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/105/",
      "card": "https://rubric.hrih.si/og/2026-11-05/105.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.643,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6875,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.39,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.6967,
          "spread": 0.51
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.627,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.6722,
          "spread": 0.093
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.328,
          "judge_a": 0.55,
          "judge_b": 0.68,
          "mean": 0.5192,
          "spread": 0.353
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.22,
          "judge_a": 0.45,
          "judge_b": 0.7,
          "mean": 0.4567,
          "spread": 0.48
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.43,
          "judge_a": 0.3,
          "judge_b": 0.48,
          "mean": 0.4033,
          "spread": 0.18
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.7,
          "judge_b": 0.98,
          "mean": 0.8567,
          "spread": 0.28
        },
        "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.5,
          "judge_a": 0.35,
          "judge_b": 0.3,
          "mean": 0.3833,
          "spread": 0.2
        }
      }
    },
    {
      "rank": 106,
      "id": "st_20261105_14065",
      "title": "Nvidia DGX Spark encrypted firmware slows inference speed to 35% on Linux",
      "url": "https://www.mindstudio.ai/blog/linux-nvidia-rtx-spark-laptop",
      "domain": "mindstudio.ai",
      "site": "MindStudio",
      "categories": [
        "ai",
        "hardware"
      ],
      "category_names": [
        "AI & machine learning",
        "Hardware & devices"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T08:46:29.000Z",
      "jev": 0.5754,
      "judge_a": 0.476,
      "judge_b": 0.6351,
      "score": 0.5621,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 129,
      "topic_penalty": 0.06,
      "repeat_penalty": 0,
      "summary": "Testers found that the Nvidia RTX Spark laptop running Linux stays stuck at about 780 MHz GPU clock when plugged in, compared with roughly 2.2 GHz on Windows, cutting GPT-OSS-120B throughput to around 14 tokens per second.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/106/",
      "card": "https://rubric.hrih.si/og/2026-11-05/106.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.515,
          "judge_a": 0.35,
          "judge_b": 0.68,
          "mean": 0.515,
          "spread": 0.33
        },
        "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.5,
          "judge_a": 0.35,
          "judge_b": 0.55,
          "mean": 0.4667,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.678,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.6858,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.61,
          "judge_a": 0.6,
          "judge_b": 0.76,
          "mean": 0.6567,
          "spread": 0.16
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.94,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.7867,
          "spread": 0.24
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.8967,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.1,
          "judge_b": 0.2,
          "mean": 0.1333,
          "spread": 0.1
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.44,
          "judge_a": 0.25,
          "judge_b": 0.82,
          "mean": 0.5033,
          "spread": 0.57
        }
      }
    },
    {
      "rank": 107,
      "id": "st_20261105_14905",
      "title": "Skill to verify and optimize software with TLA+ and ts-tla",
      "url": "https://github.com/paralin/tla-skill",
      "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-04T21:28:43.000Z",
      "jev": 0.6336,
      "judge_a": 0.4455,
      "judge_b": 0.6657,
      "score": 0.5816,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 99,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A GitHub project by paralin, \"Skill to verify and optimize software with TLA+ and ts-tla\", packages an agent skill that has coding agents model stateful code in TLA+, keep each spec beside its source file, and run the tla-ts checker on every build.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/107/",
      "card": "https://rubric.hrih.si/og/2026-11-05/107.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.505,
          "judge_a": 0.3,
          "judge_b": 0.56,
          "mean": 0.455,
          "spread": 0.26
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.68,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.503,
          "judge_a": 0.4,
          "judge_b": 0.42,
          "mean": 0.4411,
          "spread": 0.103
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.805,
          "judge_a": 0.55,
          "judge_b": 0.84,
          "mean": 0.7317,
          "spread": 0.29
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.94,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7733,
          "spread": 0.34
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.8625,
          "spread": 0.288
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.9,
          "judge_b": 0.93,
          "mean": 0.9033,
          "spread": 0.05
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.1533,
          "spread": 0.12
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.15,
          "judge_a": 0.25,
          "judge_b": 0.16,
          "mean": 0.1867,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 108,
      "id": "st_20261105_14695",
      "title": "A study of sequence weighting at scale: Jane Street",
      "url": "https://blog.janestreet.com/a-study-of-sequence-weighting-at-scale/",
      "domain": "blog.janestreet.com",
      "site": "Jane Street Blog",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:30:24.000Z",
      "jev": 0.5561,
      "judge_a": 0.426,
      "judge_b": 0.7587,
      "score": 0.5803,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 100,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Jane Street researchers studied how language models learn from individually weighted training sequences across model sizes, from tens of millions to hundreds of billions of parameters, using in-house models and the open-weight Qwen 2.5 family.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/108/",
      "card": "https://rubric.hrih.si/og/2026-11-05/108.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.625,
          "judge_a": 0.35,
          "judge_b": 0.78,
          "mean": 0.585,
          "spread": 0.43
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.57,
          "judge_a": 0.55,
          "judge_b": 0.9,
          "mean": 0.6733,
          "spread": 0.35
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.633,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5844,
          "spread": 0.32
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.455,
          "judge_a": 0.4,
          "judge_b": 0.78,
          "mean": 0.545,
          "spread": 0.38
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.78,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.7333,
          "spread": 0.08
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.828,
          "judge_a": 0.75,
          "judge_b": 0.87,
          "mean": 0.8158,
          "spread": 0.12
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.8933,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.1333,
          "spread": 0.11
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.31,
          "judge_a": 0.25,
          "judge_b": 0.2,
          "mean": 0.2533,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 109,
      "id": "st_20261105_14763",
      "title": "Open decision model that answers typed questions about audio",
      "url": "https://github.com/egma-ai/homi",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:39:11.000Z",
      "jev": 0.6045,
      "judge_a": 0.4395,
      "judge_b": 0.6957,
      "score": 0.5799,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 103,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "homi is an open model that answers typed yes/no, multiple-choice and ordinal questions about an audio clip, returning a probability for each option rather than generated text.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/109/",
      "card": "https://rubric.hrih.si/og/2026-11-05/109.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.55,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.5067,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.55,
          "judge_b": 0.84,
          "mean": 0.6767,
          "spread": 0.29
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.493,
          "judge_a": 0.4,
          "judge_b": 0.48,
          "mean": 0.4578,
          "spread": 0.093
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.69,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.67,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.8633,
          "spread": 0.29
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.995,
          "judge_a": 0.75,
          "judge_b": 0.93,
          "mean": 0.8917,
          "spread": 0.245
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.95,
          "judge_b": 0.98,
          "mean": 0.9433,
          "spread": 0.08
        },
        "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.37,
          "judge_a": 0.4,
          "judge_b": 0.16,
          "mean": 0.31,
          "spread": 0.24
        }
      }
    },
    {
      "rank": 110,
      "id": "st_20261105_14030",
      "title": "Commentary: Deno joins Cloudflare — judged by its own promises",
      "url": "https://www.heise.de/en/blog/Commentary-Deno-joins-Cloudflare-judged-by-its-own-promises-11509407.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "programming",
        "startups"
      ],
      "category_names": [
        "Programming & dev tools",
        "Startups & founders"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-04T07:30:00.000Z",
      "jev": 0.576,
      "judge_a": 0.5761,
      "judge_b": 0.5876,
      "score": 0.5798,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 104,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Cloudflare is acquiring Deno, including its whole team, which will move to the Workers platform. The Deno runtime gets one more year of maintenance before development stops, Deno Deploy shuts down within six months, and the JSR registry moves to Cloudflare.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/110/",
      "card": "https://rubric.hrih.si/og/2026-11-05/110.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.658,
          "judge_a": 0.55,
          "judge_b": 0.55,
          "mean": 0.5858,
          "spread": 0.107
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.67,
          "judge_a": 0.75,
          "judge_b": 0.74,
          "mean": 0.72,
          "spread": 0.08
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.67,
          "judge_a": 0.67,
          "judge_b": 0.62,
          "mean": 0.6533,
          "spread": 0.05
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.523,
          "judge_a": 0.55,
          "judge_b": 0.48,
          "mean": 0.5175,
          "spread": 0.07
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.563,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6144,
          "spread": 0.28
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.44,
          "judge_a": 0.25,
          "judge_b": 0.34,
          "mean": 0.3433,
          "spread": 0.19
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.7,
          "judge_b": 0.98,
          "mean": 0.86,
          "spread": 0.28
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.0533,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.33,
          "judge_a": 0.2,
          "judge_b": 0.22,
          "mean": 0.25,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 111,
      "id": "st_20261105_14136",
      "title": "AI coding agents are installing abandoned MCP servers with known security issues",
      "url": "https://www.glow.io/blogs/mcphantom-ai-coding-agents-are-installing-vulnerable-deprecated-mcp-servers-from-training-data",
      "domain": "glow.io",
      "site": "glow.io",
      "categories": [
        "programming",
        "ai",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T10:58:43.000Z",
      "jev": 0.7372,
      "judge_a": 0.4715,
      "judge_b": 0.5282,
      "score": 0.5789,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 107,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Glow Labs reports that AI coding agents repeatedly install deprecated Anthropic MCP reference servers, such as GitHub and Puppeteer, because those names appear in their training data rather than current registries. The archived servers carry four high-severity vulnerabilities, including remote code execution in Puppeteer, and maintainers have declined fixes.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/111/",
      "card": "https://rubric.hrih.si/og/2026-11-05/111.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.728,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.6192,
          "spread": 0.278
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.85,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7567,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.753,
          "judge_a": 0.55,
          "judge_b": 0.7,
          "mean": 0.6678,
          "spread": 0.203
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.88,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7867,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.76,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.6133,
          "spread": 0.26
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.825,
          "judge_a": 0.55,
          "judge_b": 0.58,
          "mean": 0.6517,
          "spread": 0.275
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8433,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.21,
          "judge_a": 0.35,
          "judge_b": 0.9,
          "mean": 0.4867,
          "spread": 0.69
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.29,
          "judge_a": 0.4,
          "judge_b": 0.38,
          "mean": 0.3567,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 112,
      "id": "st_20261105_14880",
      "title": "Verne V0.5: U.S. Open-Weight SOTA Robotics Foundation Model",
      "url": "https://vernerobotics.com/research/verne-v0-5",
      "domain": "vernerobotics.com",
      "site": "vernerobotics.com",
      "categories": [
        "ai",
        "hardware"
      ],
      "category_names": [
        "AI & machine learning",
        "Hardware & devices"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T20:47:24.000Z",
      "jev": 0.5297,
      "judge_a": 0.5165,
      "judge_b": 0.6817,
      "score": 0.5759,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 109,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Verne has released V0.5, an open-weight world action model for dual-arm mobile robots aimed at long-horizon industrial tasks. The company says it is the leading open-weight model from a US developer on the LIBERO and RoboTwin 2.0 benchmarks at publication.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/112/",
      "card": "https://rubric.hrih.si/og/2026-11-05/112.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.708,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.6925,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.6,
          "judge_a": 0.7,
          "judge_b": 0.94,
          "mean": 0.7467,
          "spread": 0.34
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.523,
          "judge_a": 0.55,
          "judge_b": 0.55,
          "mean": 0.5411,
          "spread": 0.027
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.5,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6067,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.863,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7478,
          "spread": 0.263
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.913,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8642,
          "spread": 0.112
        },
        "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.14,
          "judge_a": 0.35,
          "judge_b": 0.28,
          "mean": 0.2567,
          "spread": 0.21
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.74,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.6033,
          "spread": 0.29
        }
      }
    },
    {
      "rank": 113,
      "id": "st_20261105_14712",
      "title": "Dragonfly License Change",
      "url": "https://github.com/dragonflydb/dragonfly/blob/main/LICENSE.md",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "data"
      ],
      "category_names": [
        "Data"
      ],
      "format": "Other",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:12:07.000Z",
      "jev": 0.4702,
      "judge_a": 0.603,
      "judge_b": 0.594,
      "score": 0.5557,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 134,
      "topic_penalty": 0.06,
      "repeat_penalty": 0,
      "summary": "DragonflyDB Ltd., the Israeli maker of the Dragonfly in-memory data store, has published a revised source-available license for Version 2.1 and later. Users may freely use, modify and redistribute the code, but production use is capped at 100 aggregate vCPUs across an organization and its affiliates, with larger deployments requiring…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/113/",
      "card": "https://rubric.hrih.si/og/2026-11-05/113.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.525,
          "judge_a": 0.5,
          "judge_b": 0.55,
          "mean": 0.525,
          "spread": 0.05
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.53,
          "judge_a": 0.7,
          "judge_b": 0.7,
          "mean": 0.6433,
          "spread": 0.17
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.303,
          "judge_a": 0.5,
          "judge_b": 0.3,
          "mean": 0.3678,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.583,
          "judge_a": 0.8,
          "judge_b": 0.7,
          "mean": 0.6942,
          "spread": 0.218
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.613,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.7978,
          "spread": 0.367
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.378,
          "judge_a": 0.1,
          "judge_b": 0.15,
          "mean": 0.2092,
          "spread": 0.277
        },
        "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.14,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.1067,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.27,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.1333,
          "spread": 0.24
        }
      }
    },
    {
      "rank": 114,
      "id": "st_20261105_14384",
      "title": "TScert: A Sound Core for TypeScript",
      "url": "https://github.com/cristianoc/TScert",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:58:52.000Z",
      "jev": 0.5512,
      "judge_a": 0.4255,
      "judge_b": 0.7445,
      "score": 0.5737,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 112,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "TScert is a research checker for TypeScript functions that accepts a function only with a proof, validated by a Lean-proved soundness theorem rather than by trusting inferred types.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/114/",
      "card": "https://rubric.hrih.si/og/2026-11-05/114.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.52,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5467,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.61,
          "judge_a": 0.55,
          "judge_b": 0.88,
          "mean": 0.68,
          "spread": 0.33
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.463,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.4644,
          "spread": 0.23
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.498,
          "judge_a": 0.35,
          "judge_b": 0.7,
          "mean": 0.5158,
          "spread": 0.35
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.967,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.8289,
          "spread": 0.267
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.82,
          "judge_a": 0.8,
          "judge_b": 0.94,
          "mean": 0.8533,
          "spread": 0.14
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.9267,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1067,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.17,
          "judge_a": 0.25,
          "judge_b": 0.08,
          "mean": 0.1667,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 115,
      "id": "st_20261105_14876",
      "title": "The client asked for a chatbot. We built a fancy PDF viewer instead",
      "url": "https://ingram.tech/posts/we-built-a-fancy-pdf-viewer",
      "domain": "ingram.tech",
      "site": "Ingram Technologies",
      "categories": [
        "programming",
        "ai",
        "product"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Product"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T20:49:03.000Z",
      "jev": 0.6012,
      "judge_a": 0.4095,
      "judge_b": 0.7081,
      "score": 0.5729,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 113,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The team at Ingram built a PDF viewer rather than the requested chatbot for Belgian paediatric oncologists, who must check trial protocols of 50 to 415 pages. Their pipeline extracts each protocol into a structured, versioned spec, with model-labelled sections and code-copied verbatim text checked against the page.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/115/",
      "card": "https://rubric.hrih.si/og/2026-11-05/115.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.475,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.465,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.7233,
          "spread": 0.26
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.447,
          "judge_a": 0.3,
          "judge_b": 0.58,
          "mean": 0.4422,
          "spread": 0.28
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.78,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7333,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.677,
          "judge_a": 0.6,
          "judge_b": 0.87,
          "mean": 0.7156,
          "spread": 0.27
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.828,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7692,
          "spread": 0.128
        },
        "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.12,
          "judge_a": 0.35,
          "judge_b": 0.22,
          "mean": 0.23,
          "spread": 0.23
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.1967,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 116,
      "id": "st_20261105_14835",
      "title": "DeepSeek alone now accounts for 53% of all token volume on Openrouter",
      "url": "https://dirac.run/labs-market-share",
      "domain": "dirac.run",
      "site": "Dirac",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T20:26:56.000Z",
      "jev": 0.5429,
      "judge_a": 0.4475,
      "judge_b": 0.7249,
      "score": 0.5717,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 114,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "DeepSeek alone accounted for 53.2% of OpenRouter's token volume on 2026-11-03, about 14.32 trillion tokens out of a daily total of 26.94 trillion, according to OpenRouter's published data.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/116/",
      "card": "https://rubric.hrih.si/og/2026-11-05/116.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.628,
          "judge_a": 0.4,
          "judge_b": 0.78,
          "mean": 0.6025,
          "spread": 0.38
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.59,
          "judge_a": 0.6,
          "judge_b": 0.93,
          "mean": 0.7067,
          "spread": 0.34
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.62,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.6067,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.46,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4767,
          "spread": 0.27
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.963,
          "judge_a": 0.7,
          "judge_b": 0.84,
          "mean": 0.8344,
          "spread": 0.263
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.545,
          "judge_a": 0.2,
          "judge_b": 0.5,
          "mean": 0.415,
          "spread": 0.345
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.8833,
          "spread": 0.18
        },
        "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.39,
          "judge_a": 0.2,
          "judge_b": 0.38,
          "mean": 0.3233,
          "spread": 0.19
        }
      }
    },
    {
      "rank": 117,
      "id": "st_20261105_14070",
      "title": "Umbra – a autonomous Android agent with background screen control",
      "url": "https://github.com/chengmatt416/umbra",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-04T09:30:16.000Z",
      "jev": 0.6508,
      "judge_a": 0.373,
      "judge_b": 0.6907,
      "score": 0.5715,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 115,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Umbra is a free, MIT-licensed Android 16 app, shared on Hacker News as a Show HN, that runs an autonomous agent on the phone. The agent operates apps through accessibility and screen control, builds code in an on-device Debian environment (chroot with root, proot without), and requires approval for risky…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/117/",
      "card": "https://rubric.hrih.si/og/2026-11-05/117.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.555,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.5083,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.55,
          "judge_b": 0.86,
          "mean": 0.7167,
          "spread": 0.31
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.49,
          "judge_a": 0.4,
          "judge_b": 0.48,
          "mean": 0.4567,
          "spread": 0.09
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.735,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6517,
          "spread": 0.235
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.857,
          "judge_a": 0.5,
          "judge_b": 0.82,
          "mean": 0.7256,
          "spread": 0.357
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.935,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.7917,
          "spread": 0.335
        },
        "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.17,
          "judge_a": 0.45,
          "judge_b": 0.18,
          "mean": 0.2667,
          "spread": 0.28
        }
      }
    },
    {
      "rank": 118,
      "id": "st_20261105_14725",
      "title": "Making Flawed Benchmarks Useful",
      "url": "https://blatent.ai/blog/making-flawed-benchmarks-useful",
      "domain": "blatent.ai",
      "site": "Blatent",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:02:44.000Z",
      "jev": 0.6179,
      "judge_a": 0.368,
      "judge_b": 0.7251,
      "score": 0.5703,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 116,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Blatent researchers examine why open benchmark scoring can misjudge correct model answers, citing cases like PHYBench's algebraically equivalent expressions and QASPER's partial-credit penalties. They describe how exact-match and token-F1 metrics miss semantic equivalence, and propose checking exact-source extraction deterministically before using an LLM judge to assess correctness.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/118/",
      "card": "https://rubric.hrih.si/og/2026-11-05/118.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.61,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.69,
          "spread": 0.26
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.647,
          "judge_a": 0.4,
          "judge_b": 0.76,
          "mean": 0.6022,
          "spread": 0.36
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.675,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.685,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.707,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6622,
          "spread": 0.28
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.783,
          "judge_a": 0.6,
          "judge_b": 0.64,
          "mean": 0.6742,
          "spread": 0.183
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.5,
          "judge_b": 0.95,
          "mean": 0.77,
          "spread": 0.45
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.45,
          "judge_b": 0.22,
          "mean": 0.2467,
          "spread": 0.38
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.2033,
          "spread": 0.27
        }
      }
    },
    {
      "rank": 119,
      "id": "st_20261105_14164",
      "title": "Trainlint, static checks for ML bugs that don't crash",
      "url": "https://github.com/Satvik-jain/trainlint",
      "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-04T11:16:42.000Z",
      "jev": 0.6295,
      "judge_a": 0.4841,
      "judge_b": 0.5876,
      "score": 0.567,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 117,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Trainlint is an offline, standard-library-only static checker that flags ML bugs which run without crashing, such as scalers fitted before a train/test split, eval mode left on during training, and softmax before CrossEntropyLoss.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/119/",
      "card": "https://rubric.hrih.si/og/2026-11-05/119.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.483,
          "judge_a": 0.3,
          "judge_b": 0.42,
          "mean": 0.4008,
          "spread": 0.183
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.63,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.67,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.517,
          "judge_a": 0.4,
          "judge_b": 0.42,
          "mean": 0.4456,
          "spread": 0.117
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.848,
          "judge_a": 0.68,
          "judge_b": 0.72,
          "mean": 0.7492,
          "spread": 0.167
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.94,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7733,
          "spread": 0.34
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.6,
          "judge_b": 0.57,
          "mean": 0.6833,
          "spread": 0.31
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.9,
          "judge_b": 0.93,
          "mean": 0.8967,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.14,
          "spread": 0.09
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1567,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 120,
      "id": "st_20261105_14394",
      "title": "You Cannot Trust Your Agent (and How to Isolate It)",
      "url": "https://soarhen.com/why-you-cannot-trust-your-agent/",
      "domain": "soarhen.com",
      "site": "soarhen.com",
      "categories": [
        "programming",
        "ai",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security"
      ],
      "format": "Tutorial",
      "depth": "three_judges",
      "published_at": "2026-11-04T14:47:40.000Z",
      "jev": 0.6749,
      "judge_a": 0.4665,
      "judge_b": 0.5596,
      "score": 0.567,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 118,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A developer describes running AI code agents inside a kernel-level sandbox built with bwrap (bubblewrap) on Linux, so the agent sees the root filesystem read-only, only the target project with read-write access, and home-directory config writes confined to temporary overlays.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/120/",
      "card": "https://rubric.hrih.si/og/2026-11-05/120.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.545,
          "judge_a": 0.3,
          "judge_b": 0.48,
          "mean": 0.4417,
          "spread": 0.245
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7067,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.773,
          "judge_a": 0.5,
          "judge_b": 0.62,
          "mean": 0.6311,
          "spread": 0.273
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.918,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7992,
          "spread": 0.218
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.607,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.5122,
          "spread": 0.257
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.97,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.75,
          "spread": 0.37
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.79,
          "judge_a": 0.4,
          "judge_b": 0.2,
          "mean": 0.4633,
          "spread": 0.59
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.0433,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.43,
          "judge_a": 0.35,
          "judge_b": 0.82,
          "mean": 0.5333,
          "spread": 0.47
        }
      }
    },
    {
      "rank": 121,
      "id": "st_20261105_14272",
      "title": "Data Access Testing with Testcontainers",
      "url": "https://blog.master.dev/data-access-testing-with-testcontainers/",
      "domain": "blog.master.dev",
      "site": "blog.master.dev",
      "categories": [
        "programming",
        "data"
      ],
      "category_names": [
        "Programming & dev tools",
        "Data"
      ],
      "format": "Tutorial",
      "depth": "three_judges",
      "published_at": "2026-11-04T13:26:39.000Z",
      "jev": 0.6368,
      "judge_a": 0.4,
      "judge_b": 0.661,
      "score": 0.5659,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 119,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A tutorial post explains how to unit test data access code using Testcontainers and the @testcontainers/postgresql package, running a real Postgres instance in Docker instead of wrapping tests in transactions against a shared test database.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/121/",
      "card": "https://rubric.hrih.si/og/2026-11-05/121.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.47,
          "judge_a": 0.2,
          "judge_b": 0.48,
          "mean": 0.3833,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.49,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.5733,
          "spread": 0.33
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.67,
          "judge_a": 0.3,
          "judge_b": 0.55,
          "mean": 0.5067,
          "spread": 0.37
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.943,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7875,
          "spread": 0.343
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.847,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.7089,
          "spread": 0.347
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.7,
          "judge_b": 0.68,
          "mean": 0.7892,
          "spread": 0.308
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.9,
          "judge_b": 0.93,
          "mean": 0.8867,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.08,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.1667,
          "spread": 0.08
        }
      }
    },
    {
      "rank": 122,
      "id": "st_20261105_14221",
      "title": "Forthcoming security update of Node.js; November 11, 2026",
      "url": "https://nodejs.org/en/blog/vulnerability/november-2026-security-releases",
      "domain": "nodejs.org",
      "site": "nodejs.org",
      "categories": [
        "programming",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T12:06:15.000Z",
      "jev": 0.5841,
      "judge_a": 0.5392,
      "judge_b": 0.5713,
      "score": 0.5648,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 122,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The Node.js project has announced coordinated security releases for its 26.x, 24.x, and 22.x lines, scheduled for or shortly after November 11, 2026. The highest-severity issue fixed in each line is rated HIGH.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/122/",
      "card": "https://rubric.hrih.si/og/2026-11-05/122.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.698,
          "judge_a": 0.42,
          "judge_b": 0.45,
          "mean": 0.5225,
          "spread": 0.278
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.48,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.55,
          "spread": 0.14
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.667,
          "judge_a": 0.67,
          "judge_b": 0.72,
          "mean": 0.6856,
          "spread": 0.053
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.82,
          "judge_a": 0.7,
          "judge_b": 0.58,
          "mean": 0.7,
          "spread": 0.24
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.45,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.5267,
          "spread": 0.23
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.335,
          "judge_a": 0.12,
          "judge_b": 0.12,
          "mean": 0.1917,
          "spread": 0.215
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.85,
          "judge_b": 0.96,
          "mean": 0.88,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.22,
          "judge_a": 0.03,
          "judge_b": 0.02,
          "mean": 0.09,
          "spread": 0.2
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.13,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.0867,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 123,
      "id": "st_20261105_14283",
      "title": "Screenshot to Tokens – give a web app a design system from a screenshot",
      "url": "https://github.com/nhunsaker/screenshot-to-tokens",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai",
        "design"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Design & UX"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-04T13:09:26.000Z",
      "jev": 0.6844,
      "judge_a": 0.362,
      "judge_b": 0.647,
      "score": 0.5644,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 123,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Screenshot to Tokens, a hackathon project from Metatoy, takes a live web app with no design tokens, segments its interface from pixels using SAM 3.1, and has Muse Spark name a three-tier token set that a person reviews.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/123/",
      "card": "https://rubric.hrih.si/og/2026-11-05/123.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.608,
          "judge_a": 0.3,
          "judge_b": 0.55,
          "mean": 0.4858,
          "spread": 0.308
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.68,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.607,
          "judge_a": 0.35,
          "judge_b": 0.43,
          "mean": 0.4622,
          "spread": 0.257
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.873,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7308,
          "spread": 0.273
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.83,
          "spread": 0.39
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.978,
          "judge_a": 0.7,
          "judge_b": 0.93,
          "mean": 0.8692,
          "spread": 0.278
        },
        "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.09,
          "judge_a": 0.45,
          "judge_b": 0.12,
          "mean": 0.22,
          "spread": 0.36
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.39,
          "judge_a": 0.5,
          "judge_b": 0.18,
          "mean": 0.3567,
          "spread": 0.32
        }
      }
    },
    {
      "rank": 124,
      "id": "st_20261105_14020",
      "title": "Compilers for Machine Learning (Spring 2027)",
      "url": "https://10-411.com/",
      "domain": "10-411.com",
      "site": "10-411.com",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Other",
      "depth": "three_judges",
      "published_at": "2026-11-04T07:41:40.000Z",
      "jev": 0.5049,
      "judge_a": 0.5132,
      "judge_b": 0.6735,
      "score": 0.5639,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 124,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A draft Spring 2027 Carnegie Mellon course syllabus by George Hotz, \"Compilers for Machine Learning,\" describes a one-semester, hands-on course in which students build an ML compiler from scratch, progressing from elementwise programs to training LLMs on GPUs.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/124/",
      "card": "https://rubric.hrih.si/og/2026-11-05/124.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.54,
          "judge_a": 0.3,
          "judge_b": 0.63,
          "mean": 0.49,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.47,
          "judge_a": 0.72,
          "judge_b": 0.82,
          "mean": 0.67,
          "spread": 0.35
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.46,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.47,
          "spread": 0.15
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.525,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.6017,
          "spread": 0.155
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.453,
          "judge_a": 0.45,
          "judge_b": 0.55,
          "mean": 0.4844,
          "spread": 0.1
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.69,
          "judge_a": 0.65,
          "judge_b": 0.72,
          "mean": 0.6867,
          "spread": 0.07
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.9,
          "judge_b": 1,
          "mean": 0.9367,
          "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.1,
          "judge_b": 0.18,
          "mean": 0.14,
          "spread": 0.08
        }
      }
    },
    {
      "rank": 125,
      "id": "st_20261105_14536",
      "title": "Tokenizer Mono",
      "url": "https://george.mand.is/2026/11/the-tokenizer-font/",
      "domain": "george.mand.is",
      "site": "George Mandis",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-04T16:19:39.000Z",
      "jev": 0.5513,
      "judge_a": 0.463,
      "judge_b": 0.6774,
      "score": 0.5638,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 125,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Tokenizer Mono is a font family by George Mandis, built on IBM Plex, with 28 styles that each correspond to a specific LLM tokenizer such as OpenAI's cl100k or o200k, Llama, Gemma, or BERT.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/125/",
      "card": "https://rubric.hrih.si/og/2026-11-05/125.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.398,
          "judge_a": 0.25,
          "judge_b": 0.46,
          "mean": 0.3692,
          "spread": 0.21
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.65,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.7433,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.6,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.54,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.433,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.4542,
          "spread": 0.23
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.75,
          "judge_b": 0.94,
          "mean": 0.8933,
          "spread": 0.24
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9525,
          "spread": 0.098
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.6,
          "judge_b": 0.99,
          "mean": 0.8267,
          "spread": 0.39
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0433,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.1233,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 126,
      "id": "st_20261105_14271",
      "title": "C++26: Std:Constant_wrapper",
      "url": "https://www.sandordargo.com/blog/2026/11/04/cpp26-constant-wrapper",
      "domain": "sandordargo.com",
      "site": "Sandor Dargo’s Blog",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Tutorial",
      "depth": "three_judges",
      "published_at": "2026-11-04T13:26:17.000Z",
      "jev": 0.553,
      "judge_a": 0.467,
      "judge_b": 0.6709,
      "score": 0.5636,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 126,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "C++26's std::constant_wrapper (with the std::cw<V> shorthand), proposed in P2781R9 by Dusíková, Kretz, and Laine and refined in P3978R3, wraps any structural value as a non-type template parameter so it stays a compile-time constant across function calls.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/126/",
      "card": "https://rubric.hrih.si/og/2026-11-05/126.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.518,
          "judge_a": 0.35,
          "judge_b": 0.65,
          "mean": 0.5058,
          "spread": 0.3
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.57,
          "judge_a": 0.5,
          "judge_b": 0.9,
          "mean": 0.6567,
          "spread": 0.4
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.54,
          "judge_a": 0.35,
          "judge_b": 0.45,
          "mean": 0.4467,
          "spread": 0.19
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.628,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6158,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.593,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.7244,
          "spread": 0.207
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.965,
          "judge_a": 0.85,
          "judge_b": 0.82,
          "mean": 0.8783,
          "spread": 0.145
        },
        "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.08,
          "judge_a": 0.1,
          "judge_b": 0.18,
          "mean": 0.12,
          "spread": 0.1
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.31,
          "judge_a": 0.1,
          "judge_b": 0.28,
          "mean": 0.23,
          "spread": 0.21
        }
      }
    },
    {
      "rank": 127,
      "id": "st_20261105_14214",
      "title": "Can Advertising Fund Free AI? Evidence from ChatGPT's Advertising Rollout",
      "url": "https://ecommerceresearch.org/chatgpt-ads/",
      "domain": "ecommerceresearch.org",
      "site": "ecommerceresearch.org",
      "categories": [
        "ai",
        "growth"
      ],
      "category_names": [
        "AI & machine learning",
        "Growth & marketing"
      ],
      "format": "Paper",
      "depth": "three_judges",
      "published_at": "2026-11-04T12:12:36.000Z",
      "jev": 0.4145,
      "judge_a": 0.494,
      "judge_b": 0.7821,
      "score": 0.5635,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 127,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A working paper by Kaiser and Schulze uses data from 1,898 online shops to test whether advertising can fund free AI assistants, studying ChatGPT's staggered international ad rollout. They find organic ChatGPT referral volume fell about 6 to 8% after ads launched, while conversion held steady.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/127/",
      "card": "https://rubric.hrih.si/og/2026-11-05/127.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.518,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.5792,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.41,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.6367,
          "spread": 0.49
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.39,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.5367,
          "spread": 0.33
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.328,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.5092,
          "spread": 0.372
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.7,
          "judge_b": 0.92,
          "mean": 0.8433,
          "spread": 0.22
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.61,
          "judge_a": 0.4,
          "judge_b": 0.78,
          "mean": 0.5967,
          "spread": 0.38
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.8,
          "judge_b": 0.98,
          "mean": 0.8833,
          "spread": 0.18
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.13,
          "judge_a": 0.1,
          "judge_b": 0.01,
          "mean": 0.08,
          "spread": 0.12
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.31,
          "judge_a": 0.3,
          "judge_b": 0.04,
          "mean": 0.2167,
          "spread": 0.27
        }
      }
    },
    {
      "rank": 128,
      "id": "st_20261105_13856",
      "title": "Coding Agents stop mid-task",
      "url": "https://foremerge.com/blog/coding-agents-stop-mid-task/",
      "domain": "foremerge.com",
      "site": "foremerge.com",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T01:55:00.000Z",
      "jev": 0.6305,
      "judge_a": 0.415,
      "judge_b": 0.6418,
      "score": 0.5624,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 128,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Foremerge 0.6.0 stops recording advisory conflicts against coding agents whose sessions ended without closing their intents, after one repository's shared store reached 3,896 open conflicts, 98% with no live agent. Stopped work stays visible at the end of related_work, and HIGH findings still gate acceptance.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/128/",
      "card": "https://rubric.hrih.si/og/2026-11-05/128.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.515,
          "judge_a": 0.3,
          "judge_b": 0.52,
          "mean": 0.445,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.55,
          "judge_b": 0.8,
          "mean": 0.69,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.427,
          "judge_a": 0.4,
          "judge_b": 0.38,
          "mean": 0.4022,
          "spread": 0.047
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.77,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6967,
          "spread": 0.17
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.7,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7067,
          "spread": 0.22
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.848,
          "judge_a": 0.7,
          "judge_b": 0.73,
          "mean": 0.7592,
          "spread": 0.148
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.9,
          "judge_b": 0.91,
          "mean": 0.8833,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.35,
          "judge_b": 0.08,
          "mean": 0.1633,
          "spread": 0.29
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.12,
          "judge_a": 0.25,
          "judge_b": 0.06,
          "mean": 0.1433,
          "spread": 0.19
        }
      }
    },
    {
      "rank": 129,
      "id": "st_20261105_14027",
      "title": "Months of planning preceded record Binance heist",
      "url": "https://www.heise.de/en/news/Months-of-planning-preceded-record-Binance-heist-11510835.html",
      "domain": "heise.de",
      "site": "heise online English",
      "categories": [
        "security",
        "fintech"
      ],
      "category_names": [
        "Security",
        "Fintech"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T07:54:00.000Z",
      "jev": 0.5781,
      "judge_a": 0.472,
      "judge_b": 0.6877,
      "score": 0.5792,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 105,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0184,
      "summary": "Binance's co-CEO Richard Teng told CNBC that months of preparation, including fake job interviews and compromised internal AI tools, preceded the roughly $6.3 billion crypto theft on October 29, making it the largest on record.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/129/",
      "card": "https://rubric.hrih.si/og/2026-11-05/129.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.728,
          "judge_a": 0.55,
          "judge_b": 0.85,
          "mean": 0.7092,
          "spread": 0.3
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.69,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.73,
          "spread": 0.3
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.433,
          "judge_a": 0.5,
          "judge_b": 0.55,
          "mean": 0.4944,
          "spread": 0.117
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.505,
          "judge_a": 0.45,
          "judge_b": 0.65,
          "mean": 0.535,
          "spread": 0.2
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.52,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.49,
          "spread": 0.15
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.52,
          "judge_a": 0.3,
          "judge_b": 0.3,
          "mean": 0.3733,
          "spread": 0.22
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.76,
          "judge_a": 0.55,
          "judge_b": 0.15,
          "mean": 0.4867,
          "spread": 0.61
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.0433,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.2,
          "judge_a": 0.3,
          "judge_b": 0.1,
          "mean": 0.2,
          "spread": 0.2
        }
      }
    },
    {
      "rank": 130,
      "id": "st_20261105_14806",
      "title": "Nikke PC game launcher hacked to spread remote access, data-stealing malware",
      "url": "https://www.bleepingcomputer.com/news/security/nikke-pc-game-launcher-hacked-to-spread-remote-access-data-stealing-malware/",
      "domain": "bleepingcomputer.com",
      "site": "BleepingComputer",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T19:10:12.000Z",
      "jev": 0.5878,
      "judge_a": 0.5315,
      "judge_b": 0.6845,
      "score": 0.6012,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 81,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0421,
      "summary": "Attackers tampered with JavaScript files on Goddess of Victory: NIKKE's PC launcher, hosted on the publisher's CDN, to deliver a backdoor that could steal credentials and cryptocurrency wallet data, according to independent researcher MotherSphere, with BleepingComputer confirming the obfuscated loader.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/130/",
      "card": "https://rubric.hrih.si/og/2026-11-05/130.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.538,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5525,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.77,
          "judge_a": 0.7,
          "judge_b": 0.92,
          "mean": 0.7967,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.337,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.4289,
          "spread": 0.213
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.69,
          "judge_a": 0.6,
          "judge_b": 0.75,
          "mean": 0.68,
          "spread": 0.15
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.59,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.6033,
          "spread": 0.03
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.788,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.6692,
          "spread": 0.188
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.8,
          "judge_a": 0.9,
          "judge_b": 0.18,
          "mean": 0.6267,
          "spread": 0.72
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.0867,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.2033,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 131,
      "id": "st_20261105_14121",
      "title": "Gemini trains on chat history, even for subscribers (personal accounts)",
      "url": "https://news.ycombinator.com/item?id=50363461",
      "domain": "news.ycombinator.com",
      "site": "Hacker News",
      "categories": [
        "ai",
        "policy"
      ],
      "category_names": [
        "AI & machine learning",
        "Policy & regulation"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T10:10:27.000Z",
      "jev": 0.5271,
      "judge_a": 0.5025,
      "judge_b": 0.6458,
      "score": 0.5585,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 130,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A Hacker News post, citing Google's own support pages, claims that Gemini chat history on personal paid subscriptions can be used to train AI models unless users turn off \"Keep activity,\" which deletes chats after 72 hours.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/131/",
      "card": "https://rubric.hrih.si/og/2026-11-05/131.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.565,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.5317,
          "spread": 0.13
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.67,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6967,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.4,
          "judge_a": 0.6,
          "judge_b": 0.55,
          "mean": 0.5167,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.55,
          "judge_a": 0.7,
          "judge_b": 0.68,
          "mean": 0.6433,
          "spread": 0.15
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.537,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.5889,
          "spread": 0.33
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.523,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.2842,
          "spread": 0.372
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.79,
          "judge_a": 0.6,
          "judge_b": 0.92,
          "mean": 0.77,
          "spread": 0.32
        },
        "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.3,
          "judge_a": 0.4,
          "judge_b": 0.18,
          "mean": 0.2933,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 132,
      "id": "st_20261105_14748",
      "title": "After a decade of reversing, I got co-op working in DOS Wing Commander",
      "url": "https://fireflyk64.github.io/wcmulti/",
      "domain": "fireflyk64.github.io",
      "site": "fireflyk64.github.io",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:51:27.000Z",
      "jev": 0.4994,
      "judge_a": 0.5475,
      "judge_b": 0.6253,
      "score": 0.5573,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 131,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A developer spent eleven years reverse-engineering DOS Wing Commander's memory in DOSBox to add two-player cooperative play, where one player flies the wingman. The write-up walks through locating ship position and velocity in the 64K data segment by diffing memory snapshots, finding rotation vectors via a lucky slot layout, and…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/132/",
      "card": "https://rubric.hrih.si/og/2026-11-05/132.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.418,
          "judge_a": 0.35,
          "judge_b": 0.52,
          "mean": 0.4292,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.53,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.73,
          "spread": 0.33
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.41,
          "judge_a": 0.4,
          "judge_b": 0.28,
          "mean": 0.3633,
          "spread": 0.13
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.468,
          "judge_a": 0.45,
          "judge_b": 0.58,
          "mean": 0.4992,
          "spread": 0.13
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.75,
          "judge_b": 0.94,
          "mean": 0.8567,
          "spread": 0.19
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.983,
          "judge_a": 0.85,
          "judge_b": 0.96,
          "mean": 0.9308,
          "spread": 0.133
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.9,
          "judge_b": 0.99,
          "mean": 0.9267,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.05,
          "judge_b": 0.12,
          "mean": 0.0733,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.13,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 133,
      "id": "st_20261105_14936",
      "title": "OpenRing – Open-source, self-hosted voice AI agent platform (Vapi alternative)",
      "url": "https://github.com/elifalanrocha/openring",
      "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-04T21:56:55.000Z",
      "jev": 0.6442,
      "judge_a": 0.3805,
      "judge_b": 0.6439,
      "score": 0.5562,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 133,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "OpenRing is an open-source (MIT) platform for running voice AI agents on your own server, with a Vapi-compatible JSON API and no platform fee. Callers' speech goes through speech-to-text, a language model and a voice, and the operator pays each provider directly.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/133/",
      "card": "https://rubric.hrih.si/og/2026-11-05/133.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.535,
          "judge_a": 0.3,
          "judge_b": 0.55,
          "mean": 0.4617,
          "spread": 0.25
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.55,
          "judge_b": 0.8,
          "mean": 0.6767,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.417,
          "judge_a": 0.35,
          "judge_b": 0.55,
          "mean": 0.4389,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.89,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7567,
          "spread": 0.29
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.783,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.6611,
          "spread": 0.283
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.8592,
          "spread": 0.298
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.91,
          "spread": 0.13
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.4,
          "judge_b": 0.18,
          "mean": 0.23,
          "spread": 0.29
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.22,
          "judge_a": 0.35,
          "judge_b": 0.3,
          "mean": 0.29,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 134,
      "id": "st_20261105_14694",
      "title": "jj-vcs/jj v0.47.0",
      "url": "https://github.com/jj-vcs/jj/releases/tag/v0.47.0",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T18:01:08.000Z",
      "jev": 0.5307,
      "judge_a": 0.528,
      "judge_b": 0.5997,
      "score": 0.5528,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 135,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The jj version control project released v0.47.0, a Git-compatible system. Its headline changes include a new revset template function, a built-in multi-way :editor merge tool, and binary detection in jj file search.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/134/",
      "card": "https://rubric.hrih.si/og/2026-11-05/134.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.493,
          "judge_a": 0.35,
          "judge_b": 0.45,
          "mean": 0.4308,
          "spread": 0.143
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.43,
          "judge_a": 0.55,
          "judge_b": 0.68,
          "mean": 0.5533,
          "spread": 0.25
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.39,
          "judge_a": 0.5,
          "judge_b": 0.38,
          "mean": 0.4233,
          "spread": 0.12
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.705,
          "judge_a": 0.7,
          "judge_b": 0.67,
          "mean": 0.6917,
          "spread": 0.035
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.727,
          "judge_a": 0.55,
          "judge_b": 0.98,
          "mean": 0.7522,
          "spread": 0.43
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.813,
          "judge_a": 0.6,
          "judge_b": 0.57,
          "mean": 0.6608,
          "spread": 0.243
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.9,
          "judge_b": 0.97,
          "mean": 0.9133,
          "spread": 0.1
        },
        "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.13,
          "judge_a": 0.1,
          "judge_b": 0.02,
          "mean": 0.0833,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 135,
      "id": "st_20261105_14316",
      "title": "Five rules for evaluating agent skills before they bloat your context window",
      "url": "https://cloud.google.com/blog/topics/developers-practitioners/evaluate-agent-skills-before-they-bloat-your-context-window",
      "domain": "cloud.google.com",
      "site": "Google Cloud Blog",
      "categories": [
        "programming",
        "ai",
        "security",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T13:50:00.000Z",
      "jev": 0.6811,
      "judge_a": 0.394,
      "judge_b": 0.5796,
      "score": 0.5515,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 136,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A Google Cloud developer-relations post lays out a five-rule playbook for checking whether agent skills (SKILL.md files) justify their context cost. The rules cover catching trigger collisions before running containers, running evaluations in isolated sandboxes rather than on laptops, comparing paired with/without-skill runs over repeated trials, keeping correctness separate from…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/135/",
      "card": "https://rubric.hrih.si/og/2026-11-05/135.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.573,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.4975,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.75,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7233,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.653,
          "judge_a": 0.5,
          "judge_b": 0.68,
          "mean": 0.6111,
          "spread": 0.18
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.92,
          "judge_a": 0.7,
          "judge_b": 0.84,
          "mean": 0.82,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.663,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.6211,
          "spread": 0.2
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.918,
          "judge_a": 0.6,
          "judge_b": 0.76,
          "mean": 0.7592,
          "spread": 0.318
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.84,
          "judge_a": 0.4,
          "judge_b": 0.78,
          "mean": 0.6733,
          "spread": 0.44
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.17,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.4633,
          "spread": 0.55
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.3,
          "judge_b": 0.28,
          "mean": 0.2767,
          "spread": 0.05
        }
      }
    },
    {
      "rank": 136,
      "id": "st_20261105_14925",
      "title": "Review patch/diff files as VS Code diffs with on-demand loading",
      "url": "https://marketplace.visualstudio.com/items?itemName=mehmetoguzderin.patch-diff-review",
      "domain": "marketplace.visualstudio.com",
      "site": "marketplace.visualstudio.com",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-04T21:06:02.000Z",
      "jev": 0.6349,
      "judge_a": 0.37,
      "judge_b": 0.649,
      "score": 0.5513,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 138,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A new open-source VS Code extension, \"Patch Diff Review,\" lets developers review .patch and .diff files as native side-by-side diff editors with inline comment threads, without cloning the repository or signing in.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/136/",
      "card": "https://rubric.hrih.si/og/2026-11-05/136.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.493,
          "judge_a": 0.2,
          "judge_b": 0.48,
          "mean": 0.3908,
          "spread": 0.293
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.59,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.6067,
          "spread": 0.33
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.52,
          "judge_a": 0.3,
          "judge_b": 0.42,
          "mean": 0.4133,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.905,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.7583,
          "spread": 0.355
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.76,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7133,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.93,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.7433,
          "spread": 0.33
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.9,
          "judge_b": 0.92,
          "mean": 0.9033,
          "spread": 0.03
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1233,
          "spread": 0.12
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.14,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.14,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 137,
      "id": "st_20261105_14275",
      "title": "Redis now has compressed bitmaps (Roaring)",
      "url": "https://lemire.me/blog/2026/10/15/redis-now-has-compressed-bitmaps-roaring/",
      "domain": "lemire.me",
      "site": "Daniel Lemire's blog",
      "categories": [
        "data"
      ],
      "category_names": [
        "Data"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-04T13:20:04.000Z",
      "jev": 0.6124,
      "judge_a": 0.5615,
      "judge_b": 0.7786,
      "score": 0.5508,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0.1,
      "score_rank": 139,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Redis is adding Roaring compressed bitmaps as a new opt-in type, expected in Redis 8.12, enabled with CONFIG SET bitmap-default-roaring yes. Roaring adapts its storage to sparse, dense, and run-heavy data, so sparse or widely spaced bit sets avoid the cost of plain Redis bitmaps, which allocate one byte per…",
      "page": "https://rubric.hrih.si/editions/2026-11-05/137/",
      "card": "https://rubric.hrih.si/og/2026-11-05/137.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.618,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5792,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.7,
          "judge_b": 0.92,
          "mean": 0.7733,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.493,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.5711,
          "spread": 0.127
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.72,
          "judge_a": 0.7,
          "judge_b": 0.8,
          "mean": 0.74,
          "spread": 0.1
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.583,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6678,
          "spread": 0.237
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.76,
          "judge_a": 0.65,
          "judge_b": 0.7,
          "mean": 0.7033,
          "spread": 0.11
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.68,
          "judge_a": 0.9,
          "judge_b": 0.97,
          "mean": 0.85,
          "spread": 0.29
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.15,
          "judge_b": 0.03,
          "mean": 0.0867,
          "spread": 0.12
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.24,
          "judge_a": 0.25,
          "judge_b": 0.08,
          "mean": 0.19,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 138,
      "id": "st_20261105_14820",
      "title": "\"reverse game theory\" could keep AI agents in check",
      "url": "https://www.technologyreview.com/2026/11/03/1147934/reverse-game-theory-mechanism-design-ai-alignment/",
      "domain": "technologyreview.com",
      "site": "MIT Technology Review",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T19:57:51.000Z",
      "jev": 0.5338,
      "judge_a": 0.4715,
      "judge_b": 0.6495,
      "score": 0.5515,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 137,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0018,
      "summary": "A new AI safety approach called \"reverse game theory,\" or mechanism design, proposes designing incentives so that powerful AI agents behave as intended, rather than trying to read their internal reasoning.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/138/",
      "card": "https://rubric.hrih.si/og/2026-11-05/138.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.563,
          "judge_a": 0.4,
          "judge_b": 0.68,
          "mean": 0.5475,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.59,
          "judge_a": 0.7,
          "judge_b": 0.83,
          "mean": 0.7067,
          "spread": 0.24
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.81,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.7033,
          "spread": 0.21
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.465,
          "judge_a": 0.4,
          "judge_b": 0.48,
          "mean": 0.4483,
          "spread": 0.08
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.367,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.4789,
          "spread": 0.253
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.61,
          "judge_a": 0.35,
          "judge_b": 0.48,
          "mean": 0.48,
          "spread": 0.26
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.7833,
          "spread": 0.3
        },
        "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.35,
          "judge_a": 0.3,
          "judge_b": 0.22,
          "mean": 0.29,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 139,
      "id": "st_20261105_14863",
      "title": "Kernel.sh Hacked",
      "url": "https://www.kernel.sh/blog/public-notice-of-security-incident-nov-4-2026",
      "domain": "kernel.sh",
      "site": "KERNEL",
      "categories": [
        "security",
        "devops"
      ],
      "category_names": [
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-04T20:58:39.000Z",
      "jev": 0.5664,
      "judge_a": 0.5387,
      "judge_b": 0.6218,
      "score": 0.5756,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 110,
      "topic_penalty": 0.08,
      "repeat_penalty": 0.0355,
      "summary": "Kernel.sh, a browser-session infrastructure provider, disclosed a security breach in which an attacker used a leaked API key to move through its logging provider and then hosting provider accounts, gaining access to four GPU servers, three of which ran customer browser sessions.",
      "page": "https://rubric.hrih.si/editions/2026-11-05/139/",
      "card": "https://rubric.hrih.si/og/2026-11-05/139.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.525,
          "judge_a": 0.4,
          "judge_b": 0.55,
          "mean": 0.4917,
          "spread": 0.15
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.74,
          "judge_a": 0.72,
          "judge_b": 0.8,
          "mean": 0.7533,
          "spread": 0.08
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.277,
          "judge_a": 0.5,
          "judge_b": 0.45,
          "mean": 0.4089,
          "spread": 0.223
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.703,
          "judge_a": 0.7,
          "judge_b": 0.7,
          "mean": 0.7008,
          "spread": 0.003
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.703,
          "judge_a": 0.5,
          "judge_b": 0.67,
          "mean": 0.6244,
          "spread": 0.203
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.683,
          "judge_a": 0.45,
          "judge_b": 0.45,
          "mean": 0.5275,
          "spread": 0.232
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.7833,
          "spread": 0.3
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.09,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.09,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.34,
          "judge_a": 0.2,
          "judge_b": 0.15,
          "mean": 0.23,
          "spread": 0.19
        }
      }
    }
  ]
}
