{
  "edition": "2026-11-09",
  "name": "Rubric, edition of Monday 9 November 2026",
  "url": "https://rubric.hrih.si/editions/2026-11-09/",
  "published_at": "2026-11-09T06: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-09: https://rubric.hrih.si/editions/2026-11-09/"
  },
  "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_20261109_18726",
      "title": "Claude Code's 'Don't Ask Again' File Exposes Passwords and Keys in 1,122 Public Copies on GitHub",
      "url": "https://it.slashdot.org/story/26/11/08/1758242/claude-codes-dont-ask-again-file-exposes-passwords-and-keys-in-1122-public-copies-on-github",
      "domain": "it.slashdot.org",
      "site": "Slashdot",
      "categories": [
        "programming",
        "ai",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-11-08T18:34:00.000Z",
      "jev": 0.7385,
      "judge_a": 0.7034,
      "judge_b": 0.7787,
      "score": 0.7401,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 1,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Security firm Apiiro reports that 1,122 of about 104,000 public copies of Claude Code's .claude/settings.local.json on GitHub contain secrets, including database passwords and AWS keys. The file can store approved commands verbatim, and Claude Code excludes it only in the user's global git settings, not the project's .gitignore. Apiiro did not test whether the credentials work, and its figures could not be independently verified. Anthropic's Boris Cherny says the files were committed manually and that secret scrubbing is under study. Rotate exposed credentials before deleting the file.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/1/",
      "card": "https://rubric.hrih.si/og/2026-11-09/1.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.708,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6425,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.87,
          "judge_a": 0.85,
          "judge_b": 0.91,
          "mean": 0.8767,
          "spread": 0.06
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.51,
          "judge_a": 0.67,
          "judge_b": 0.68,
          "mean": 0.62,
          "spread": 0.17
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.905,
          "judge_a": 0.9,
          "judge_b": 0.86,
          "mean": 0.8883,
          "spread": 0.045
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.75,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7567,
          "spread": 0.12
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.753,
          "judge_a": 0.55,
          "judge_b": 0.55,
          "mean": 0.6175,
          "spread": 0.202
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.82,
          "judge_a": 0.85,
          "judge_b": 0.98,
          "mean": 0.8833,
          "spread": 0.16
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.03,
          "judge_b": 0.02,
          "mean": 0.0333,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.27,
          "judge_a": 0.2,
          "judge_b": 0.2,
          "mean": 0.2233,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 2,
      "id": "st_20261109_18405",
      "title": "What Can AI Hack? Inside Frontier Labs' Tests",
      "url": "https://dorcohen.dev/posts/what-can-ai-actually-hack/",
      "domain": "dorcohen.dev",
      "site": "Dor Cohen",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "Analysis",
      "depth": "claim_checked",
      "published_at": "2026-11-08T09:42:03.000Z",
      "jev": 0.7273,
      "judge_a": 0.6572,
      "judge_b": 0.835,
      "score": 0.7397,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 2,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Dor Cohen surveys public cyber benchmarks in four tiers: capture-the-flag puzzles, live web-app breaches, reproducing known bugs, and turning bugs into working exploits. Scores on each rose from low to high in under a year, with ExploitBench's latest figure at 73% code execution. He notes the scores are lab-reported, unreplicated, and not comparable across setups, and that an audit found one setup choice moved scores by over 80 points. Several figures could not be verified. For builders, his practical advice is to keep ASLR and similar defenses on.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/2/",
      "card": "https://rubric.hrih.si/og/2026-11-09/2.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.713,
          "judge_a": 0.62,
          "judge_b": 0.86,
          "mean": 0.7308,
          "spread": 0.24
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.77,
          "judge_a": 0.82,
          "judge_b": 0.95,
          "mean": 0.8467,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.827,
          "judge_a": 0.67,
          "judge_b": 0.78,
          "mean": 0.7589,
          "spread": 0.157
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.743,
          "judge_a": 0.62,
          "judge_b": 0.8,
          "mean": 0.7208,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.783,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8278,
          "spread": 0.117
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.865,
          "judge_a": 0.72,
          "judge_b": 0.84,
          "mean": 0.8083,
          "spread": 0.145
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.55,
          "judge_b": 0.86,
          "mean": 0.7667,
          "spread": 0.34
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.07,
          "judge_a": 0.04,
          "judge_b": 0.02,
          "mean": 0.0433,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.26,
          "judge_a": 0.22,
          "judge_b": 0.2,
          "mean": 0.2267,
          "spread": 0.06
        }
      }
    },
    {
      "rank": 3,
      "id": "st_20261109_18674",
      "title": "The same work on a third of the tokens: tuning a fleet of coding agents",
      "url": "https://alexmarquardt.com/ai-tools/agent-fleet-token-efficiency/",
      "domain": "alexmarquardt.com",
      "site": "Alexander Marquardt",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-08T17:58:04.000Z",
      "jev": 0.7335,
      "judge_a": 0.6247,
      "judge_b": 0.7867,
      "score": 0.7149,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 3,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Alexander Marquardt reports that over ten weeks of Claude Code transcripts, his fleet of parallel coding agents cut tokens per changed line 3.3x (about 2.5x when weighted by token price) and merged 4.4 times as many PRs a week on 19% fewer tokens. Most tokens were cache reads of re-sent context, so the gains came from one-task agents with a context ceiling and fewer cache expiries. It is one project run by one person with changes landing together, and rework per PR rose slightly.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/3/",
      "card": "https://rubric.hrih.si/og/2026-11-09/3.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.623,
          "judge_a": 0.4,
          "judge_b": 0.67,
          "mean": 0.5642,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.81,
          "judge_a": 0.82,
          "judge_b": 0.9,
          "mean": 0.8433,
          "spread": 0.09
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.543,
          "judge_a": 0.5,
          "judge_b": 0.67,
          "mean": 0.5711,
          "spread": 0.17
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.925,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8683,
          "spread": 0.125
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.85,
          "spread": 0.29
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.9158,
          "spread": 0.148
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.81,
          "judge_a": 0.9,
          "judge_b": 0.88,
          "mean": 0.8633,
          "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.3,
          "judge_a": 0.35,
          "judge_b": 0.12,
          "mean": 0.2567,
          "spread": 0.23
        }
      }
    },
    {
      "rank": 4,
      "id": "st_20261109_18230",
      "title": "Model Surgery: Can an AI directly edit and make another AI forget facts?",
      "url": "https://deepgains.substack.com/p/model-surgery-can-an-ai-directly",
      "domain": "deepgains.substack.com",
      "site": "deepgains.substack.com",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-11-08T00:12:29.000Z",
      "jev": 0.6755,
      "judge_a": 0.5597,
      "judge_b": 0.8061,
      "score": 0.6804,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 4,
      "topic_penalty": 0,
      "repeat_penalty": 0.008,
      "summary": "Arun S, writing on Substack, tested whether Claude Opus 5.5 could make a fine-tuned 494M-parameter model forget 20 synthetic customers and 10 secret keys by editing weights directly, following an MIT CSAIL method. Claude changed 17 matrices; re-teaching restored 4% of forgotten facts, versus 3% for a model never trained on them, and other customers lost 2.5 points. Gradient ascent, NPO and refusal training damaged the model or only hid the facts. Results are the author's own, from one run, and Claude's mechanism explanation was partly wrong.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/4/",
      "card": "https://rubric.hrih.si/og/2026-11-09/4.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.62,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.6167,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.75,
          "judge_a": 0.8,
          "judge_b": 0.93,
          "mean": 0.8267,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.697,
          "judge_a": 0.55,
          "judge_b": 0.72,
          "mean": 0.6556,
          "spread": 0.17
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.655,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.645,
          "spread": 0.28
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.72,
          "judge_b": 0.84,
          "mean": 0.8233,
          "spread": 0.19
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.91,
          "spread": 0.13
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.9,
          "judge_b": 0.97,
          "mean": 0.9067,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.12,
          "judge_b": 0.02,
          "mean": 0.0667,
          "spread": 0.1
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.26,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.2633,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 5,
      "id": "st_20261109_18881",
      "title": "Adopting Python 3.15's lazy imports: a 4× faster CLI, and where they didn't help",
      "url": "https://namegarage.com/blog/python-3-15-lazy-imports",
      "domain": "namegarage.com",
      "site": "Namegarage",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-08T23:22:34.000Z",
      "jev": 0.6745,
      "judge_a": 0.5772,
      "judge_b": 0.7596,
      "score": 0.6704,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 5,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Namegarage, a domain-trading company, moved its back office to Python 3.15.2 and used explicit lazy imports (PEP 810) to cut start-up time. Median CLI --help fell from 1,314 ms to 326 ms, while the terminal UI improved 20 percent and the MCP server import 15 percent. These are the company's own measurements on a busy Mac. It gated deferral with Meta's Lifeguard analyzer, avoided global lazy mode, and found that table values, default arguments, base classes and try blocks quietly defeat deferral.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/5/",
      "card": "https://rubric.hrih.si/og/2026-11-09/5.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.51,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.4767,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.73,
          "judge_a": 0.72,
          "judge_b": 0.86,
          "mean": 0.77,
          "spread": 0.14
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.54,
          "judge_a": 0.4,
          "judge_b": 0.58,
          "mean": 0.5067,
          "spread": 0.18
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.915,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.8117,
          "spread": 0.215
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.967,
          "judge_a": 0.85,
          "judge_b": 0.94,
          "mean": 0.9189,
          "spread": 0.117
        },
        "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.88,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.92,
          "spread": 0.1
        },
        "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.4,
          "judge_a": 0.1,
          "judge_b": 0.04,
          "mean": 0.18,
          "spread": 0.36
        }
      }
    },
    {
      "rank": 6,
      "id": "st_20261109_18552",
      "title": "CWPdoor: The Invisible Backdoor Living Inside Control Web Panel",
      "url": "https://blog.xlab.qianxin.com/cwpdoor-the-invisible-backdoor-living-inside-control-web-panel/",
      "domain": "blog.xlab.qianxin.com",
      "site": "奇安信 X 实验室",
      "categories": [
        "security",
        "it"
      ],
      "category_names": [
        "Security",
        "IT & networking"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-11-08T14:56:22.000Z",
      "jev": 0.5923,
      "judge_a": 0.6688,
      "judge_b": 0.7363,
      "score": 0.6658,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 6,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "XLab, the threat-research team at QiAnXin, describes cwpdoor, a backdoor built into a recompiled cwpsrv, the web server of Control Web Panel. A script swaps it in for versions 1.15.10 and 1.24.0, resets file timestamps, and the backdoor runs RSA-signed, AES-encrypted commands sent in HTTP headers while suppressing log entries. A Brazilian VirusTotal upload suggests real victims, though the claims rest on XLab's own telemetry. The infection vector and any link to Ebury are unknown. Hunter data shows over 340,000 exposed CWP instances. Administrators can check for the ngx_http_integrity_helper socket.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/6/",
      "card": "https://rubric.hrih.si/og/2026-11-09/6.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.52,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.58,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.78,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.4,
          "judge_a": 0.5,
          "judge_b": 0.38,
          "mean": 0.4267,
          "spread": 0.12
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.638,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.7525,
          "spread": 0.183
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.75,
          "judge_b": 0.86,
          "mean": 0.8233,
          "spread": 0.11
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.993,
          "judge_a": 0.85,
          "judge_b": 0.91,
          "mean": 0.9175,
          "spread": 0.143
        },
        "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.03,
          "judge_b": 0.04,
          "mean": 0.04,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.22,
          "spread": 0.1
        }
      }
    },
    {
      "rank": 7,
      "id": "st_20261109_18656",
      "title": "FELF – AppImage-like single binaries without FUSE, root, or a runtime",
      "url": "https://github.com/Rucadi/FELF",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-08T17:26:45.000Z",
      "jev": 0.6683,
      "judge_a": 0.5875,
      "judge_b": 0.7126,
      "score": 0.6561,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 7,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "FELF is an open-source tool that packs an existing Linux binary together with its shared libraries, a private glibc and dynamic linker into a single executable that runs on any same-architecture Linux without FUSE, root, or an installed runtime.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/7/",
      "card": "https://rubric.hrih.si/og/2026-11-09/7.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.578,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5492,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.76,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.8067,
          "spread": 0.1
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.56,
          "judge_a": 0.6,
          "judge_b": 0.58,
          "mean": 0.58,
          "spread": 0.04
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.82,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7667,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.7733,
          "spread": 0.26
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.978,
          "judge_a": 0.85,
          "judge_b": 0.94,
          "mean": 0.9225,
          "spread": 0.128
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.95,
          "judge_b": 0.96,
          "mean": 0.94,
          "spread": 0.05
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.25,
          "judge_b": 0.12,
          "mean": 0.1567,
          "spread": 0.15
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.36,
          "judge_a": 0.3,
          "judge_b": 0.2,
          "mean": 0.2867,
          "spread": 0.16
        }
      }
    },
    {
      "rank": 8,
      "id": "st_20261109_18385",
      "title": "Nspawn 3.0: A Docker-compatible Engine API for systemd-nspawn containers",
      "url": "https://blog.nspawn.org/posts/nspawn-3-0-a-docker-compatible-engine-api-for-systemd-nspawn-containers/",
      "domain": "blog.nspawn.org",
      "site": "Nspawn Org’s Blog",
      "categories": [
        "programming",
        "devops",
        "it"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-08T08:41:38.000Z",
      "jev": 0.6266,
      "judge_a": 0.5895,
      "judge_b": 0.7266,
      "score": 0.6475,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 8,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Nspawn 3.0 adds a Docker Engine API on the host at /run/nspawn/api.sock, so the docker CLI and tools such as GitLab Runner's docker executor can manage systemd-nspawn machines. Access goes through polkit, and a user with org.nspawn.manage is effectively root. A machine mounting the socket read-write can now create and remove containers, where 2.0.0 was read-only. Image builds, pushes, tags and commits return 501, so docker build does not work. The supported API versions and the GitLab Runner setup are the author's claims and were not independently verified.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/8/",
      "card": "https://rubric.hrih.si/og/2026-11-09/8.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.563,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5442,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.6,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7067,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.463,
          "judge_a": 0.5,
          "judge_b": 0.48,
          "mean": 0.4811,
          "spread": 0.037
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.793,
          "judge_a": 0.75,
          "judge_b": 0.78,
          "mean": 0.7742,
          "spread": 0.042
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.717,
          "judge_a": 0.7,
          "judge_b": 0.96,
          "mean": 0.7922,
          "spread": 0.26
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.98,
          "judge_a": 0.8,
          "judge_b": 0.94,
          "mean": 0.9067,
          "spread": 0.18
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.9,
          "judge_b": 0.93,
          "mean": 0.91,
          "spread": 0.03
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.15,
          "judge_b": 0.04,
          "mean": 0.0833,
          "spread": 0.11
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.16,
          "judge_a": 0.2,
          "judge_b": 0.03,
          "mean": 0.13,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 9,
      "id": "st_20261109_18822",
      "title": "Making profile-guided optimization reproducible",
      "url": "https://fzakaria.com/2026/11/07/making-profile-guided-optimization-reproducible",
      "domain": "fzakaria.com",
      "site": "Farid Zakaria’s Blog",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-08T21:05:26.000Z",
      "jev": 0.6429,
      "judge_a": 0.5499,
      "judge_b": 0.7445,
      "score": 0.6458,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 9,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Farid Zakaria shows a way to make profile-guided optimization reproducible, the usual reason Nixpkgs and Guix disable it for Python and GCC. He moves only the training run into Rewind, his deterministic VM, with fixed clock, seed and thread schedule. On a two-thread toy program, the profile and final binary then pass nix-build --check, which plain PGO fails. The training must be pinned to one CPU vendor, and the schedule choice affects profile quality. The evidence is one small example, not a real compiler or interpreter.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/9/",
      "card": "https://rubric.hrih.si/og/2026-11-09/9.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.545,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.5583,
          "spread": 0.23
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.74,
          "judge_b": 0.88,
          "mean": 0.7667,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.563,
          "judge_a": 0.55,
          "judge_b": 0.55,
          "mean": 0.5544,
          "spread": 0.013
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.725,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7017,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.967,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.8556,
          "spread": 0.267
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.85,
          "judge_b": 0.94,
          "mean": 0.9292,
          "spread": 0.148
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.9,
          "judge_b": 0.96,
          "mean": 0.9033,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.11,
          "spread": 0.15
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.26,
          "judge_a": 0.35,
          "judge_b": 0.14,
          "mean": 0.25,
          "spread": 0.21
        }
      }
    },
    {
      "rank": 10,
      "id": "st_20261109_18528",
      "title": "We review 4x more AI code without reading every line",
      "url": "https://thenewstack.io/scale-ai-code-reviews/",
      "domain": "thenewstack.io",
      "site": "The New Stack",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-08T14:27:00.000Z",
      "jev": 0.7291,
      "judge_a": 0.5071,
      "judge_b": 0.678,
      "score": 0.638,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 11,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Ankit Jain of Aviator says his team stopped reading every diff line and instead has humans review intent, acceptance criteria, invariants, decisions and evidence from agent-run preview environments. He reports that the same nine engineers merged 4× more PRs, median time to merge fell from 2.1 days to 3.4 hours, and reverts dropped 40%. He also describes mining 11,400 review comments into 64 approved invariants. These figures are self-reported by the vendor and have no independent verification, and they come from one team.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/10/",
      "card": "https://rubric.hrih.si/og/2026-11-09/10.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.7,
          "judge_a": 0.5,
          "judge_b": 0.67,
          "mean": 0.6233,
          "spread": 0.2
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.81,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.83,
          "spread": 0.08
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.76,
          "judge_a": 0.67,
          "judge_b": 0.63,
          "mean": 0.6867,
          "spread": 0.13
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.878,
          "judge_a": 0.7,
          "judge_b": 0.83,
          "mean": 0.8025,
          "spread": 0.178
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.72,
          "judge_a": 0.4,
          "judge_b": 0.65,
          "mean": 0.59,
          "spread": 0.32
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.808,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7092,
          "spread": 0.208
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.78,
          "judge_a": 0.6,
          "judge_b": 0.92,
          "mean": 0.7667,
          "spread": 0.32
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.12,
          "judge_a": 0.4,
          "judge_b": 0.28,
          "mean": 0.2667,
          "spread": 0.28
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.31,
          "judge_a": 0.6,
          "judge_b": 0.34,
          "mean": 0.4167,
          "spread": 0.29
        }
      }
    },
    {
      "rank": 11,
      "id": "st_20261109_18400",
      "title": "Unified Grid: How We Re-Architected Slack for Our Largest Customers",
      "url": "https://slack.engineering/unified-grid-how-we-re-architected-slack-for-our-largest-customers/",
      "domain": "slack.engineering",
      "site": "slack.engineering",
      "categories": [
        "programming",
        "product"
      ],
      "category_names": [
        "Programming & dev tools",
        "Product"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-08T09:56:58.000Z",
      "jev": 0.6112,
      "judge_a": 0.525,
      "judge_b": 0.7956,
      "score": 0.6439,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 10,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "Slack's engineering blog describes how it rebuilt its client and backend so Enterprise Grid users see all their workspaces in one view, rather than switching between them. The team prototyped first, using it internally, then fixed thousands of APIs and permission checks. It reused existing integration tests under org context, where hundreds of suites initially failed, and capped relevant workspaces at 50 per user. Rollout ran from fall 2023 to March 2024. The performance and bug-reduction benefits are stated as expectations, not measured results.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/11/",
      "card": "https://rubric.hrih.si/og/2026-11-09/11.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.613,
          "judge_a": 0.4,
          "judge_b": 0.78,
          "mean": 0.5975,
          "spread": 0.38
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.7,
          "judge_b": 0.9,
          "mean": 0.7733,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.333,
          "judge_a": 0.5,
          "judge_b": 0.68,
          "mean": 0.5044,
          "spread": 0.347
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.77,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.73,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.453,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.6444,
          "spread": 0.427
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.793,
          "judge_a": 0.7,
          "judge_b": 0.84,
          "mean": 0.7775,
          "spread": 0.14
        },
        "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.1,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1267,
          "spread": 0.12
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.1767,
          "spread": 0.09
        }
      }
    },
    {
      "rank": 12,
      "id": "st_20261109_18228",
      "title": "Lossless compression of LLMs to 12-bits",
      "url": "https://github.com/dphnAI/nf12",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "ai",
        "hardware"
      ],
      "category_names": [
        "AI & machine learning",
        "Hardware & devices"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-08T00:07:43.000Z",
      "jev": 0.5919,
      "judge_a": 0.511,
      "judge_b": 0.7558,
      "score": 0.6195,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 12,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "NF12, an open-source library from dphnAI (Apache-2.0), stores BF16 LLM weights in a lossless 12-bit format, following a 2026 Together AI paper, with CUDA kernels for Ampere through Blackwell. Qwen3-8B shrinks from 15.27 to 11.49 GiB, and Qwen3-30B-A3B from 56.88 to 42.80 GiB. The README's throughput results are mixed: up to 1.34× BF16 on Jetson Thor, but 0.81× on B200 at concurrency 32. These figures are self-reported and could not be independently checked.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/12/",
      "card": "https://rubric.hrih.si/og/2026-11-09/12.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.553,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.5742,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.7067,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.45,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.51,
          "spread": 0.13
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.78,
          "judge_a": 0.65,
          "judge_b": 0.82,
          "mean": 0.75,
          "spread": 0.17
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7633,
          "spread": 0.31
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.8067,
          "spread": 0.16
        },
        "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.09,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.1367,
          "spread": 0.11
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.47,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.2833,
          "spread": 0.39
        }
      }
    },
    {
      "rank": 13,
      "id": "st_20261109_18267",
      "title": "Making Startups Powerful",
      "url": "https://www.paulgraham.com/powerful.html",
      "domain": "paulgraham.com",
      "site": "paulgraham.com",
      "categories": [
        "product",
        "growth",
        "startups"
      ],
      "category_names": [
        "Product",
        "Growth & marketing",
        "Startups & founders"
      ],
      "format": "Analysis",
      "depth": "claim_checked",
      "published_at": "2026-11-08T01:56:33.000Z",
      "jev": 0.6417,
      "judge_a": 0.501,
      "judge_b": 0.6442,
      "score": 0.5956,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 24,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "In a September 2026 essay, Paul Graham argues that asking what would make a startup more powerful, rather than more profitable, can surface far larger opportunities. His tactics include owning the customer relationship, routing money through the company, adding network effects, going full stack, offering APIs, and selling to fast-deciding early-stage customers. Every move must also benefit the customer. The PayPal, Stripe and Rippling examples and the 2x versus 10-100x return figures are his own assertions, without cited sources, so they read as experience-based heuristics.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/13/",
      "card": "https://rubric.hrih.si/og/2026-11-09/13.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.588,
          "judge_a": 0.3,
          "judge_b": 0.68,
          "mean": 0.5225,
          "spread": 0.38
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.75,
          "judge_b": 0.82,
          "mean": 0.76,
          "spread": 0.11
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.83,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7167,
          "spread": 0.23
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.848,
          "judge_a": 0.6,
          "judge_b": 0.8,
          "mean": 0.7492,
          "spread": 0.248
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.127,
          "judge_a": 0.3,
          "judge_b": 0.45,
          "mean": 0.2922,
          "spread": 0.323
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.24,
          "judge_a": 0.1,
          "judge_b": 0.2,
          "mean": 0.18,
          "spread": 0.14
        },
        "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.1,
          "judge_b": 0.12,
          "mean": 0.0967,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.2,
          "judge_b": 0.55,
          "mean": 0.3333,
          "spread": 0.35
        }
      }
    },
    {
      "rank": 14,
      "id": "st_20261109_18256",
      "title": "AI agents stole 190k gaming credentials for under $400 in model costs",
      "url": "https://research.checkpoint.com/2026/hacking-on-autopilot-inside-artex-cybercrime-campaigns/",
      "domain": "research.checkpoint.com",
      "site": "Check Point Research",
      "categories": [
        "ai",
        "security"
      ],
      "category_names": [
        "AI & machine learning",
        "Security"
      ],
      "format": "Paper",
      "depth": "claim_checked",
      "published_at": "2026-11-08T01:24:19.000Z",
      "jev": 0.6874,
      "judge_a": 0.6136,
      "judge_b": 0.8414,
      "score": 0.6141,
      "contested": true,
      "flag_penalty": 0.1,
      "freshness_penalty": 0,
      "score_rank": 15,
      "topic_penalty": 0.02,
      "repeat_penalty": 0.0006,
      "summary": "Check Point Research analyzed ARTEX, an open-source AI pentesting platform that criminals run as autonomous attack fleets, using data from 10 exposed operator databases. In one campaign, agents pulled about 190,000 gaming credentials, roughly 3.3% still valid, for an estimated $180–360 in model costs. A crypto-draining campaign moved no money, and some agent \"successes\" were hallucinated. Operators barely intervened, mostly used Chinese models, and exploited basic flaws like hardcoded passwords. The figures are Check Point's own and largely unsourced.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/14/",
      "card": "https://rubric.hrih.si/og/2026-11-09/14.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.703,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7075,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.79,
          "judge_a": 0.8,
          "judge_b": 0.96,
          "mean": 0.85,
          "spread": 0.17
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.757,
          "judge_a": 0.67,
          "judge_b": 0.78,
          "mean": 0.7356,
          "spread": 0.11
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.728,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.7225,
          "spread": 0.24
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.883,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.7811,
          "spread": 0.283
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.878,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.7492,
          "spread": 0.327
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.88,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.1,
          "judge_b": 0.01,
          "mean": 0.0567,
          "spread": 0.09
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.59,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.3733,
          "spread": 0.41
        }
      }
    },
    {
      "rank": 15,
      "id": "st_20261109_18732",
      "title": "When the Kubernetes API went silent: A three-layer networking mystery",
      "url": "https://cloud.google.com/blog/products/networking/the-three-layer-gke-network-mystery",
      "domain": "cloud.google.com",
      "site": "Google Cloud Blog",
      "categories": [
        "devops",
        "it"
      ],
      "category_names": [
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-08T19:16:17.000Z",
      "jev": 0.668,
      "judge_a": 0.628,
      "judge_b": 0.772,
      "score": 0.5893,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0.1,
      "score_rank": 29,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Google Cloud's support team describes a January 2026 GKE incident in which pods intermittently timed out reaching the API server over Private Service Connect. It traced the outage to three interacting faults: packet reordering in Private Service Connect's packet-switching layer, Envoy's half-close keeping sockets in FIN_WAIT_2, and a Linux 6.1 bug that discarded the client's FIN. A switching-layer change then dropped the resulting challenge ACKs. Rolling back that change restored service; the kernel fix ships in GKE 1.33.5 and later. The claims come from Google alone, with no independent source.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/15/",
      "card": "https://rubric.hrih.si/og/2026-11-09/15.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.598,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6258,
          "spread": 0.28
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.78,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.8533,
          "spread": 0.15
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.567,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6289,
          "spread": 0.153
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.645,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.675,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.737,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.7722,
          "spread": 0.063
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.9,
          "judge_b": 0.93,
          "mean": 0.9425,
          "spread": 0.098
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.85,
          "judge_b": 0.97,
          "mean": 0.9033,
          "spread": 0.12
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.1233,
          "spread": 0.14
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.16,
          "judge_a": 0.2,
          "judge_b": 0.2,
          "mean": 0.1867,
          "spread": 0.04
        }
      }
    },
    {
      "rank": 16,
      "id": "st_20261109_18582",
      "title": "Joggo – a self-hosted GitHub Actions runner for the Windows PC you use",
      "url": "https://github.com/telluric-dev/joggo",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "devops",
        "it"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-08T14:59:45.000Z",
      "jev": 0.6597,
      "judge_a": 0.4635,
      "judge_b": 0.6243,
      "score": 0.5825,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 35,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Joggo is a self-hosted GitHub Actions runner designed to run for weeks on a single Windows PC with 16 GB of RAM under WSL2, while that PC is also in everyday use.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/16/",
      "card": "https://rubric.hrih.si/og/2026-11-09/16.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.47,
          "judge_a": 0.3,
          "judge_b": 0.42,
          "mean": 0.3967,
          "spread": 0.17
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.46,
          "judge_a": 0.3,
          "judge_b": 0.34,
          "mean": 0.3667,
          "spread": 0.16
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.855,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.725,
          "spread": 0.255
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.967,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.8422,
          "spread": 0.267
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8925,
          "spread": 0.198
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.8,
          "judge_b": 0.95,
          "mean": 0.8833,
          "spread": 0.15
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.15,
          "judge_b": 0.04,
          "mean": 0.08,
          "spread": 0.11
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.2,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.16,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 17,
      "id": "st_20261109_18782",
      "title": "Just Fucking Use IPv6",
      "url": "https://dreamstation.systems/personal/justuseipv6.html",
      "domain": "dreamstation.systems",
      "site": "robin’s page",
      "categories": [
        "devops",
        "it"
      ],
      "category_names": [
        "Infrastructure & DevOps",
        "IT & networking"
      ],
      "format": "Analysis",
      "depth": "claim_checked",
      "published_at": "2026-11-08T20:20:08.000Z",
      "jev": 0.5782,
      "judge_a": 0.4995,
      "judge_b": 0.6619,
      "score": 0.5798,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 38,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Robin argues in an opinionated personal essay that teams should adopt IPv6, keeping a dual-stack CDN edge for IPv4-only users and using NAT64/464XLAT for IPv4-only dependencies. The case is that IPv6 removes the stacked NAT between clients and services and offers cheaper address space than IPv4, where a /24 reportedly costs $5,000–$10,000. Only the Microsoft example, which cites private-range overlap and 10.0.0.0/8 exhaustion, is sourced. The adoption figures (APNIC 43%, Google 50%) and the claims on mobile networks and CDN pricing are unsourced.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/17/",
      "card": "https://rubric.hrih.si/og/2026-11-09/17.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.498,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.4758,
          "spread": 0.23
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.54,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.6533,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.9,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.7733,
          "spread": 0.2
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.8,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.76,
          "spread": 0.1
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.333,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.4678,
          "spread": 0.287
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.753,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.6775,
          "spread": 0.152
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.2,
          "judge_b": 0.9,
          "mean": 0.6633,
          "spread": 0.7
        },
        "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.53,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.4867,
          "spread": 0.23
        }
      }
    },
    {
      "rank": 18,
      "id": "st_20261109_18720",
      "title": "A Unicode Escape Can Turn a Java Comment into Executable Code",
      "url": "https://octri.dev/blog/java-unicode-escape-comment",
      "domain": "octri.dev",
      "site": "octri.dev",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Analysis",
      "depth": "claim_checked",
      "published_at": "2026-11-08T18:39:27.000Z",
      "jev": 0.6853,
      "judge_a": 0.4805,
      "judge_b": 0.6922,
      "score": 0.6193,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 13,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Emad Khair at octri.dev shows how text in an OpenAPI spec can change generated SDK code. In Java, a \\u000a escape inside a // comment becomes a newline before comment parsing, so the following statement runs; he reproduced this on OpenJDK 21, though no independent source is cited. Similar cases include PHP's ?>, Ruby's #{} interpolation, Go backticks and Rust doc-test fences. His advice: use per-language emitters, preserve original values, and test output with real toolchains. Python 3.13 and rustdoc claims weren't verified.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/18/",
      "card": "https://rubric.hrih.si/og/2026-11-09/18.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.54,
          "judge_a": 0.3,
          "judge_b": 0.55,
          "mean": 0.4633,
          "spread": 0.25
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.67,
          "judge_a": 0.45,
          "judge_b": 0.6,
          "mean": 0.5733,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.835,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.7217,
          "spread": 0.285
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.793,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.6978,
          "spread": 0.193
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.983,
          "judge_a": 0.7,
          "judge_b": 0.72,
          "mean": 0.8008,
          "spread": 0.283
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.9,
          "judge_b": 0.95,
          "mean": 0.91,
          "spread": 0.07
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.05,
          "judge_b": 0.01,
          "mean": 0.0333,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.25,
          "judge_a": 0.25,
          "judge_b": 0.08,
          "mean": 0.1933,
          "spread": 0.17
        }
      }
    },
    {
      "rank": 19,
      "id": "st_20261109_18274",
      "title": "Claude Watermark Text",
      "url": "https://www.notebookcheck.net/Claude-now-watermarks-text-from-older-models-with-no-opt-out.1444769.0.html",
      "domain": "notebookcheck.net",
      "site": "Notebookcheck",
      "categories": [
        "ai",
        "policy"
      ],
      "category_names": [
        "AI & machine learning",
        "Policy & regulation"
      ],
      "format": "News",
      "depth": "claim_checked",
      "published_at": "2026-11-08T02:04:57.000Z",
      "jev": 0.5825,
      "judge_a": 0.58,
      "judge_b": 0.6915,
      "score": 0.618,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 14,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Anthropic has begun adding an invisible statistical watermark to text from Claude Mythos 5, Opus 4.7 and Sonnet 4.6, with Opus 4.6, Opus 4.5, Sonnet 4.5 and Haiku 4.5 due November 16. Customers cannot disable it, and Anthropic says it carries no user or conversation data. Notebookcheck, citing The Decoder, reports it is a SynthID variant. Detection is limited to a private preview. Reports that non-default temperature, top_p or top_k settings may defeat it, and that EU rules drive the timing, could not be verified.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/19/",
      "card": "https://rubric.hrih.si/og/2026-11-09/19.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.615,
          "judge_a": 0.55,
          "judge_b": 0.65,
          "mean": 0.605,
          "spread": 0.1
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.55,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.69,
          "spread": 0.27
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.6,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.64,
          "spread": 0.12
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.675,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.6517,
          "spread": 0.08
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.487,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.5689,
          "spread": 0.233
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.663,
          "judge_a": 0.4,
          "judge_b": 0.48,
          "mean": 0.5142,
          "spread": 0.262
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.85,
          "judge_b": 0.93,
          "mean": 0.8867,
          "spread": 0.08
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.05,
          "judge_b": 0.04,
          "mean": 0.0567,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.19,
          "spread": 0.02
        }
      }
    },
    {
      "rank": 20,
      "id": "st_20261109_18297",
      "title": "Are Passkeys a Trap?",
      "url": "https://jimthefrog.substack.com/p/are-passkeys-a-trap",
      "domain": "jimthefrog.substack.com",
      "site": "jimthefrog.substack.com",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "Analysis",
      "depth": "claim_checked",
      "published_at": "2026-11-08T04:20:33.000Z",
      "jev": 0.5533,
      "judge_a": 0.56,
      "judge_b": 0.7159,
      "score": 0.6097,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 17,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "Jim Taylor rebuts an anonymous essay claiming passkeys let websites use attestation to control which software people run. He argues attestation is optional, most consumer sites don't request it, and major software managers seem to return none. The AAGUID, a model identifier, can be spoofed and reveals little about the OS or browser. Some banks, such as Docomo SMTB Net Bank, do restrict managers. Several of his claims, including FIDO membership figures, are unsourced or unchecked. For builders, AAGUID allow-lists suit policy guidance, not strict enforcement.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/20/",
      "card": "https://rubric.hrih.si/og/2026-11-09/20.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.438,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4692,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.53,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.7033,
          "spread": 0.35
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.82,
          "judge_a": 0.6,
          "judge_b": 0.55,
          "mean": 0.6567,
          "spread": 0.27
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.62,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6467,
          "spread": 0.12
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.467,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.6956,
          "spread": 0.353
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.888,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.8492,
          "spread": 0.087
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.6,
          "judge_b": 0.96,
          "mean": 0.8167,
          "spread": 0.36
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.05,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.27,
          "judge_a": 0.15,
          "judge_b": 0.18,
          "mean": 0.2,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 21,
      "id": "st_20261109_18868",
      "title": "Six GPUs on One X16 Slot: R9700s and RTX 3090s Behind a PCIe Switch",
      "url": "https://doug.sh/posts/six-gpus-one-x16-slot/",
      "domain": "doug.sh",
      "site": "doug.sh",
      "categories": [
        "ai",
        "hardware"
      ],
      "category_names": [
        "AI & machine learning",
        "Hardware & devices"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-08T22:52:07.000Z",
      "jev": 0.5751,
      "judge_a": 0.41,
      "judge_b": 0.7146,
      "score": 0.5665,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 41,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Doug Calobrisi describes running six GPUs from one x16 slot on a consumer X570 board: four Radeon AI PRO R9700s and two RTX 3090s behind a Broadcom PEX88096 switch, each card on its own x8 link. On the R9700s, Qwen3.8-27B at TP4 reports about 4,700 tokens/s prefill at 32k and 601 tokens/s across sixteen clients. The numbers are the author's own, unsourced measurements on one setup. The build also needed custom kernel modules for BAR sizing.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/21/",
      "card": "https://rubric.hrih.si/og/2026-11-09/21.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.49,
          "judge_a": 0.2,
          "judge_b": 0.62,
          "mean": 0.4367,
          "spread": 0.42
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.67,
          "spread": 0.27
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.417,
          "judge_a": 0.2,
          "judge_b": 0.48,
          "mean": 0.3656,
          "spread": 0.28
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.585,
          "judge_a": 0.45,
          "judge_b": 0.76,
          "mean": 0.5983,
          "spread": 0.31
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.7867,
          "spread": 0.3
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.998,
          "judge_a": 0.9,
          "judge_b": 0.91,
          "mean": 0.9358,
          "spread": 0.098
        },
        "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.04,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.04,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.15,
          "judge_b": 0.08,
          "mean": 0.1467,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 22,
      "id": "st_20261109_18863",
      "title": "N6k – Let users and agents run untrusted SQL on production databases",
      "url": "https://github.com/n6k-io/n6kd",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming",
        "ai",
        "security",
        "data"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security",
        "Data"
      ],
      "format": "Release",
      "depth": "claim_checked",
      "published_at": "2026-11-08T22:35:46.000Z",
      "jev": 0.5729,
      "judge_a": 0.424,
      "judge_b": 0.6624,
      "score": 0.5531,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 44,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "n6kd, an open-source server on GitHub, exposes DuckDB catalogs over WebSocket using the n6k protocol, so users and AI agents can run SQL against production data under row-level limits. A YAML policy sets per-table select, insert, update and delete predicates, and OIDC token claims such as $sub can scope each client to its own rows. Without a policy file, every catalog is served read/write. The project's documentation is the only source for these claims, and it shows no independent testing.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/22/",
      "card": "https://rubric.hrih.si/og/2026-11-09/22.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.498,
          "judge_a": 0.3,
          "judge_b": 0.57,
          "mean": 0.4558,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.55,
          "judge_b": 0.78,
          "mean": 0.65,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.5,
          "judge_a": 0.35,
          "judge_b": 0.48,
          "mean": 0.4433,
          "spread": 0.15
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.82,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7133,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.863,
          "judge_a": 0.45,
          "judge_b": 0.7,
          "mean": 0.6711,
          "spread": 0.413
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.993,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.8508,
          "spread": 0.293
        },
        "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.68,
          "judge_a": 0.3,
          "judge_b": 0.08,
          "mean": 0.3533,
          "spread": 0.6
        }
      }
    },
    {
      "rank": 23,
      "id": "st_20261109_18826",
      "title": "Virtualized Redox: from Virtio-FS to Cloud Hypervisor, and beyond",
      "url": "https://www.redox-os.org/news/virtualized-redox/",
      "domain": "redox-os.org",
      "site": "redox-os.org",
      "categories": [
        "programming",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "Infrastructure & DevOps"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-08T21:06:06.000Z",
      "jev": 0.5866,
      "judge_a": 0.495,
      "judge_b": 0.6335,
      "score": 0.5716,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 40,
      "topic_penalty": 0.02,
      "repeat_penalty": 0,
      "summary": "MJ Pooladkhay describes building a Virtio-FS driver for Redox OS, now merged into the base repository, and getting Redox to boot to a shell on Cloud Hypervisor.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/23/",
      "card": "https://rubric.hrih.si/og/2026-11-09/23.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.498,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.4758,
          "spread": 0.23
        },
        "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.483,
          "judge_a": 0.4,
          "judge_b": 0.38,
          "mean": 0.4211,
          "spread": 0.103
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.59,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5367,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.897,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.8522,
          "spread": 0.097
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.968,
          "judge_a": 0.9,
          "judge_b": 0.93,
          "mean": 0.9325,
          "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.06,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.08,
          "spread": 0.04
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.2,
          "judge_b": 0.16,
          "mean": 0.1833,
          "spread": 0.04
        }
      }
    },
    {
      "rank": 24,
      "id": "st_20261109_18680",
      "title": "Designing an Always-On Agent",
      "url": "https://rubriclabs.com/blog/always-on-agents",
      "domain": "rubriclabs.com",
      "site": "Rubric Labs",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "claim_checked",
      "published_at": "2026-11-08T17:51:44.000Z",
      "jev": 0.6369,
      "judge_a": 0.5255,
      "judge_b": 0.6709,
      "score": 0.611,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 16,
      "topic_penalty": 0.06,
      "repeat_penalty": 0,
      "summary": "An engineering post argues that the gap between today's chatbots and the Jarvis-style assistant is mostly about form factor rather than raw model capability. It describes an architecture for an always-on agent: a single thread that manages its own context through compaction tools, sub-agents for heavy work, a heartbeat for…",
      "page": "https://rubric.hrih.si/editions/2026-11-09/24/",
      "card": "https://rubric.hrih.si/og/2026-11-09/24.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.608,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5425,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.79,
          "spread": 0.15
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.703,
          "judge_a": 0.6,
          "judge_b": 0.68,
          "mean": 0.6611,
          "spread": 0.103
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.788,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7225,
          "spread": 0.188
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.193,
          "judge_a": 0.35,
          "judge_b": 0.58,
          "mean": 0.3744,
          "spread": 0.387
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.743,
          "judge_a": 0.6,
          "judge_b": 0.63,
          "mean": 0.6575,
          "spread": 0.143
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.82,
          "judge_a": 0.7,
          "judge_b": 0.86,
          "mean": 0.7933,
          "spread": 0.16
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.1633,
          "spread": 0.09
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.23,
          "judge_a": 0.3,
          "judge_b": 0.28,
          "mean": 0.27,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 25,
      "id": "st_20261109_18683",
      "title": "Running a Language Model on a $35 FPGA",
      "url": "https://nishtahir.com/running-a-language-model-on-an-fpga/",
      "domain": "nishtahir.com",
      "site": "Another Dev's Two Cents",
      "categories": [
        "ai",
        "hardware"
      ],
      "category_names": [
        "AI & machine learning",
        "Hardware & devices"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-08T17:50:54.000Z",
      "jev": 0.5285,
      "judge_a": 0.4665,
      "judge_b": 0.657,
      "score": 0.5507,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 46,
      "topic_penalty": 0,
      "repeat_penalty": 0,
      "summary": "Nishta Hirani-Nelson's write-up describes running a 1.07M-parameter Transformer language model on a $35 iCE40UP5K FPGA with only open-source tooling and no softcore CPU. It is notable because the design fits in about 144 KB of memory and integer-only arithmetic, using a mixture-of-experts layer, rotary embeddings, and gated delta nets, generating…",
      "page": "https://rubric.hrih.si/editions/2026-11-09/25/",
      "card": "https://rubric.hrih.si/og/2026-11-09/25.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.475,
          "judge_a": 0.3,
          "judge_b": 0.56,
          "mean": 0.445,
          "spread": 0.26
        },
        "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.46,
          "judge_a": 0.4,
          "judge_b": 0.38,
          "mean": 0.4133,
          "spread": 0.08
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.445,
          "judge_a": 0.35,
          "judge_b": 0.61,
          "mean": 0.4683,
          "spread": 0.26
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.963,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.8078,
          "spread": 0.363
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.92,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8733,
          "spread": 0.12
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.92,
          "spread": 0.1
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.05,
          "judge_b": 0.03,
          "mean": 0.0433,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.23,
          "judge_a": 0.2,
          "judge_b": 0.05,
          "mean": 0.16,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 26,
      "id": "st_20261109_18760",
      "title": "Optimizing reference deletions in Git",
      "url": "https://nayak.im/posts/optimizing-reference-deletion/",
      "domain": "nayak.im",
      "site": "Karthik Nayak",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-08T19:37:42.000Z",
      "jev": 0.5859,
      "judge_a": 0.5212,
      "judge_b": 0.7027,
      "score": 0.6032,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 20,
      "topic_penalty": 0.06,
      "repeat_penalty": 0,
      "summary": "A GitLab engineer describes how Git's files backend rewrites the entire packed-refs file on every packed reference deletion, which gets slow in repositories with millions of refs. While benchmarking a Rust reimplementation, they found the C version needlessly reformatted unchanged entries.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/26/",
      "card": "https://rubric.hrih.si/og/2026-11-09/26.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.513,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.4775,
          "spread": 0.32
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.72,
          "judge_b": 0.82,
          "mean": 0.72,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.547,
          "judge_a": 0.45,
          "judge_b": 0.52,
          "mean": 0.5056,
          "spread": 0.097
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.57,
          "judge_a": 0.5,
          "judge_b": 0.66,
          "mean": 0.5767,
          "spread": 0.16
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.93,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.8767,
          "spread": 0.13
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.993,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8708,
          "spread": 0.193
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.9,
          "judge_b": 0.98,
          "mean": 0.9033,
          "spread": 0.15
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.05,
          "judge_a": 0.05,
          "judge_b": 0.02,
          "mean": 0.04,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.2,
          "judge_b": 0.03,
          "mean": 0.1467,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 27,
      "id": "st_20261109_18237",
      "title": "GitHub AI Vulnerability Scans for Repositories",
      "url": "https://docs.github.com/en/code-security/concepts/code-scanning/ai-scan-for-repositories",
      "domain": "docs.github.com",
      "site": "GitHub Docs",
      "categories": [
        "programming",
        "ai",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-08T00:02:46.000Z",
      "jev": 0.6285,
      "judge_a": 0.4525,
      "judge_b": 0.7126,
      "score": 0.5978,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 21,
      "topic_penalty": 0.06,
      "repeat_penalty": 0,
      "summary": "GitHub has launched AI Scan for repositories in public preview, an on-demand scanner that uses a proprietary harness with multiple models to find security vulnerabilities on a repository's default branch across all languages, including those CodeQL does not cover.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/27/",
      "card": "https://rubric.hrih.si/og/2026-11-09/27.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.628,
          "judge_a": 0.45,
          "judge_b": 0.68,
          "mean": 0.5858,
          "spread": 0.23
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.55,
          "judge_a": 0.6,
          "judge_b": 0.84,
          "mean": 0.6633,
          "spread": 0.29
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.553,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.5911,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.883,
          "judge_a": 0.7,
          "judge_b": 0.84,
          "mean": 0.8075,
          "spread": 0.183
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.543,
          "judge_a": 0.25,
          "judge_b": 0.86,
          "mean": 0.5511,
          "spread": 0.61
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.743,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.5542,
          "spread": 0.443
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.8,
          "judge_b": 0.9,
          "mean": 0.87,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.13,
          "judge_a": 0.4,
          "judge_b": 0.28,
          "mean": 0.27,
          "spread": 0.27
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.15,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.1567,
          "spread": 0.08
        }
      }
    },
    {
      "rank": 28,
      "id": "st_20261109_18572",
      "title": "DSpine for Qwen3.8-27B",
      "url": "https://huggingface.co/tencent/Qwen3.8-27B-DSpine-b16",
      "domain": "huggingface.co",
      "site": "huggingface.co",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-08T15:14:40.000Z",
      "jev": 0.6201,
      "judge_a": 0.4235,
      "judge_b": 0.7838,
      "score": 0.609,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 18,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Tencent has released DSpine, a five-layer speculative decoding draft model for Qwen3.8-27B that generates 16 draft tokens in parallel and passes predicted features between adjacent positions to carry causal dependencies through depth.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/28/",
      "card": "https://rubric.hrih.si/og/2026-11-09/28.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.553,
          "judge_a": 0.35,
          "judge_b": 0.72,
          "mean": 0.5408,
          "spread": 0.37
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.62,
          "judge_a": 0.5,
          "judge_b": 0.9,
          "mean": 0.6733,
          "spread": 0.4
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.487,
          "judge_a": 0.3,
          "judge_b": 0.7,
          "mean": 0.4956,
          "spread": 0.4
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.743,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7208,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.947,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7889,
          "spread": 0.347
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.873,
          "judge_a": 0.8,
          "judge_b": 0.88,
          "mean": 0.8508,
          "spread": 0.08
        },
        "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.1,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.1267,
          "spread": 0.12
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.16,
          "judge_a": 0.35,
          "judge_b": 0.12,
          "mean": 0.21,
          "spread": 0.23
        }
      }
    },
    {
      "rank": 29,
      "id": "st_20261109_18798",
      "title": "Offline context-aware dictation without screenshots, LLMs or fine-tuning",
      "url": "https://morethanamachine.com/posts/handy-context/",
      "domain": "morethanamachine.com",
      "site": "morethanamachine.com",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-08T20:47:19.000Z",
      "jev": 0.5724,
      "judge_a": 0.5483,
      "judge_b": 0.691,
      "score": 0.6038,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 19,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Handy Context is a fork of the open-source offline dictation app Handy that reads the front window's text, such as slide titles, to help the Parakeet speech model spell names and jargon correctly, without sending audio or screen text to the cloud.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/29/",
      "card": "https://rubric.hrih.si/og/2026-11-09/29.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.403,
          "judge_a": 0.35,
          "judge_b": 0.55,
          "mean": 0.4342,
          "spread": 0.2
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.63,
          "judge_a": 0.7,
          "judge_b": 0.85,
          "mean": 0.7267,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.423,
          "judge_a": 0.4,
          "judge_b": 0.42,
          "mean": 0.4144,
          "spread": 0.023
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.743,
          "judge_a": 0.65,
          "judge_b": 0.72,
          "mean": 0.7042,
          "spread": 0.093
        },
        "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.998,
          "judge_a": 0.9,
          "judge_b": 0.94,
          "mean": 0.9458,
          "spread": 0.098
        },
        "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.06,
          "judge_a": 0.08,
          "judge_b": 0.03,
          "mean": 0.0567,
          "spread": 0.05
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.31,
          "judge_a": 0.25,
          "judge_b": 0.08,
          "mean": 0.2133,
          "spread": 0.23
        }
      }
    },
    {
      "rank": 30,
      "id": "st_20261109_18904",
      "title": "Debezium Postgres WAL Subscription Monitoring",
      "url": "https://turbolytics.io/blog/debezium-wal-growth-postgres/",
      "domain": "turbolytics.io",
      "site": "Turbolytics",
      "categories": [
        "devops",
        "data"
      ],
      "category_names": [
        "Infrastructure & DevOps",
        "Data"
      ],
      "format": "Write-up",
      "depth": "claim_checked",
      "published_at": "2026-11-08T23:55:46.000Z",
      "jev": 0.6027,
      "judge_a": 0.4305,
      "judge_b": 0.6424,
      "score": 0.5585,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 43,
      "topic_penalty": 0.04,
      "repeat_penalty": 0,
      "summary": "A Control engineering write-up says Debezium connectors can report RUNNING while a Postgres replication slot quietly holds growing WAL until the disk fills. In their tests on Debezium 3.4.3, a popular heartbeat fix stopped the growth but broke the next restart.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/30/",
      "card": "https://rubric.hrih.si/og/2026-11-09/30.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.515,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.495,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.67,
          "judge_a": 0.55,
          "judge_b": 0.82,
          "mean": 0.68,
          "spread": 0.27
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.377,
          "judge_a": 0.3,
          "judge_b": 0.48,
          "mean": 0.3856,
          "spread": 0.18
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.81,
          "judge_a": 0.8,
          "judge_b": 0.86,
          "mean": 0.8233,
          "spread": 0.06
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.837,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7522,
          "spread": 0.237
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.8,
          "judge_b": 0.74,
          "mean": 0.8425,
          "spread": 0.248
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.85,
          "judge_b": 0.9,
          "mean": 0.88,
          "spread": 0.05
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.19,
          "judge_a": 0.45,
          "judge_b": 0.38,
          "mean": 0.34,
          "spread": 0.26
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.2,
          "judge_a": 0.35,
          "judge_b": 0.2,
          "mean": 0.25,
          "spread": 0.15
        }
      }
    },
    {
      "rank": 31,
      "id": "st_20261109_18876",
      "title": "I shipped a CLI and what I run is a proxy",
      "url": "https://avelino.run/mcp-cli-became-a-proxy/",
      "domain": "avelino.run",
      "site": "Thiago Avelino",
      "categories": [
        "programming",
        "ai",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Infrastructure & DevOps"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-08T23:28:47.000Z",
      "jev": 0.6151,
      "judge_a": 0.4964,
      "judge_b": 0.6808,
      "score": 0.5974,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 22,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The author, Avelino, describes how his open-source MCP command-line tool, first built as a local terminal utility, became a shared proxy that now handles about 196,000 requests a day at his employer Buser.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/31/",
      "card": "https://rubric.hrih.si/og/2026-11-09/31.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.458,
          "judge_a": 0.25,
          "judge_b": 0.55,
          "mean": 0.4192,
          "spread": 0.3
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7433,
          "spread": 0.12
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.453,
          "judge_a": 0.33,
          "judge_b": 0.48,
          "mean": 0.4211,
          "spread": 0.15
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.728,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6825,
          "spread": 0.128
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.887,
          "judge_a": 0.7,
          "judge_b": 0.84,
          "mean": 0.8089,
          "spread": 0.187
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.7833,
          "spread": 0.17
        },
        "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.05,
          "judge_a": 0.1,
          "judge_b": 0.04,
          "mean": 0.0633,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.18,
          "judge_a": 0.15,
          "judge_b": 0.06,
          "mean": 0.13,
          "spread": 0.12
        }
      }
    },
    {
      "rank": 32,
      "id": "st_20261109_18696",
      "title": "Goldman Sachs Is Pulling Claude Code from Its Bankers and Traders",
      "url": "https://www.thestateofai.com/news/goldman-sachs-claude-code-traders-bankers",
      "domain": "thestateofai.com",
      "site": "State of AI",
      "categories": [
        "ai",
        "fintech"
      ],
      "category_names": [
        "AI & machine learning",
        "Fintech"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-08T18:16:07.000Z",
      "jev": 0.5497,
      "judge_a": 0.5147,
      "judge_b": 0.7272,
      "score": 0.5972,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 23,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Goldman Sachs has restricted Anthropic's Claude Code and Microsoft's GitHub Copilot tools to its roughly 12,000 engineers under October guidance, cutting off traders and bankers who used them to monitor client flows and build market models, Bloomberg News reported.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/32/",
      "card": "https://rubric.hrih.si/og/2026-11-09/32.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.61,
          "judge_a": 0.45,
          "judge_b": 0.67,
          "mean": 0.5767,
          "spread": 0.22
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.72,
          "judge_b": 0.9,
          "mean": 0.7767,
          "spread": 0.19
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.27,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.45,
          "spread": 0.31
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.585,
          "judge_a": 0.55,
          "judge_b": 0.75,
          "mean": 0.6283,
          "spread": 0.2
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.54,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.57,
          "spread": 0.27
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.53,
          "judge_a": 0.25,
          "judge_b": 0.48,
          "mean": 0.42,
          "spread": 0.28
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.8,
          "judge_a": 0.6,
          "judge_b": 0.98,
          "mean": 0.7933,
          "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.23,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.1833,
          "spread": 0.11
        }
      }
    },
    {
      "rank": 33,
      "id": "st_20261109_18778",
      "title": "LLMs can understand and write neural network weights",
      "url": "https://github.com/RikiyaT/lm_understand-logs",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Release",
      "depth": "three_judges",
      "published_at": "2026-11-08T20:18:49.000Z",
      "jev": 0.6415,
      "judge_a": 0.4535,
      "judge_b": 0.6906,
      "score": 0.5951,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 25,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "The RikiyaT/lm_understand-logs repository publishes complete logs from eight experiments, testing whether LLMs can read and write neural network weights. Each run records prompts, replies, reasoning summaries, sandboxed code and outputs, and evaluations.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/33/",
      "card": "https://rubric.hrih.si/og/2026-11-09/33.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.678,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.6158,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.72,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.7267,
          "spread": 0.26
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.633,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5511,
          "spread": 0.233
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.568,
          "judge_a": 0.35,
          "judge_b": 0.68,
          "mean": 0.5325,
          "spread": 0.33
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.983,
          "judge_a": 0.7,
          "judge_b": 0.93,
          "mean": 0.8711,
          "spread": 0.283
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.858,
          "judge_a": 0.7,
          "judge_b": 0.88,
          "mean": 0.8125,
          "spread": 0.18
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.85,
          "judge_b": 0.86,
          "mean": 0.8567,
          "spread": 0.01
        },
        "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.34,
          "judge_a": 0.3,
          "judge_b": 0.58,
          "mean": 0.4067,
          "spread": 0.28
        }
      }
    },
    {
      "rank": 34,
      "id": "st_20261109_18560",
      "title": "What 1.5T tokens cost per month",
      "url": "https://www.peterp.me/articles/what-1-5-trillion-tokens-a-month-actually-costs/",
      "domain": "peterp.me",
      "site": "Peter Piekarczyk",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-08T14:35:55.000Z",
      "jev": 0.6711,
      "judge_a": 0.412,
      "judge_b": 0.7004,
      "score": 0.5945,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 26,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A Peter P. post, later corrected, claimed that 1.5 trillion tokens a month would cost about $132M a year at list price. He now says that figure was 20x too high: with prompt caching, roughly 97% of an agent's tokens bill as cache reads at a small fraction of input…",
      "page": "https://rubric.hrih.si/editions/2026-11-09/34/",
      "card": "https://rubric.hrih.si/og/2026-11-09/34.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.558,
          "judge_a": 0.3,
          "judge_b": 0.62,
          "mean": 0.4925,
          "spread": 0.32
        },
        "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.667,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6289,
          "spread": 0.22
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.85,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.7433,
          "spread": 0.25
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.793,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6711,
          "spread": 0.293
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.973,
          "judge_a": 0.7,
          "judge_b": 0.68,
          "mean": 0.7842,
          "spread": 0.293
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.86,
          "judge_a": 0.4,
          "judge_b": 0.94,
          "mean": 0.7333,
          "spread": 0.54
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.2,
          "judge_b": 0.12,
          "mean": 0.14,
          "spread": 0.1
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.28,
          "judge_a": 0.5,
          "judge_b": 0.38,
          "mean": 0.3867,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 35,
      "id": "st_20261109_18713",
      "title": "Updates to JWT Client Authentication and Assertion-Based Authorization Grants",
      "url": "https://www.rfc-editor.org/rfc/rfc10070.html",
      "domain": "rfc-editor.org",
      "site": "rfc-editor.org",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "Other",
      "depth": "claim_checked",
      "published_at": "2026-11-08T18:53:44.000Z",
      "jev": 0.6603,
      "judge_a": 0.6663,
      "judge_b": 0.7504,
      "score": 0.5923,
      "contested": false,
      "flag_penalty": 0.1,
      "freshness_penalty": 0,
      "score_rank": 27,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "RFC 10070, a November 2026 IETF Standards Track document, tightens audience-value rules in OAuth 2.0 client authentication and assertion-based grants (RFCs 7521, 7522, 7523, 9126). It follows a vulnerability disclosed by University of Stuttgart researchers.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/35/",
      "card": "https://rubric.hrih.si/og/2026-11-09/35.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.643,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.6542,
          "spread": 0.12
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.55,
          "judge_a": 0.7,
          "judge_b": 0.78,
          "mean": 0.6767,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.617,
          "judge_a": 0.6,
          "judge_b": 0.58,
          "mean": 0.5989,
          "spread": 0.037
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.795,
          "judge_a": 0.7,
          "judge_b": 0.76,
          "mean": 0.7517,
          "spread": 0.095
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.85,
          "judge_b": 0.99,
          "mean": 0.9067,
          "spread": 0.14
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.938,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.8525,
          "spread": 0.137
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.91,
          "judge_a": 0.85,
          "judge_b": 0.96,
          "mean": 0.9067,
          "spread": 0.11
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.04,
          "judge_a": 0.03,
          "judge_b": 0.01,
          "mean": 0.0267,
          "spread": 0.03
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.1,
          "judge_b": 0.04,
          "mean": 0.11,
          "spread": 0.15
        }
      }
    },
    {
      "rank": 36,
      "id": "st_20261109_18744",
      "title": "My Local Coding Agent",
      "url": "https://hdembinski.github.io/posts/coding_agent.html",
      "domain": "hdembinski.github.io",
      "site": "hdembinski.github.io",
      "categories": [
        "programming",
        "ai",
        "hardware"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Hardware & devices"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-08T19:12:20.000Z",
      "jev": 0.634,
      "judge_a": 0.429,
      "judge_b": 0.7125,
      "score": 0.5918,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 28,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A developer describes running coding agents locally on a used RTX 3090 with open-weight Qwen3.8-27B and Gemma 4 via llama.cpp, citing sovereignty, privacy, and cost. He reports that agents now write full features well but remain weak at design and consistency, and that his own coding skills are atrophying.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/36/",
      "card": "https://rubric.hrih.si/og/2026-11-09/36.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.505,
          "judge_a": 0.2,
          "judge_b": 0.6,
          "mean": 0.435,
          "spread": 0.4
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.59,
          "judge_a": 0.55,
          "judge_b": 0.86,
          "mean": 0.6667,
          "spread": 0.31
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.737,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.5856,
          "spread": 0.337
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.825,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.735,
          "spread": 0.225
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.427,
          "judge_a": 0.4,
          "judge_b": 0.72,
          "mean": 0.5156,
          "spread": 0.32
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.99,
          "judge_a": 0.6,
          "judge_b": 0.86,
          "mean": 0.8167,
          "spread": 0.39
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.6,
          "judge_b": 0.91,
          "mean": 0.7933,
          "spread": 0.31
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.06,
          "judge_a": 0.05,
          "judge_b": 0.04,
          "mean": 0.05,
          "spread": 0.02
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.19,
          "judge_a": 0.15,
          "judge_b": 0.22,
          "mean": 0.1867,
          "spread": 0.07
        }
      }
    },
    {
      "rank": 37,
      "id": "st_20261109_18334",
      "title": "PHP2Shell — Deep Dive",
      "url": "https://djad04.github.io/php2shell-deep-dive/",
      "domain": "djad04.github.io",
      "site": "djad04.github.io",
      "categories": [
        "programming",
        "security"
      ],
      "category_names": [
        "Programming & dev tools",
        "Security"
      ],
      "format": "Write-up",
      "depth": "three_judges",
      "published_at": "2026-11-08T05:51:54.000Z",
      "jev": 0.5749,
      "judge_a": 0.4986,
      "judge_b": 0.6927,
      "score": 0.5888,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 30,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A long, self-described learning walkthrough of PHP2Shell, a set of PHP vulnerabilities, explains stale pointers, use-after-free reads and writes, and heap grooming, building toward a multi-stage memory-corruption exploit chain that ends in remote code execution on a CTF challenge.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/37/",
      "card": "https://rubric.hrih.si/og/2026-11-09/37.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.575,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.6017,
          "spread": 0.33
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.61,
          "judge_a": 0.72,
          "judge_b": 0.9,
          "mean": 0.7433,
          "spread": 0.29
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.533,
          "judge_a": 0.5,
          "judge_b": 0.42,
          "mean": 0.4844,
          "spread": 0.113
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.565,
          "judge_a": 0.42,
          "judge_b": 0.68,
          "mean": 0.555,
          "spread": 0.26
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.773,
          "judge_a": 0.5,
          "judge_b": 0.7,
          "mean": 0.6578,
          "spread": 0.273
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.988,
          "judge_a": 0.92,
          "judge_b": 0.95,
          "mean": 0.9525,
          "spread": 0.068
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.85,
          "judge_a": 0.35,
          "judge_b": 0.25,
          "mean": 0.4833,
          "spread": 0.6
        },
        "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.33,
          "judge_a": 0.3,
          "judge_b": 0.2,
          "mean": 0.2767,
          "spread": 0.13
        }
      }
    },
    {
      "rank": 38,
      "id": "st_20261109_18838",
      "title": "Aaronson-Ambainis Conjecture proved! (By AI, of course)",
      "url": "https://scottaaronson.blog/?p=10295",
      "domain": "scottaaronson.blog",
      "site": "Shtetl-Optimized (Scott Aaronson)",
      "categories": [
        "ai"
      ],
      "category_names": [
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-08T21:44:31.000Z",
      "jev": 0.4063,
      "judge_a": 0.6495,
      "judge_b": 0.7086,
      "score": 0.5881,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 31,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Scott Aaronson reports that the Aaronson-Ambainis Conjecture, posed in 2009, has been proved by Physical Superintelligence, led by David Turturean and Jim Halverson, using an internal Claude model and a research harness.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/38/",
      "card": "https://rubric.hrih.si/og/2026-11-09/38.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.61,
          "judge_a": 0.85,
          "judge_b": 0.86,
          "mean": 0.7733,
          "spread": 0.25
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.45,
          "judge_a": 0.9,
          "judge_b": 0.94,
          "mean": 0.7633,
          "spread": 0.49
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.51,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.56,
          "spread": 0.11
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.24,
          "judge_a": 0.3,
          "judge_b": 0.42,
          "mean": 0.32,
          "spread": 0.18
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.39,
          "judge_a": 0.75,
          "judge_b": 0.7,
          "mean": 0.6133,
          "spread": 0.36
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.69,
          "judge_a": 0.6,
          "judge_b": 0.76,
          "mean": 0.6833,
          "spread": 0.16
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.89,
          "judge_a": 0.95,
          "judge_b": 0.98,
          "mean": 0.94,
          "spread": 0.09
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.15,
          "judge_a": 0.1,
          "judge_b": 0.08,
          "mean": 0.11,
          "spread": 0.07
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.42,
          "judge_a": 0.2,
          "judge_b": 0.2,
          "mean": 0.2733,
          "spread": 0.22
        }
      }
    },
    {
      "rank": 39,
      "id": "st_20261109_18578",
      "title": "I Just Deleted All My Agent Skills",
      "url": "https://philippdubach.com/posts/i-just-deleted-all-my-agent-skills/",
      "domain": "philippdubach.com",
      "site": "Philipp D. Dubach",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-08T15:04:51.000Z",
      "jev": 0.579,
      "judge_a": 0.4775,
      "judge_b": 0.6984,
      "score": 0.5849,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 32,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "A blogger reports deleting all their AI agent skills after reviewing benchmark evidence. One study of 98 public software engineering skills found 92 had no significant effect on coding results, and web development skills lowered pass rates while raising token costs by 72% to 394%.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/39/",
      "card": "https://rubric.hrih.si/og/2026-11-09/39.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.57,
          "judge_a": 0.35,
          "judge_b": 0.6,
          "mean": 0.5067,
          "spread": 0.25
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.68,
          "judge_a": 0.6,
          "judge_b": 0.8,
          "mean": 0.6933,
          "spread": 0.2
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.69,
          "judge_a": 0.55,
          "judge_b": 0.8,
          "mean": 0.68,
          "spread": 0.25
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.8,
          "judge_a": 0.7,
          "judge_b": 0.75,
          "mean": 0.75,
          "spread": 0.1
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.593,
          "judge_a": 0.5,
          "judge_b": 0.67,
          "mean": 0.5878,
          "spread": 0.17
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.528,
          "judge_a": 0.3,
          "judge_b": 0.45,
          "mean": 0.4258,
          "spread": 0.227
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.81,
          "judge_a": 0.4,
          "judge_b": 0.9,
          "mean": 0.7033,
          "spread": 0.5
        },
        "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.76,
          "judge_a": 0.35,
          "judge_b": 0.18,
          "mean": 0.43,
          "spread": 0.58
        }
      }
    },
    {
      "rank": 40,
      "id": "st_20261109_18819",
      "title": "A kernel written in Rust that can boot Ubuntu with Plasma desktop",
      "url": "https://github.com/ozkl/ruxis",
      "domain": "github.com",
      "site": "GitHub",
      "categories": [
        "programming"
      ],
      "category_names": [
        "Programming & dev tools"
      ],
      "format": "New project",
      "depth": "three_judges",
      "published_at": "2026-11-08T21:25:54.000Z",
      "jev": 0.5794,
      "judge_a": 0.4265,
      "judge_b": 0.7469,
      "score": 0.5842,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 33,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "ruxis is an open-source Unix-like kernel written in Rust, released on GitHub under the MIT license, that implements Linux's system call interface so unmodified Linux user-space programs run on it.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/40/",
      "card": "https://rubric.hrih.si/og/2026-11-09/40.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.59,
          "judge_a": 0.45,
          "judge_b": 0.72,
          "mean": 0.5867,
          "spread": 0.27
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.7,
          "judge_a": 0.7,
          "judge_b": 0.93,
          "mean": 0.7767,
          "spread": 0.23
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.497,
          "judge_a": 0.55,
          "judge_b": 0.62,
          "mean": 0.5556,
          "spread": 0.123
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.473,
          "judge_a": 0.3,
          "judge_b": 0.7,
          "mean": 0.4908,
          "spread": 0.4
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.847,
          "judge_a": 0.45,
          "judge_b": 0.78,
          "mean": 0.6922,
          "spread": 0.397
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.855,
          "judge_a": 0.6,
          "judge_b": 0.78,
          "mean": 0.745,
          "spread": 0.255
        },
        "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.09,
          "judge_a": 0.2,
          "judge_b": 0.05,
          "mean": 0.1133,
          "spread": 0.15
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.24,
          "judge_a": 0.55,
          "judge_b": 0.18,
          "mean": 0.3233,
          "spread": 0.37
        }
      }
    },
    {
      "rank": 41,
      "id": "st_20261109_18829",
      "title": "The great software IP writedown",
      "url": "https://martinalderson.com/posts/the-great-software-ip-writedown/",
      "domain": "martinalderson.com",
      "site": "Martin Alderson",
      "categories": [
        "ai",
        "product",
        "startups"
      ],
      "category_names": [
        "AI & machine learning",
        "Product",
        "Startups & founders"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-08T21:51:38.000Z",
      "jev": 0.5918,
      "judge_a": 0.5223,
      "judge_b": 0.6341,
      "score": 0.5827,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 34,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Martin Alderson argues on his blog that software's historically high margins came from a scarcity of people able to build it, not from monopoly, network effects, or corruption.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/41/",
      "card": "https://rubric.hrih.si/og/2026-11-09/41.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.64,
          "judge_a": 0.55,
          "judge_b": 0.68,
          "mean": 0.6233,
          "spread": 0.13
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.73,
          "judge_a": 0.8,
          "judge_b": 0.82,
          "mean": 0.7833,
          "spread": 0.09
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.957,
          "judge_a": 0.8,
          "judge_b": 0.78,
          "mean": 0.8456,
          "spread": 0.177
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.573,
          "judge_a": 0.45,
          "judge_b": 0.62,
          "mean": 0.5475,
          "spread": 0.17
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.167,
          "judge_a": 0.2,
          "judge_b": 0.35,
          "mean": 0.2389,
          "spread": 0.183
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.36,
          "judge_a": 0.1,
          "judge_b": 0.3,
          "mean": 0.2533,
          "spread": 0.26
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.5,
          "judge_b": 0.88,
          "mean": 0.7533,
          "spread": 0.38
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.08,
          "judge_a": 0.03,
          "judge_b": 0.02,
          "mean": 0.0433,
          "spread": 0.06
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.52,
          "judge_a": 0.5,
          "judge_b": 0.48,
          "mean": 0.5,
          "spread": 0.04
        }
      }
    },
    {
      "rank": 42,
      "id": "st_20261109_18402",
      "title": "OpenSSL 3.4 and 3.6 End of Life",
      "url": "https://openssl-library.org/post/2026-11-01-eol34-36/",
      "domain": "openssl-library.org",
      "site": "openssl-library.org",
      "categories": [
        "security"
      ],
      "category_names": [
        "Security"
      ],
      "format": "News",
      "depth": "three_judges",
      "published_at": "2026-11-08T09:53:57.000Z",
      "jev": 0.638,
      "judge_a": 0.4395,
      "judge_b": 0.6674,
      "score": 0.5816,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 36,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "OpenSSL has announced that its 3.4 and 3.6 series have reached end of life, meaning they will no longer receive publicly available security fixes. Version 3.4 reached EOL on 22 October 2026 and 3.6 on 1 November 2026.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/42/",
      "card": "https://rubric.hrih.si/og/2026-11-09/42.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.678,
          "judge_a": 0.4,
          "judge_b": 0.52,
          "mean": 0.5325,
          "spread": 0.277
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.6,
          "judge_a": 0.5,
          "judge_b": 0.72,
          "mean": 0.6067,
          "spread": 0.22
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.57,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.6233,
          "spread": 0.13
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.865,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7617,
          "spread": 0.265
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.56,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.6867,
          "spread": 0.34
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.518,
          "judge_a": 0.25,
          "judge_b": 0.2,
          "mean": 0.3225,
          "spread": 0.317
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.9,
          "judge_a": 0.2,
          "judge_b": 0.95,
          "mean": 0.6833,
          "spread": 0.75
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.2,
          "judge_b": 0.08,
          "mean": 0.13,
          "spread": 0.12
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.21,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.1133,
          "spread": 0.18
        }
      }
    },
    {
      "rank": 43,
      "id": "st_20261109_18515",
      "title": "The Stone Age of Local Coding Agents",
      "url": "https://deadneurons.substack.com/p/the-stone-age-of-local-coding-agents",
      "domain": "deadneurons.substack.com",
      "site": "deadneurons.substack.com",
      "categories": [
        "programming",
        "ai",
        "security",
        "devops"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning",
        "Security",
        "Infrastructure & DevOps"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-08T13:50:00.000Z",
      "jev": 0.6867,
      "judge_a": 0.4456,
      "judge_b": 0.608,
      "score": 0.58,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 37,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Writer Ryan (author of \"The Stone Age of Local Coding Agents\") argues that running autonomous coding agents directly on developers' laptops is a security and efficiency dead end.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/43/",
      "card": "https://rubric.hrih.si/og/2026-11-09/43.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.74,
          "judge_a": 0.35,
          "judge_b": 0.7,
          "mean": 0.5967,
          "spread": 0.39
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.8,
          "judge_a": 0.7,
          "judge_b": 0.85,
          "mean": 0.7833,
          "spread": 0.15
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.947,
          "judge_a": 0.72,
          "judge_b": 0.75,
          "mean": 0.8056,
          "spread": 0.227
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.813,
          "judge_a": 0.6,
          "judge_b": 0.8,
          "mean": 0.7375,
          "spread": 0.213
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.323,
          "judge_a": 0.3,
          "judge_b": 0.3,
          "mean": 0.3078,
          "spread": 0.023
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.845,
          "judge_a": 0.45,
          "judge_b": 0.65,
          "mean": 0.6483,
          "spread": 0.395
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.83,
          "judge_a": 0.6,
          "judge_b": 0.7,
          "mean": 0.71,
          "spread": 0.23
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.16,
          "judge_a": 0.25,
          "judge_b": 0.2,
          "mean": 0.2033,
          "spread": 0.09
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.64,
          "judge_a": 0.6,
          "judge_b": 0.9,
          "mean": 0.7133,
          "spread": 0.3
        }
      }
    },
    {
      "rank": 44,
      "id": "st_20261109_18395",
      "title": "AI Companies Want to Buy Your Work Files and Emails",
      "url": "https://www.wired.com/story/ai-companies-really-really-want-to-buy-your-work-files-and-emails/",
      "domain": "wired.com",
      "site": "WIRED",
      "categories": [
        "ai",
        "data",
        "startups",
        "policy"
      ],
      "category_names": [
        "AI & machine learning",
        "Data",
        "Startups & founders",
        "Policy & regulation"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-08T09:15:06.000Z",
      "jev": 0.5411,
      "judge_a": 0.512,
      "judge_b": 0.6693,
      "score": 0.5741,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 39,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "AI labs and data brokers are paying companies and freelancers for copies of internal documents, emails, messages, and transcripts to train models on realistic workplace tasks, with reported offers ranging from about $350,000 to $2 million.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/44/",
      "card": "https://rubric.hrih.si/og/2026-11-09/44.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.628,
          "judge_a": 0.5,
          "judge_b": 0.78,
          "mean": 0.6358,
          "spread": 0.28
        },
        "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.837,
          "judge_a": 0.6,
          "judge_b": 0.82,
          "mean": 0.7522,
          "spread": 0.237
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.445,
          "judge_a": 0.4,
          "judge_b": 0.62,
          "mean": 0.4883,
          "spread": 0.22
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.383,
          "judge_a": 0.5,
          "judge_b": 0.58,
          "mean": 0.4878,
          "spread": 0.197
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.32,
          "judge_a": 0.1,
          "judge_b": 0.28,
          "mean": 0.2333,
          "spread": 0.22
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.87,
          "judge_a": 0.8,
          "judge_b": 0.94,
          "mean": 0.87,
          "spread": 0.14
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.11,
          "judge_a": 0.1,
          "judge_b": 0.03,
          "mean": 0.08,
          "spread": 0.08
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.51,
          "judge_a": 0.3,
          "judge_b": 0.72,
          "mean": 0.51,
          "spread": 0.42
        }
      }
    },
    {
      "rank": 45,
      "id": "st_20261109_18364",
      "title": "LLMs are terrible at designing AI systems",
      "url": "https://seangoedecke.com/llms-are-terrible-at-designing-ai-systems/",
      "domain": "seangoedecke.com",
      "site": "Sean Goedecke",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-08T00:00:00.000Z",
      "jev": 0.5553,
      "judge_a": 0.5367,
      "judge_b": 0.5942,
      "score": 0.562,
      "contested": true,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 42,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "Sean Goedecke argues that LLMs are poor at designing software that uses LLMs, often reaching for brittle symbolic or regex approaches instead of simply calling a model. He offers three explanations: pre-LLM training code, reinforcement learning environments that rarely involve calling LLMs, and general weakness in software design.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/45/",
      "card": "https://rubric.hrih.si/og/2026-11-09/45.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.528,
          "judge_a": 0.4,
          "judge_b": 0.58,
          "mean": 0.5025,
          "spread": 0.18
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.64,
          "judge_a": 0.72,
          "judge_b": 0.82,
          "mean": 0.7267,
          "spread": 0.18
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.793,
          "judge_a": 0.6,
          "judge_b": 0.72,
          "mean": 0.7044,
          "spread": 0.193
        },
        "practical_relevance": {
          "name": "Practical relevance",
          "weight": 0.22,
          "jev": 0.678,
          "judge_a": 0.65,
          "judge_b": 0.66,
          "mean": 0.6625,
          "spread": 0.027
        },
        "substantiated": {
          "name": "Substantiated",
          "weight": 0.05,
          "jev": 0.24,
          "judge_a": 0.35,
          "judge_b": 0.42,
          "mean": 0.3367,
          "spread": 0.18
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.618,
          "judge_a": 0.45,
          "judge_b": 0.48,
          "mean": 0.5158,
          "spread": 0.168
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.8,
          "judge_a": 0.7,
          "judge_b": 0.82,
          "mean": 0.7733,
          "spread": 0.12
        },
        "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.56,
          "judge_a": 0.3,
          "judge_b": 0.72,
          "mean": 0.5267,
          "spread": 0.42
        }
      }
    },
    {
      "rank": 46,
      "id": "st_20261109_18609",
      "title": "Teach Students to Code in English",
      "url": "https://commitcapital.substack.com/p/teach-students-to-code-in-english",
      "domain": "commitcapital.substack.com",
      "site": "commitcapital.substack.com",
      "categories": [
        "programming",
        "ai"
      ],
      "category_names": [
        "Programming & dev tools",
        "AI & machine learning"
      ],
      "format": "Analysis",
      "depth": "three_judges",
      "published_at": "2026-11-08T16:23:56.000Z",
      "jev": 0.6121,
      "judge_a": 0.409,
      "judge_b": 0.6379,
      "score": 0.5529,
      "contested": false,
      "flag_penalty": 0,
      "freshness_penalty": 0,
      "score_rank": 45,
      "topic_penalty": 0.08,
      "repeat_penalty": 0,
      "summary": "In this essay, Commit Capital's Aaymeloglu argues that computer science programs should embrace AI coding agents beyond the introductory courses, and describes a spring course at the University of Austin that did so. Students shipped deployed full-stack apps, while exams shift toward written prose about design tradeoffs.",
      "page": "https://rubric.hrih.si/editions/2026-11-09/46/",
      "card": "https://rubric.hrih.si/og/2026-11-09/46.png",
      "breakdown": {
        "significance": {
          "name": "Significance",
          "weight": 0.24,
          "jev": 0.653,
          "judge_a": 0.35,
          "judge_b": 0.7,
          "mean": 0.5675,
          "spread": 0.35
        },
        "reader_interest": {
          "name": "Reader interest",
          "weight": 0.26,
          "jev": 0.71,
          "judge_a": 0.6,
          "judge_b": 0.88,
          "mean": 0.73,
          "spread": 0.28
        },
        "audience_breadth": {
          "name": "Audience breadth",
          "weight": 0.13,
          "jev": 0.917,
          "judge_a": 0.6,
          "judge_b": 0.62,
          "mean": 0.7122,
          "spread": 0.317
        },
        "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.397,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.4556,
          "spread": 0.27
        },
        "technical_depth": {
          "name": "Technical depth",
          "weight": 0.05,
          "jev": 0.538,
          "judge_a": 0.2,
          "judge_b": 0.48,
          "mean": 0.4058,
          "spread": 0.337
        },
        "new_information": {
          "name": "New information",
          "weight": 0.05,
          "jev": 0.88,
          "judge_a": 0.6,
          "judge_b": 0.99,
          "mean": 0.8233,
          "spread": 0.39
        },
        "promotional": {
          "name": "Promotional",
          "weight": -0.19,
          "jev": 0.1,
          "judge_a": 0.2,
          "judge_b": 0.18,
          "mean": 0.16,
          "spread": 0.1
        },
        "overclaim": {
          "name": "Overclaim",
          "weight": -0.11,
          "jev": 0.53,
          "judge_a": 0.35,
          "judge_b": 0.62,
          "mean": 0.5,
          "spread": 0.27
        }
      }
    }
  ]
}
