Öffentliches Register
Software-GesundheitsberichtSchema 0.26.0 · Metriken 1.13.0 · 2026-07-22 00:39 UTC

github / markup

Determines which markup library to use to render a content file (e.g. README) on GitHub

Ruby · PythonMIT★ 6.037 Sterne⑂ 3.368 Forksseit Okt. 2009Auf GitHub ansehen ↗

github/markup erreicht einen Gesundheitsindex von 77 von 100 und liegt damit im Bereich Gut. Am stärksten schneidet es bei Community & Adoption (94/100) ab, am schwächsten bei AI Readiness (49/100). Zuletzt vor 6 Tagen aktualisiert. 4 Mitwirkende tragen den Großteil der jüngsten Arbeit.

77
gesamt / 100
Gut

Software-Gesundheitsindex

Metriken werden auf einer Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr Mittel; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze 49 (Gefährdet). AI Readiness liegt außerhalb.

77
Exzellent85-100Vorbildlich; erfüllt im Wesentlichen alle geprüften Kriterien
Gut70-84Gesund; geringfügige Lücken
Mittel50-69Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Gefährdet30-49Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-29Schwerwiegende Probleme (aufgegeben, nur ein Maintainer, keine Hygiene)
VitalitätCommunity &VerbreitungNachhaltigkeit &GovernanceEngineering-QualitätSicherheitAI Readiness

Bewertungsprofil

Jede Achse ist eine Kategorie. Die Form zählt mehr als der Durchschnitt — ein gesundes Projekt füllt die gesamte Fläche, während ein Profil aus Spitzen und Kratern bedeutet, dass Stärke in einer Dimension Risiken in einer anderen verdeckt.

Eigentümerschaft

GitHubOrganisation
80.388 Follower556 öffentliche Reposseit Mai 2008

Dieses Repository wird von einer Organisation getragen — geteilte, rechenschaftspflichtige Trägerschaft, die jeden einzelnen Maintainer überdauern kann.

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlicht
RubyGemsgithub-markup6.0.0-66vor 77 Tagen

Metriken nach Kategorie

Vitalität

Lebt das Projekt — wird Code geschrieben und werden Releases ausgeliefert?

75Gut · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 6 Tagen
11.8/36Commit-Rhythmus — 17/52 Wochen mit Commits
17.6/18Commit-Volumen — 91 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year91
human_commit_share0,7
days_since_last_push6
active_weeks_last_year17
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 22 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 78 Tagen
12.6/27Release-Rhythmus — ein Release etwa alle 306,6 Tage
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Verwendete Eingangsdaten
releases_count22
latest_release_tagv6.0.0
releases_from_tagsnein
days_since_latest_release78
mean_days_between_releases306,6

Community & Verbreitung

Hat das Projekt Nutzer, Downloads, Aufmerksamkeit und ein einladendes Umfeld für Beitragende?

94Exzellent · 18 % des Gesamtindex
Wie die Bewertung erfolgt
60/60Stars — 6.037 Stars
25/25Forks — 3.368 Forks
15/15Watcher — 614 Watcher
Verwendete Eingangsdaten
forks3.368
stars6.037
watchers614
growth_stateorganic
growth_factor_pct100
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (MIT)
18/18CONTRIBUTING-Leitfaden
13.5/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingja
has_issue_templatenein
has_code_of_conductja
has_pull_request_templatenein
Wie die Bewertung erfolgt
77.8/80Downloads gesamt — 30.915.099 Downloads insgesamt über rubygems
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packagesgithub-markup
dependents
ecosystemsrubygems
total_downloads30.915.099
monthly_downloads
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Abhängige in der Registry. Die verbleibenden Gewichte wurden renormalisiert.

Nachhaltigkeit & Governance

Überdauert das Projekt die Menschen, die es tragen — Bus-Faktor, Reaktionsfähigkeit, Trägerschaft und Paketpflege?

83Gut · 24 % des Gesamtindex
Wie die Bewertung erfolgt
43.2/54Bus-Faktor — 4 Beitragende decken die Hälfte aller Commits ab
19/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 16 % der Commits
13.5/13.5Breite der Beitragenden — 91 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 62 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor4
contributors_sampled91
top_contributor_share0,155
Wie die Bewertung erfolgt
46/46.8Issue-Lösungsquote — 98 % der Issues geschlossen
18.9/38.3PR-Annahme — 206/416 entschiedene PRs gemergt
4.5/15OpenSSF Scorecard: Code-Review — Found 1/3 approved changesets -- score normalized to 3
Verwendete Eingangsdaten
merged_prs206
open_issues20
closed_issues1.170
issue_closed_ratio0,983
closed_unmerged_prs210
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
25/25Reichweite des Inhabers — 80.388 Follower von github
25/25Kontohistorie — 556 öffentliche Repos, Kontoalter ca. 18 Jahre
Verwendete Eingangsdaten
followers80.388
owner_typeOrganization
is_verified
owner_logingithub
public_repos556
account_age_days6.645

Paketpflege

100Exzellent
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf rubygems
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 77 Tagen
20/20Versionshistorie — 66 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagesgithub-markup
ecosystemsrubygems
any_deprecatednein
min_days_since_publish77

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

61Mittel · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 2 Workflow(s)
24/24Tests vorhanden
0/16Linter-Konfiguration
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 13 out of 13 merged PRs checked by a CI test -- score normalized to 10
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_confignein
has_precommit_confignein
Wie die Bewertung erfolgt
30/30README
0/25Dokumentationsverzeichnis
0/15Dokumentations-/Homepage-Site
10/10Repository-Beschreibung
10/10Topics — 1 Topics
0/10Wiki
Verwendete Eingangsdaten
topicsreadme
has_wikinein
homepage
has_readmeja
has_docs_dirnein
has_descriptionja

Sicherheit

Sind die sichtbaren Sicherheits- und Lieferkettenpraktiken belastbar, ohne ungeklärte Exposition gegenüber Hochrisikojurisdiktionen?

72Gut · 16 % des Gesamtindex
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
3.8/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 13 out of 13 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
2.2/7.5Code-Review — Found 1/3 approved changesets -- score normalized to 3
2.5/2.5Contributors — project has 62 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
7.5/7.5Maintained — 30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — keine Daten
2/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 4
5/5SAST — SAST tool is run on all commits
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
6.8/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 11 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate6,5
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): packaging. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
35/35Direkte Abhängigkeiten ohne bekannte Advisories — keine direkte Abhängigkeit trägt ein bekanntes Advisory
0/25Indirekte Abhängigkeiten ohne bekannte Advisories — transitive Menge in diesem Bereich nicht von Entwicklungs- und Test-Abhängigkeiten trennbar
0/40Keine offenen Advisories — kein Advisory trägt ein Veröffentlichungsdatum
Verwendete Eingangsdaten
sourceosv
advisories11
affected_packages2
assessed_packages55
unassessed_packages8
affected_by_severityhigh 1, moderate 1
direct_affected_packages0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Indirekte Abhängigkeiten ohne bekannte Advisories, Keine offenen Advisories. Die verbleibenden Gewichte wurden renormalisiert. 55 aufgelöste Abhängigkeiten wurden mit OSV abgeglichen. 8 konnten nicht bewertet werden — keine aufgelöste Version, ein nicht unterstütztes Ökosystem oder außerhalb der ausgewiesenen Paketliste. Dieses Repository veröffentlicht kein Paket, das der Index auflöst; bewertet wurde daher der Abhängigkeitsgraph des Repositorys. Dieser Graph vermischt Entwicklungs- und Test-Pins mit ausgelieferten Abhängigkeiten, daher werden nur die deklarierten Laufzeit-Abhängigkeiten bewertet; transitive Befunde werden als Kontext ausgewiesen und fließen nicht in die Bewertung ein. Erreichbarkeit wird nicht analysiert.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Ein unabhängiges, experimentelles Badge — Gewicht 0,0, es wird eigenständig ausgewiesen und verändert den Gesamt-Gesundheitswert nicht.

49Gefährdet · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 69 von 70 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,986
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
0/11Lint-/Format-Konfiguration
0/11Statische Typprüfung
10/10Reproduzierbare Umgebung — lockfile
10/10Belegte Agentenpraxis — 32 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
8/8Automatisierte Wartung — 30 der letzten 100 Commits sind automatisierte Abhängigkeits-Updates
4/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 4
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfilesGemfile.lock
has_dockerfilenein
typed_languagenein
bootstrap_files
has_devcontainernein
has_linter_confignein
typecheck_configs
agent_commit_share0,32
toolchain_manifests
dependency_bot_commit_share0,3
Wie die Bewertung erfolgt
0/45Typprüfbarer Code — Ruby ohne Typprüfungs-Konfiguration
55/55Handhabbare Dateigrößen — 0/11 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageRuby
largest_source_bytes14.547
source_files_sampled11
oversized_source_files0

Eckdaten

6.037GitHub-Sterne
91Mitwirkende
91Commits, letzte 12 Monate
6Tage seit letztem Push
22Releases
4Bus-Faktor
20offene Issues
RubyGemsPaket-Ökosysteme

Weitere Details

Stern- und Fork-Verlauf 6.037 ★ / 3.368 ⇿
6.037Sterne
3.368Forks
17Releases

Wann jeder Stern und Fork hinzugefügt wurde, von GitHub erfasst und nach Tagen gruppiert. Das kumulierte Wachstum steht direkt über den täglichen Zugängen, aus denen es besteht, sodass beide gegeneinander lesbar sind: stetiger organischer Zuwachs sieht ganz anders aus als ein abrupter, kurzlebiger Ausschlag. Wo dieser Unterschied messbar ist, wird er als Wachstumsauthentizität ausgewiesen.

Es wird nur die jüngste Historie angezeigt — dieses Repository überschreitet das Erfassungsfenster, sodass die früheste Historie nicht erfasst wird.

1.2502.5003.7505.0006.2506.0373.368162017-032021-112026-07
Major 4Minor 3Patch 10

Jeder Punkt umfasst 9 Tage.

OpenSSF Scorecard 6.5 / 10
6.5Gesamtwert

Unabhängige, werkzeugneutrale Sicherheitsbewertung durch das quelloffene OpenSSF Scorecard. Jede Prüfung honoriert eine Sicherheits-Praxis, nicht das Werkzeug eines bestimmten Anbieters. Prüfungen, die Scorecard nicht ermitteln konnte, sind mit k. A. markiert und vom Sicherheitswert ausgeschlossen (nie als null gezählt).Scorecard v5.5.0 · 2026-07-22 00:38 UTC

10Binary-Artifactsno binaries found in the repo
5Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests13 out of 13 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
3Code-ReviewFound 1/3 approved changesets -- score normalized to 3
10Contributorsproject has 62 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10
k. A.Packagingpackaging workflow not detected
4Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 4
10SASTSAST tool is run on all commits
10Security-Policysecurity policy file detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
9Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities11 existing vulnerabilities detected
Direkte Abhängigkeiten 11
RegistryPaketVersionsvorgabeManifest
RubyGemsredcarpetGemfile
RubyGemskramdownGemfile
RubyGemsRedClothGemfile
RubyGemscommonmarker~> 2.8.2Gemfile
RubyGemsrdoc~> 7.2.0Gemfile
RubyGemsorg-ruby0.9.12Gemfile
RubyGemscreole~>0.5.0Gemfile
RubyGemswikicloth=0.8.3Gemfile
RubyGemstwitter-text~> 1.14Gemfile
RubyGemsasciidoctor~> 2.0.26Gemfile
RubyGemsrexmlGemfile
Alle Abhängigkeiten 63

Vollständig aufgelöster Abhängigkeitssatz aus dem GitHub-Abhängigkeitsgraphen: 10 direkte und 53 indirekte (transitive) Pakete. Die transitive Hülle ist vollständig, wenn das Repository eine Lockfile eincheckt.

RegistryPaketVersionBeziehung
RubyGemsasciidoctor2.0.26direkt
RubyGemscommonmarker2.8.2direkt
RubyGemscreole0.5.0direkt
RubyGemsorg-ruby0.9.12direkt
RubyGemsrdoc7.2.0direkt
RubyGemsredcarpet3.6.1direkt
RubyGemsRedCloth4.3.4direkt
RubyGemsrexml3.4.4direkt
RubyGemstwitter-text1.14.7direkt
RubyGemswikicloth0.8.3direkt
RubyGemsactivesupportindirekt
RubyGemsactivesupport8.1.3indirekt
RubyGemsbase640.3.0indirekt
RubyGemsbigdecimal4.1.2indirekt
RubyGemsbuilder3.3.0indirekt
RubyGemscgi0.5.1indirekt
RubyGemscharlock_holmes0.7.9indirekt
RubyGemsconcurrent-ruby1.3.6indirekt
RubyGemsconnection_pool3.0.2indirekt
RubyGemsdate3.5.1indirekt
RubyGemsdocile1.4.1indirekt
RubyGemsdrb2.2.3indirekt
RubyGemserb6.0.4indirekt
RubyGemsexpression_parser0.9.0indirekt
RubyGemsgithub-linguistindirekt
RubyGemsgithub-linguist9.5.0indirekt
RubyGemshtml-pipelineindirekt
RubyGemshtml-pipeline3.2.4indirekt
RubyGemshtmlentities4.3.4indirekt
RubyGemsi18n1.14.8indirekt
RubyGemsjson2.19.5indirekt
RubyGemslogger1.7.0indirekt
RubyGemsmini_mime1.1.5indirekt
RubyGemsmini_portile22.8.9indirekt
RubyGemsminitestindirekt
RubyGemsminitest6.0.6indirekt
RubyGemsnokogiriindirekt
RubyGemsnokogiri1.19.3indirekt
RubyGemsnokogiri-diffindirekt
RubyGemsnokogiri-diff0.3.0indirekt
RubyGemsprism1.9.0indirekt
RubyGemspsych5.3.1indirekt
RubyGemsracc1.8.1indirekt
RubyGemsrakeindirekt
RubyGemsrake13.4.2indirekt
RubyGemsrake-compiler-dock1.12.0indirekt
RubyGemsrb_sys0.9.128indirekt
RubyGemsrubypants0.7.1indirekt
RubyGemsrugged1.9.0indirekt
RubyGemssecurerandom0.4.1indirekt
RubyGemsselma0.5.0indirekt
RubyGemssimplecovindirekt
RubyGemssimplecov0.22.0indirekt
RubyGemssimplecov-html0.13.2indirekt
RubyGemssimplecov_json_formatter0.1.4indirekt
RubyGemsstringio3.2.0indirekt
RubyGemstdiff0.4.0indirekt
RubyGemstsort0.2.0indirekt
RubyGemstzinfo2.0.6indirekt
RubyGemsunf0.1.4indirekt
RubyGemsunf_ext0.0.9.1indirekt
RubyGemsuri1.1.1indirekt
RubyGemszeitwerk2.8.2indirekt
Abhängigkeits-Advisories 2

Dieses Repository veröffentlicht kein vom Index auflösbares Paket, daher wurde sein eigener Abhängigkeitsgraph bewertet – 55 Pakete, darunter auch Entwicklungs- und Test-Pins, die nie ausgeliefert werden: 2 tragen bekannte Advisories, davon 0 direkte. 8 konnten nicht bewertet werden – keine aufgelöste Version, ein nicht unterstütztes Ökosystem, oder außerhalb der ausgewiesenen Paketliste.

PaketVersionBeziehungSchweregradAdvisoriesBehoben in
concurrent-ruby1.3.6indirekthoch31.3.7
nokogiri1.19.3indirektmittel81.19.4

Ein Advisory bedeutet, dass die im Abhängigkeitsgraphen erfasste Version in den betroffenen Bereich eines Advisories fällt. Erreichbarkeit wird nicht analysiert, und der Graph enthält Entwicklungs- und Test-Pins — ein Fund kann das Werkzeug betreffen und nicht die ausgelieferte Software.

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [
        "readme"
      ],
      "is_fork": false,
      "size_kb": 969,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "Perl": 363,
        "Raku": 42,
        "Ruby": 38138,
        "Shell": 805,
        "Python": 11109
      },
      "pushed_at": "2026-07-15T11:00:49Z",
      "created_at": "2009-10-31T01:02:46Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-20T13:39:47Z",
      "description": "Determines which markup library to use to render a content file (e.g. README) on GitHub",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "Ruby",
      "significant_languages": [
        "Ruby",
        "Python"
      ]
    },
    "owner": {
      "blog": "https://github.com/about",
      "name": "GitHub",
      "type": "Organization",
      "login": "github",
      "company": null,
      "location": "United States of America",
      "followers": 80388,
      "avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4",
      "created_at": "2008-05-11T04:37:31Z",
      "is_verified": null,
      "public_repos": 556,
      "account_age_days": 6645
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v6.0.0",
          "kind": "major",
          "published_at": "2026-05-05T00:37:48Z"
        },
        {
          "tag": "v5.0.1",
          "kind": "patch",
          "published_at": "2024-06-17T15:55:42Z"
        },
        {
          "tag": "v5.0.0",
          "kind": "major",
          "published_at": "2024-06-17T15:13:11Z"
        },
        {
          "tag": "v3.0.4",
          "kind": "patch",
          "published_at": "2019-04-02T23:41:02Z"
        },
        {
          "tag": "v3.0.3",
          "kind": "patch",
          "published_at": "2018-12-17T05:50:48Z"
        },
        {
          "tag": "v3.0.2",
          "kind": "patch",
          "published_at": "2018-12-12T04:08:27Z"
        },
        {
          "tag": "v3.0.1",
          "kind": "patch",
          "published_at": "2018-10-18T23:16:55Z"
        },
        {
          "tag": "v3.0.0",
          "kind": "major",
          "published_at": "2018-10-18T04:58:47Z"
        },
        {
          "tag": "v2.0.2",
          "kind": "patch",
          "published_at": "2018-10-14T22:53:55Z"
        },
        {
          "tag": "v2.0.1",
          "kind": "patch",
          "published_at": "2018-10-14T22:51:03Z"
        },
        {
          "tag": "v2.0.0",
          "kind": "major",
          "published_at": "2018-01-30T23:38:33Z"
        },
        {
          "tag": "v1.7.0",
          "kind": "minor",
          "published_at": "2018-01-30T02:15:11Z"
        },
        {
          "tag": "v1.6.2",
          "kind": "patch",
          "published_at": "2018-01-30T01:53:30Z"
        },
        {
          "tag": "v1.6.1",
          "kind": "patch",
          "published_at": "2018-01-30T01:53:44Z"
        },
        {
          "tag": "v1.6.0",
          "kind": "minor",
          "published_at": "2018-01-30T01:53:58Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2018-01-30T01:54:12Z"
        },
        {
          "tag": "v1.4.9",
          "kind": "patch",
          "published_at": "2018-01-30T01:54:28Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2015-07-31T18:32:53Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2014-04-17T07:55:08Z"
        },
        {
          "tag": "v1.1.2",
          "kind": "patch",
          "published_at": "2014-04-16T05:32:06Z"
        },
        {
          "tag": "v1.0.2",
          "kind": "patch",
          "published_at": "2014-02-14T23:53:04Z"
        },
        {
          "tag": "v0.7.7",
          "kind": "patch",
          "published_at": "2013-09-24T15:39:50Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "a365c64ef765f3677ed50947081d29b863b6ff4c",
          "body": "Bumps the dependencies group with 1 update: [ruby/setup-ruby](https://github.com/ruby/setup-ruby).\n\n\nUpdates `ruby/setup-ruby` from 1.316.0 to 1.318.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)\n- [Commits](h\n[…]\nersion-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump ruby/setup-ruby in the dependencies group (#2089)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-15T11:00:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2abe5966d4a28f445bd80ec1f18a94b552821ea4",
          "body": "…dates (#2088)\n\nBumps the dependencies group with 2 updates in the / directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [actions/stale](https://github.com/actions/stale).\n\n\nUpdates `ruby/setup-ruby` from 1.315.0 to 1.316.0\n- [Release notes](https://github.com/ruby/setup-ruby/releas\n[…]\nersion-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the dependencies group across 1 directory with 2 up…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-10T23:56:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fd5b414ea3243643e9a74ad5bd7d24c7dc80f9e5",
          "body": "PR #2081 set auto_id_prefix: 'id' in lib/github/commands/rest2html to keep\nthe pre-docutils-0.18 anchor id scheme, but the committed RST fixtures still\nheld the docutils-0.18 default (toc-entry-N). The rendered output therefore\nnever matched the fixtures, so test_rst, test_long.rst, and test_toc.rst\n[…]\nhat\nthe auto_id_prefix: 'id' setting actually produces, honoring #2081's intent.\n\nSigned-off-by: Zack Koppert <zkoppert@github.com>\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Fix RST TOC anchor ids to complete docutils 0.18 fix (#2081) (#2087)",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-07-10T23:16:43Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "aca83956263c0ce0327a02c664435ea520cc1710",
          "body": "Fix id names in rst renders after docutils 0.18",
          "is_bot": false,
          "headline": "Merge pull request #2081 from github/rst-auto-id-prefix",
          "author_name": "satana",
          "author_login": "pudiva",
          "committed_at": "2026-07-01T12:13:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "22d2d5121b2d8472c097f767c8e85a08a8150be6",
          "body": "Bumps the dependencies group with 2 updates: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [actions/cache](https://github.com/actions/cache).\n\n\nUpdates `ruby/setup-ruby` from 1.314.0 to 1.315.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](https://github.co\n[…]\nersion-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the dependencies group with 2 updates (#2083)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-01T12:00:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a5d7bbe59a0c15a162b8f37207c8e4aa34ce10b5",
          "body": "Fix id names changing in rst renders with the upgrade to docutils 0.18\nby enforcing the old default value `id` for `auto_id_prefix`.\n\nSee: https://docutils.sourceforge.io/RELEASE-NOTES.html#release-0-18-2021-10-26\n\nco-authored-by: Tyler Dixon <tylerdixon@github.com>",
          "is_bot": false,
          "headline": "Fix id names in rst renders after docutils 0.18",
          "author_name": "Satana de Sant'Ana",
          "author_login": "pudiva",
          "committed_at": "2026-06-30T18:46:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea390592dc126a741ee252fc0b87c555d5942f32",
          "body": "Bumps the dependencies group with 2 updates: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [actions/setup-python](https://github.com/actions/setup-python).\n\n\nUpdates `ruby/setup-ruby` from 1.313.0 to 1.314.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](htt\n[…]\nersion-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the dependencies group with 2 updates (#2078)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-24T12:02:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "08922132ed86e1e5017d87251d0564ae2f1d0af0",
          "body": "Bumps [actions/cache](https://github.com/actions/cache) from 5.0.5 to 6.0.0.\n- [Release notes](https://github.com/actions/cache/releases)\n- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)\n- [Commits](https://github.com/actions/cache/compare/27d5ce7f107fe9357f9df03efb73ab90386fcca\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump actions/cache from 5.0.5 to 6.0.0 (#2079)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-24T12:01:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8da4b091e227bc26ae865f2776a1f48d07f67b61",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.0.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b43\n[…]\nirect:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 (#2080)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-24T12:01:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1f45108c916ab7169319f59e5eb431229fc14bb1",
          "body": "Bumps the dependencies group with 1 update: [ruby/setup-ruby](https://github.com/ruby/setup-ruby).\n\n\nUpdates `ruby/setup-ruby` from 1.312.0 to 1.313.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)\n- [Commits](h\n[…]\nersion-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump ruby/setup-ruby in the dependencies group (#2075)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-17T16:02:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e8de43e4f54f11cbab16e0436dfc4094a77a7ee3",
          "body": "…encies-3effd6bc65\n\nchore(deps): bump ruby/setup-ruby from 1.310.0 to 1.312.0 in the dependencies group",
          "is_bot": false,
          "headline": "Merge pull request #2073 from github/dependabot/github_actions/depend…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-12T05:28:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d38b455b7774c86d7afe84ba09764a48e0789dae",
          "body": "Bumps the dependencies group with 1 update: [ruby/setup-ruby](https://github.com/ruby/setup-ruby).\n\n\nUpdates `ruby/setup-ruby` from 1.310.0 to 1.312.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)\n- [Commits](h\n[…]\n\n  dependency-version: 1.312.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump ruby/setup-ruby in the dependencies group",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-10T10:22:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "095cb2dc8ba2de62d6b540afb908cb4d377b802f",
          "body": "…-3.2.4\n\nchore(deps): update html-pipeline requirement from ~> 1.0 to ~> 3.2",
          "is_bot": false,
          "headline": "Merge pull request #2061 from github/dependabot/bundler/html-pipeline…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-09T03:45:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dea1788bffee44b29b60d3dbe3f88a458d295c00",
          "body": "html-pipeline v3 uses Selma directly instead of the sanitize gem, and\nnothing in this repo requires sanitize. The 'sanitize' method calls in\nlib/github/markup/command_implementation.rb are an internal encoding\nhelper, not the gem.\n\nCaught by Copilot's code review on #2061.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "build: drop unused sanitize gem dev dependency",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-09T03:01:55Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e7beefbfc20ad74304a7717b36fddb322c370fd3",
          "body": "html-pipeline v3 replaces the v1 SanitizationFilter (Sanitize gem) with one\nbacked by Selma. The default allowlist and serialization differ in observable\nbut reasonable ways:\n\n* Heading/anchor IDs (e.g. <h2 id=\"first-section\">) are now preserved, fixing\n  TOC anchor links that v1 stripped silently.\n\n[…]\nontracts the\nlibrary itself enforces - real consumers build their own pipelines.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "test: regenerate fixtures for html-pipeline v3 sanitizer (Selma)",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T23:22:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "635bd18061687f89ab60d75510929138a42b53b7",
          "body": "html-pipeline v3 reorganizes the namespace (HTML::Pipeline -> HTMLPipeline),\nsplits the single Filter base class into TextFilter/ConvertFilter/NodeFilter,\nmakes the pipeline accept filter instances (not classes) via explicit keyword\narguments, and returns a result hash from #call. Update the test harness's\nsample pipeline to match.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "test: migrate to HTMLPipeline v3 API",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T23:22:21Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3c4eb1e8508124615c1da38d4633ef798b0f4ed5",
          "body": "Updates the requirements on [html-pipeline](https://github.com/gjtorikian/html-pipeline) to permit the latest version.\n- [Release notes](https://github.com/gjtorikian/html-pipeline/releases)\n- [Changelog](https://github.com/gjtorikian/html-pipeline/blob/main/CHANGELOG.md)\n- [Commits](https://github.\n[…]\n:\n- dependency-name: html-pipeline\n  dependency-version: 3.2.4\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): update html-pipeline requirement from ~> 1.0 to ~> 3.2",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-08T23:17:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8a3100600ec12c732705977cfa4167d70570b7d4",
          "body": "…v2.8.2\n\nchore(deps): bump commonmarker from v0.18.3 to v2.8.2",
          "is_bot": false,
          "headline": "Merge pull request #2059 from github/dependabot/bundler/commonmarker-…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T23:15:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35f00830a0cce2f72fcf24a8dda05fe89105134c",
          "body": "PR #2072 enforces a 100% line+branch coverage floor. The commonmarker\n2.x migration adds a legacy options shim (lib/github/markup/markdown.rb\nlines 30-69) that translates the cmark-gfm 0.x :SOURCEPOS / :HARDBREAKS\n/ etc. symbols into commonmarker 2.x parse/render/extension option\nhashes; none of the\n[…]\n failures.\nLine Coverage: 100.0% (226 / 226).\nBranch Coverage: 100.0% (55 / 55).\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Add commonmarker proc legacy option/extension coverage tests",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T18:01:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b41ed929b0ee76d8f62e7bebb538c5ec733a42d6",
          "body": "Commonmarker 2.x is a from-scratch rewrite that swaps the upstream parser\nfrom cmark-gfm (C) to comrak (Rust). It also redesigns the Ruby API:\n\n  - Module: CommonMarker -> Commonmarker (lowercase m)\n  - Render entry point: CommonMarker.render_html(content, opts, exts)\n    -> Commonmarker.to_html(con\n[…]\n {syntax_highlighter: nil})\n    to keep `<pre lang>` blocks clean.\n\nCloses #2059\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Upgrade commonmarker to ~> 2.8.2",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T06:59:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "be33798ce186dacf54c365ef9fc3ef4acf5cd0b1",
          "body": "Add 100% test coverage floor with SimpleCov",
          "is_bot": false,
          "headline": "Merge pull request #2072 from github/test-coverage-100",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T06:54:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54a8e28c1e35b374f0ad6ff18665bc2ad4c1733d",
          "body": "The CommandImplementation empty-output test hard-coded /usr/bin/true,\nwhich is not guaranteed to live at that path on every platform. Adding\ntest/fixtures/empty.sh keeps the test self-contained and matches the\nexisting cat.sh / fail.sh pattern, so the suite runs anywhere the rest\nof the fixtures already do.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Use a fixture script instead of /usr/bin/true",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T06:32:04Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d1eb3338f9c03f2fb720893fee7c00ef4135d7e5",
          "body": "The header listed five fallback markdown gem procs, but the test file\nactually exercises all six (github/markdown, redcarpet, rdiscount,\nmaruku, kramdown, bluecloth). The LoadError wording is now quoted\nexactly, and the stale legacy RDoc < 4 bullet is removed since that\nbranch is excluded from coverage with :nocov: markers and no test\ncovers it directly.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Correct coverage_test.rb header comment",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T06:31:37Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "5a3eb2560bd9d70189b825920c59f4e11d01ea13",
          "body": "The previous assertion only checked that 'tt' was present in\nESCAPED_TAGS after two renders, which would still pass if the\nidempotency guard regressed and appended duplicates. Switch to\ncounting 'tt' occurrences so the test would fail if WikiCloth's\nESCAPED_TAGS<<'tt' ever ran twice.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Tighten MediaWiki ESCAPED_TAGS test to assert idempotency",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T06:20:15Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "2a07090433d0563ab6bc5fb2250eef61c2a17f40",
          "body": "Previously the gemspec dereferenced MatchData#[] directly, so a\nformatting change in lib/github-markup.rb that broke the regex\nwould raise NoMethodError on nil. Wrap the match in an explicit\ncheck and raise with the file path so the failure is obvious.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Fail loudly if VERSION cannot be read from lib",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T06:20:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "05d38d83536f29a6e4448f23f0f6ad3bbaf52972",
          "body": "Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Ignore SimpleCov coverage/ output directory",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T06:13:12Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f8f7df0a46075be4ca29b31d41908a2a480fbfc1",
          "body": "Adds a test_helper that boots SimpleCov before the rest of the suite\nloads, with line and branch coverage tracking enabled and a hard floor\nat 100% for both. SimpleCov exits non-zero when the threshold isn't\nmet, so the existing `bundle exec rake` step in CI fails any future\nchange that regresses co\n[…]\ncommand path.\n\nCoverage: 90.23% line / 64.71% branch -> 100% line / 100% branch.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Add SimpleCov with a 100% line + branch coverage floor",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T06:13:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6f469d1035313383a625e6b3788cd19b3a2c7c18",
          "body": "The `else` branch is for RDoc < 4, which has been unsupported since\nRuby 2.4 (2016). Modern RDoc requires Options. The branch is unreachable\nin any supported environment, so guard it with :nocov: markers rather\nthan contort the test suite to fake an unsupported RDoc version.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Exclude legacy RDoc < 4 fallback from coverage",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T06:12:47Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "149bafdb0100093a9c22ba3053b7e242d9cd1041",
          "body": "The gemspec previously `require`d \"../lib/github-markup\" to fetch the\nVERSION constant. Bundler's gem_tasks evaluates the gemspec at rake\nstartup, which happens before tests load SimpleCov. Any file `require`d\nfrom the gemspec is therefore invisible to coverage tracking.\n\nSwitch to a regex read of t\n[…]\ndependency in preparation for the coverage target landing\nin a follow-up commit.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Read VERSION from source instead of requiring the lib",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T06:12:43Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6900a6f53cf225114ecf088e96dc8b1adf64815d",
          "body": "Replaces the bare DSL (markup, command, markup_impl) with fully-qualified\nGitHub::Markup.* calls so the file can be loaded via require_relative\ninstead of instance_eval. This lets SimpleCov track coverage of the\nregistration logic.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Use explicit module references in lib/github/markups.rb",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-08T06:12:35Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b86a51354fd4811ecb39cd8165c6a0216550d31b",
          "body": "chore(deps): update minitest requirement from ~> 5.4, >= 5.4.3 to >= 5.4.3, ~> 6.0",
          "is_bot": false,
          "headline": "Merge pull request #2066 from github/dependabot/bundler/minitest-6.0.6",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-06T16:46:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b7aa637e14a6799b6da7a6ef251eb71109869b9",
          "body": "…5.4.3, ~> 6.0\n\nUpdates the requirements on [minitest](https://github.com/minitest/minitest) to permit the latest version.\n- [Changelog](https://github.com/minitest/minitest/blob/master/History.rdoc)\n- [Commits](https://github.com/minitest/minitest/compare/v5.27.0...v6.0.6)\n\n---\nupdated-dependencies:\n- dependency-name: minitest\n  dependency-version: 6.0.6\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): update minitest requirement from ~> 5.4, >= 5.4.3 to >= …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-06T16:16:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d063713e9830b30ad0380c6e931e6d0b8c632386",
          "body": "chore(deps): bump rdoc from 6.13.1 to 7.2.0",
          "is_bot": false,
          "headline": "Merge pull request #2065 from github/dependabot/bundler/rdoc-7.2.0",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-06T16:15:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f764b83cf105c1716eedb43c56122e2d640bbf0",
          "body": "…encies-cdcad3299f",
          "is_bot": false,
          "headline": "Merge pull request #2070 from github/dependabot/github_actions/depend…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-06-04T14:37:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3772daab7559c1d49b765e1f15737d5e5c9cf1b4",
          "body": "…dates\n\nBumps the dependencies group with 3 updates in the / directory: [actions/checkout](https://github.com/actions/checkout), [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [actions/stale](https://github.com/actions/stale).\n\n\nUpdates `actions/checkout` from 6.0.2 to 6.0.3\n- [Release no\n[…]\ne\n  dependency-version: 10.3.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the dependencies group across 1 directory with 3 up…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-06-04T01:38:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ec28cb3b1827473300ff7691f21c0896ea1647b3",
          "body": "Bumps [rdoc](https://github.com/ruby/rdoc) from 6.13.1 to 7.2.0.\n- [Release notes](https://github.com/ruby/rdoc/releases)\n- [Changelog](https://github.com/ruby/rdoc/blob/master/History.rdoc)\n- [Commits](https://github.com/ruby/rdoc/compare/v6.13.1...v7.2.0)\n\n---\nupdated-dependencies:\n- dependency-name: rdoc\n  dependency-version: 7.2.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump rdoc from 6.13.1 to 7.2.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-20T16:11:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7640c9f4c1beda2df1036d6241a477b9d589409b",
          "body": "…43ef808e07\n\nchore(deps): bump the dependencies group across 1 directory with 2 updates",
          "is_bot": false,
          "headline": "Merge pull request #2064 from github/dependabot/bundler/dependencies-…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-14T08:22:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f456de9ca87b70c993b66dce6c0d420514a22b1",
          "body": "…dates\n\nBumps the dependencies group with 2 updates in the / directory: [rake](https://github.com/ruby/rake) and [github-linguist](https://github.com/github-linguist/linguist).\n\n\nUpdates `rake` from 13.3.1 to 13.4.2\n- [Release notes](https://github.com/ruby/rake/releases)\n- [Changelog](https://githu\n[…]\nt\n  dependency-version: 9.5.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the dependencies group across 1 directory with 2 up…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-14T08:01:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cf938180a792536e6567bad41bc680e8387dd7c7",
          "body": "…-8.1.3\n\nchore(deps): update activesupport requirement from ~> 7.2.3 to ~> 8.1.3",
          "is_bot": false,
          "headline": "Merge pull request #2060 from github/dependabot/bundler/activesupport…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-14T08:00:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9ec60479ed4becf28cd1bdd88adf40c19411bf3",
          "body": "chore(deps): bump nokogiri from 1.19.2 to 1.19.3",
          "is_bot": false,
          "headline": "Merge pull request #2057 from github/dependabot/bundler/nokogiri-1.19.3",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-14T07:59:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "081e494dc82d8275c657a60d3bb9cac91ca09060",
          "body": "Updates the requirements on [activesupport](https://github.com/rails/rails) to permit the latest version.\n- [Release notes](https://github.com/rails/rails/releases)\n- [Changelog](https://github.com/rails/rails/blob/v8.1.3/activesupport/CHANGELOG.md)\n- [Commits](https://github.com/rails/rails/compare\n[…]\n:\n- dependency-name: activesupport\n  dependency-version: 8.1.3\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): update activesupport requirement from ~> 7.2.3 to ~> 8.1.3",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-14T07:51:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "457b7fa6f4d3e3e0256407985dcde945f52370e4",
          "body": "Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.19.2 to 1.19.3.\n- [Release notes](https://github.com/sparklemotion/nokogiri/releases)\n- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.19.2...v1.19.3)\n\n---\nupdated-dependencies:\n- dependency-name: nokogiri\n  dependency-version: 1.19.3\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump nokogiri from 1.19.2 to 1.19.3",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-14T07:51:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d36ba9836b1dd7db062aef0102bb28c232df6ef",
          "body": "fix: remove duplicate rake and nokogiri deps from Gemfile",
          "is_bot": false,
          "headline": "Merge pull request #2063 from github/fix/remove-duplicate-gemfile-deps",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-14T07:50:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0df73a700056f8bf01243a481e8dc8554d49bd2c",
          "body": "rake and nokogiri are declared in both the Gemfile and gemspec with\ndifferent version constraints. This causes all Dependabot bundler PRs\nto fail CI because Dependabot's Bundler serializes merged\nGemfile+gemspec constraints into the lockfile DEPENDENCIES section,\nwhile CI's Bundler (in frozen mode) \n[…]\nspec). This eliminates the\nserialization mismatch regardless of Bundler version.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "fix: remove duplicate rake and nokogiri deps from Gemfile",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-14T07:38:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "052712e48360bd68b18e5490057d3834570e112b",
          "body": "…encies-da8be134b1\n\nchore(deps): bump ruby/setup-ruby from 1.306.0 to 1.307.0 in the dependencies group",
          "is_bot": false,
          "headline": "Merge pull request #2062 from github/dependabot/github_actions/depend…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-14T06:57:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d699cbc11cae0972cd24a3d3ce4ade377ab4ac9",
          "body": "Bumps the dependencies group with 1 update: [ruby/setup-ruby](https://github.com/ruby/setup-ruby).\n\n\nUpdates `ruby/setup-ruby` from 1.306.0 to 1.307.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)\n- [Commits](h\n[…]\n\n  dependency-version: 1.307.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump ruby/setup-ruby in the dependencies group",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-05-13T10:32:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8c0a5532a4f2d84d706998cc00df744216c65f18",
          "body": "release: v6.0.0",
          "is_bot": false,
          "headline": "Merge pull request #2052 from github/release/6.0.0",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-05T00:34:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "069a41b06fc6a338a86daee14a4277a370f1c7c1",
          "body": "- Add missing security fixes: RubyGems HTTPS (#1854), CI permissions (#1855), rexml bumps\n- Add missing community PRs: spelling fixes (#1479), Textile link (#1703)\n- Clarify linguist version bump history\n- Add Dependabot CI action bumps catch-all entry\n- Pin actions/stale to commit SHA for supply chain hardening\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "fix: complete changelog and pin actions/stale to SHA",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-05T00:31:35Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4b0c3a9193bd4157c870499ca6102a2cf1edf6b0",
          "body": "Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "docs: update changelog date to 2026-05-04",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-05T00:25:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4007cd165210e5c889f48c91326ed68505403725",
          "body": "- Correct github-linguist version: 9.1.0 -> 9.3.0\n- Note Ruby 3.2 removal from CI matrix alongside 4.0 addition\n- Add PR link for pip install hardening (#2048)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Fix changelog accuracy from multi-model review",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-05T00:25:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "31e8db3ef5882fa394a637112a09b40c2cec708c",
          "body": "The gemspec version was bumped to 6.0.0 but Gemfile.lock still\nreferenced 5.0.1, causing bundler deployment mode to fail in CI.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "Update Gemfile.lock for version 6.0.0",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-05T00:25:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ec1bab71c58b412a161cef0a24591c6de86ac88b",
          "body": "Breaking change: Drop support for Ruby < 3.3\n- Ruby 3.1 reached EOL March 2025\n- Ruby 3.2 reaches EOL March 2026\n- Minimum required Ruby version is now 3.3.0\n\nSee HISTORY.md for full changelog.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "release: bump version to 6.0.0",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-05T00:25:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "626fd4a94e416a2986be21ff6df41f1ac7fa6c93",
          "body": "…encies-4a0b9de8bd\n\nchore(deps): bump ruby/setup-ruby from 1.305.0 to 1.306.0 in the dependencies group",
          "is_bot": false,
          "headline": "Merge pull request #2055 from github/dependabot/github_actions/depend…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-05-04T23:50:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51f281b6ca414fbef90e9f79e504c4d5d3169c21",
          "body": "Bumps the dependencies group with 1 update: [ruby/setup-ruby](https://github.com/ruby/setup-ruby).\n\n\nUpdates `ruby/setup-ruby` from 1.305.0 to 1.306.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)\n- [Commits](h\n[…]\n\n  dependency-version: 1.306.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump ruby/setup-ruby in the dependencies group",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-29T10:24:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "310db6d264e307c14c5538b1a7212480d405beaf",
          "body": "chore: bump minimum Ruby to 3.3 and add Ruby 4.0 to CI matrix",
          "is_bot": false,
          "headline": "Merge pull request #2051 from github/chore/bump-ruby-requirement",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-04-23T00:42:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2a45d389fa41af8cadf29c0f8c87a0bfa077d072",
          "body": "Ruby 3.1 went EOL March 2025, Ruby 3.2 went EOL March 2026.\nUpdate required_ruby_version to >= 3.3.0 and adjust the CI test\nmatrix to cover all currently supported Ruby versions: 3.3, 3.4, 4.0.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "chore: bump minimum Ruby to 3.3 and add Ruby 4.0 to CI matrix",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-04-23T00:17:30Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ce5f9e327ec260a6ef7defe73a967d3326a249a8",
          "body": "fix: use HTTPS for cpanminus download in CI",
          "is_bot": false,
          "headline": "Merge pull request #2050 from github/fix/ci-https-cpanminus",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-04-23T00:10:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e61b7f803acc6ed0c524bf1b8c000d5092bb6544",
          "body": "…ardening\n\nfix: resolve supply chain security code scanning alerts",
          "is_bot": false,
          "headline": "Merge pull request #2048 from github/fix/code-scanning-supply-chain-h…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-04-23T00:09:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "105bfa750da6bd690423415bbced34089fd0ac1c",
          "body": "Switch curl from http:// to https:// when downloading cpanminus to\nprevent MITM attacks. Also add -fsSL flags for fail-fast on HTTP\nerrors and silent progress.\n\nFixes #2049\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "fix: use HTTPS for cpanminus download in CI",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-04-22T23:57:40Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "15d84a13370820fb0396babac3c3bb16fad04246",
          "body": "- Remove legacy Dockerfile (Ubuntu Trusty 14.04, Python 2, Ruby 2.4.1,\n  references bintray.com which shut down 2021). It was never used by CI\n  and generated recurring scanner alerts and dependabot noise.\n- Remove docker ecosystem from dependabot config since Dockerfile no\n  longer exists.\n- Add --\n[…]\nation explicitly (alert #12).\n\nResolves code scanning alerts #12, #14, #15, #16.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "fix: resolve supply chain security code scanning alerts",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-04-22T23:49:47Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "84dae8add7388252219333ade09cb69efdac510d",
          "body": "…encies-7f28d4b292\n\nchore(deps): bump the dependencies group across 1 directory with 2 updates",
          "is_bot": false,
          "headline": "Merge pull request #2046 from github/dependabot/github_actions/depend…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-04-22T04:09:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "87c9755132a8e0544117886997bee37c064f703c",
          "body": "…dates\n\nBumps the dependencies group with 2 updates in the / directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [actions/cache](https://github.com/actions/cache).\n\n\nUpdates `ruby/setup-ruby` from 1.299.0 to 1.302.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [C\n[…]\nhe\n  dependency-version: 5.0.5\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the dependencies group across 1 directory with 2 up…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-22T04:05:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8e1bf5f7b15cb55aeedaae10e4dcc0000e3ad985",
          "body": "…in-hardening\n\nfix: remediate supply chain security findings",
          "is_bot": false,
          "headline": "Merge pull request #2047 from github/fix/security-findings-supply-cha…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-04-22T04:04:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1a036340ce5518d5e78472afa5e1dd1ac473f95",
          "body": "- Drop pip hash verification in Dockerfile (Trusty's pip ~1.5 predates\n  --hash support added in pip 8.0); version pin alone addresses the\n  code scanning finding\n- Pin bundler to 2.3.26 instead of 2.4.10 (Bundler 2.4.x requires\n  Ruby >= 2.6.0, but the Dockerfile installs Ruby 2.4.1); update\n  Gemf\n[…]\nPython 3 dependency\n  (rest2html script) instead of the MARKUP_RST Ruby constant\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "fix: address review feedback on Dockerfile compatibility",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-04-22T03:38:00Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "aeab80d03ea4cf0ce8bdeb1e6c2b620440624486",
          "body": "docutils 0.22.4 requires Python >= 3.9 but the Dockerfile uses Python 2.\nPin to 0.18.1 (last py2-compatible release) with its py2.py3 wheel hash.\nCI workflow keeps 0.22.4 since it uses Python 3.x.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "fix: pin docutils to 0.18.1 in Dockerfile for Python 2 compat",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-04-22T02:31:18Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ea45c19e9e964a16d54b4dabe58d95fa64be8ee3",
          "body": "Address 4 high-severity code scanning findings from vuln-mgmt#195573:\n\n1. Pin Docker base image to SHA256 digest (code-scanning/14)\n2. Pin bundler gem to exact version 2.4.10 (code-scanning/16)\n3. Add hash verification for pip install in Dockerfile (code-scanning/15)\n4. Add hash verification for pip\n[…]\n pip hash verification since\n--hash is a per-requirement option, not a CLI flag.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>\nSigned-off-by: Zack Koppert <zkoppert@github.com>",
          "is_bot": false,
          "headline": "fix: remediate supply chain security findings",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-04-22T02:23:28Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ee2b5c56206d336e4fa74da2241adb48b22c1aa5",
          "body": "…encies-8dc89f899d",
          "is_bot": false,
          "headline": "Merge pull request #2040 from github/dependabot/github_actions/depend…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-04-06T15:35:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "00d1378ebacdb2879f95f0ca2edeae35e0450f29",
          "body": "Bumps the dependencies group with 2 updates: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [actions/cache](https://github.com/actions/cache).\n\n\nUpdates `ruby/setup-ruby` from 1.293.0 to 1.299.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](https://github.co\n[…]\nhe\n  dependency-version: 5.0.4\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the dependencies group with 2 updates",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-04-06T10:39:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "21bc752835a63f9b5f8ed5f76e5c58910826878c",
          "body": "…esupport\n\nfix(deps): bump nokogiri to 1.19.2 and activesupport to 7.2.3.1",
          "is_bot": false,
          "headline": "Merge pull request #2039 from github/fix/security-deps-nokogiri-activ…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-31T20:04:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a647442a5af3d3f0a7add40b2ce79652f193b177",
          "body": "Address review feedback: replace open-ended >= 1.19.2 with pessimistic\nconstraints to prevent a hypothetical nokogiri 2.0 from being pulled in.\n\n- gemspec: ~> 1.19.2 (allows 1.19.x patches, caps at < 1.20)\n- Gemfile: ~> 1.19 (allows 1.19.x and 1.20.x, caps at < 2.0)\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: use pessimistic nokogiri version constraints",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-31T20:03:39Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d9fb0035a3215e30db077e4e3b981fa3ce36635a",
          "body": "…encies-79039e3a39\n\nchore(deps): bump ruby/setup-ruby from 1.290.0 to 1.293.0 in the dependencies group",
          "is_bot": false,
          "headline": "Merge pull request #2032 from github/dependabot/github_actions/depend…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-31T19:59:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b60c91a20e7935399edd64ef41444aee628adb69",
          "body": "…s/setup-python-6.2.0\n\nchore(deps): bump actions/setup-python from 5.5.0 to 6.2.0",
          "is_bot": false,
          "headline": "Merge pull request #2033 from github/dependabot/github_actions/action…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-31T19:59:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6a5bd67b2753082527e52d9b68cf988991304c5",
          "body": "…s/stale-10.2.0\n\nchore(deps): bump actions/stale from 9.1.0 to 10.2.0",
          "is_bot": false,
          "headline": "Merge pull request #2034 from github/dependabot/github_actions/action…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-31T19:58:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90ed84395269a30caabcaba429292630ad7b2a2b",
          "body": "…s/cache-5.0.3\n\nchore(deps): bump actions/cache from 4.2.3 to 5.0.3",
          "is_bot": false,
          "headline": "Merge pull request #2036 from github/dependabot/github_actions/action…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-31T19:52:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3686f8b3908904917eeb4fbddf9d7449312fd36",
          "body": "…s/checkout-6.0.2\n\nchore(deps): bump actions/checkout from 4.2.2 to 6.0.2",
          "is_bot": false,
          "headline": "Merge pull request #2035 from github/dependabot/github_actions/action…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-31T19:48:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ff1a26dcfad5785ef54f5080444c592151806fe",
          "body": "Update security-impacted dependencies:\n\n- nokogiri: >= 1.19.1 → >= 1.19.2 (fixes libxml2 CVEs including\n  CVE-2025-30206, CVE-2025-6021, CVE-2025-6170)\n- activesupport: ~> 7.1.5 → ~> 7.2.3 (resolves Dependabot alert #57)\n\nUpdates both the gemspec constraints and Gemfile, along with the\nresolved Gemfile.lock.\n\nCloses: github/vuln-mgmt#192367\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(deps): bump nokogiri to 1.19.2 and activesupport to 7.2.3.1",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-31T19:41:23Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "632c8c7482fd84f031e6805294cd3ac952a0f05b",
          "body": "Bumps [actions/cache](https://github.com/actions/cache) from 4.2.3 to 5.0.3.\n- [Release notes](https://github.com/actions/cache/releases)\n- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)\n- [Commits](https://github.com/actions/cache/compare/v4.2.3...v5.0.3)\n\n---\nupdated-dependenc\n[…]\ns:\n- dependency-name: actions/cache\n  dependency-version: 5.0.3\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump actions/cache from 4.2.3 to 5.0.3",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-16T10:50:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e3fa0f2fad7bbb28191cbb9d29f17d4e43f98723",
          "body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 6.0.2.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v4.2.2...v6.0.2)\n\n---\nu\n[…]\n- dependency-name: actions/checkout\n  dependency-version: 6.0.2\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump actions/checkout from 4.2.2 to 6.0.2",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-16T10:50:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "15835ab0c45652af1602d2b26163adedd2547d5f",
          "body": "Bumps [actions/stale](https://github.com/actions/stale) from 9.1.0 to 10.2.0.\n- [Release notes](https://github.com/actions/stale/releases)\n- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/stale/compare/v9.1.0...v10.2.0)\n\n---\nupdated-depend\n[…]\n:\n- dependency-name: actions/stale\n  dependency-version: 10.2.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump actions/stale from 9.1.0 to 10.2.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-16T10:50:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c978d03de93c13b614adae6767c2854522f14ee6",
          "body": "Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.5.0 to 6.2.0.\n- [Release notes](https://github.com/actions/setup-python/releases)\n- [Commits](https://github.com/actions/setup-python/compare/v5.5.0...v6.2.0)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-python\n  dependency-version: 6.2.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump actions/setup-python from 5.5.0 to 6.2.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-16T10:50:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e207ec8af00dabed8ad5ae82da1f6a4b02efbde0",
          "body": "Bumps the dependencies group with 1 update: [ruby/setup-ruby](https://github.com/ruby/setup-ruby).\n\n\nUpdates `ruby/setup-ruby` from 1.290.0 to 1.293.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)\n- [Commits](h\n[…]\n\n  dependency-version: 1.293.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump ruby/setup-ruby in the dependencies group",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-16T10:50:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7d3724c0e69b876e63d8a7e947d417b105173bf1",
          "body": "…encies-8751820eb1\n\nchore(deps): bump ruby/setup-ruby from 1.229.0 to 1.270.0 in the dependencies group across 1 directory",
          "is_bot": false,
          "headline": "Merge pull request #2014 from github/dependabot/github_actions/depend…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-10T22:21:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f515ed0c8867906f38ed5f41cdcece429de47036",
          "body": "Bumps the dependencies group with 1 update in the / directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby).\n\n\nUpdates `ruby/setup-ruby` from 1.229.0 to 1.270.0\n- [Release notes](https://github.com/ruby/setup-ruby/releases)\n- [Changelog](https://github.com/ruby/setup-ruby/blob/master/releas\n[…]\n\n  dependency-version: 1.270.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump ruby/setup-ruby",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-03-10T21:55:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4039102c55465ddaec2d928299f975288f8db6ac",
          "body": "…29adaf7f8d\n\nchore(deps): bump the dependencies group across 1 directory with 5 updates",
          "is_bot": false,
          "headline": "Merge pull request #2017 from github/dependabot/bundler/dependencies-…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-10T21:54:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "616fbbe31e071c4c3d3e8b0323dee71346598bea",
          "body": "Keep nokogiri >= 1.19.1 from master (newer than PR's ~> 1.18.10).\nPreserve PR's other dependency bumps (asciidoctor, rake, rexml,\ngithub-linguist, cgi).\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix: resolve merge conflicts with master",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-10T21:42:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e9d09407de0d826e7ec41fffb9c5e82d0363df95",
          "body": "…8532\n\nfix(deps): bump nokogiri to >= 1.19.1 to fix GHSA-wx95-c6cv-8532",
          "is_bot": false,
          "headline": "Merge pull request #2031 from github/fix/nokogiri-CVE-GHSA-wx95-c6cv-…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-10T20:49:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aef5252920c32f135327a99bb18d71df1e1e2a53",
          "body": "Nokogiri 1.19.x requires Ruby >= 3.2, and Ruby 3.1 reached end of life\non 2025-03-31. Remove it from the CI matrix.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "ci: drop Ruby 3.1 from test matrix (EOL since March 2025)",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-10T19:17:28Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "244f19b7fb45626b37156ecb7d42e2122ab4d168",
          "body": "Nokogiri < 1.19.1 does not check the return value from xmlC14NExecute,\nwhich is a medium-severity vulnerability. Updates the version constraint\nfrom ~> 1.18.9 (capped below 1.19.0) to >= 1.19.1 to resolve\nDependabot alert #53.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(deps): bump nokogiri to >= 1.19.1 to fix GHSA-wx95-c6cv-8532",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2026-03-10T18:41:22Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "789f2ed865255097091c74f3abdd37cf94e62738",
          "body": "…dates\n\nUpdates the requirements on [asciidoctor](https://github.com/asciidoctor/asciidoctor), [rake](https://github.com/ruby/rake), [rexml](https://github.com/ruby/rexml), [nokogiri](https://github.com/sparklemotion/nokogiri) and [github-linguist](https://github.com/github-linguist/linguist) to per\n[…]\nt\n  dependency-version: 9.3.0\n  dependency-type: direct:development\n  update-type: version-update:semver-minor\n  dependency-group: dependencies\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump the dependencies group across 1 directory with 5 up…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-12-22T10:03:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2b0e7f216904253092c90754cd95aac6d499583d",
          "body": "…41ed1r\n\nchore(deps): bump rexml from 3.4.1 to 3.4.2 in the bundler group across 1 directory",
          "is_bot": false,
          "headline": "Merge pull request #1993 from github/dependabot/bundler/bundler-6d4d9…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2025-09-19T15:14:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d4c8f6a104a5051ee7ea82b7ae0b814c2e6149c5",
          "body": "Bumps the bundler group with 1 update in the / directory: [rexml](https://github.com/ruby/rexml).\n\n\nUpdates `rexml` from 3.4.1 to 3.4.2\n- [Release notes](https://github.com/ruby/rexml/releases)\n- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)\n- [Commits](https://github.com/ruby/rexml\n[…]\n---\nupdated-dependencies:\n- dependency-name: rexml\n  dependency-version: 3.4.2\n  dependency-type: direct:production\n  dependency-group: bundler\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump rexml in the bundler group across 1 directory",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-09-17T19:21:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ebfff7059dcd84c8ec32df138392decfc6544fda",
          "body": "…a4a0a\n\nchore(deps): bump nokogiri from 1.18.8 to 1.18.9 in the bundler group",
          "is_bot": false,
          "headline": "Merge pull request #1981 from github/dependabot/bundler/bundler-d9ba1…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2025-07-22T15:34:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86453b44896e453d0a758f000a555fbc4ba8f75a",
          "body": "Bumps the bundler group with 1 update: [nokogiri](https://github.com/sparklemotion/nokogiri).\n\n\nUpdates `nokogiri` from 1.18.8 to 1.18.9\n- [Release notes](https://github.com/sparklemotion/nokogiri/releases)\n- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)\n- [Commits](h\n[…]\nupdated-dependencies:\n- dependency-name: nokogiri\n  dependency-version: 1.18.9\n  dependency-type: direct:production\n  dependency-group: bundler\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump nokogiri from 1.18.8 to 1.18.9 in the bundler group",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-07-22T04:43:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "900ed4f74fb35131e4a0df9c675196f9a8c42678",
          "body": "…bbe88\n\nchore(deps): bump nokogiri from 1.18.7 to 1.18.8 in the bundler group",
          "is_bot": false,
          "headline": "Merge pull request #1955 from github/dependabot/bundler/bundler-8bcba…",
          "author_name": "Zack Koppert",
          "author_login": "zkoppert",
          "committed_at": "2025-06-18T14:09:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a732c1a614333efe7b6a367238ec1c278fcb3a30",
          "body": "Bumps the bundler group with 1 update: [nokogiri](https://github.com/sparklemotion/nokogiri).\n\n\nUpdates `nokogiri` from 1.18.7 to 1.18.8\n- [Release notes](https://github.com/sparklemotion/nokogiri/releases)\n- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)\n- [Commits](h\n[…]\nupdated-dependencies:\n- dependency-name: nokogiri\n  dependency-version: 1.18.8\n  dependency-type: direct:production\n  dependency-group: bundler\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump nokogiri from 1.18.7 to 1.18.8 in the bundler group",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-04-22T04:55:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7981c280b089819afd51361b55a8062fa62b20d4",
          "body": "Bump nokogiri to 1.18, require at least Ruby 3.1",
          "is_bot": false,
          "headline": "Merge pull request #1947 from github/maxbeizer/noko-1.18",
          "author_name": "Max Beizer",
          "author_login": "maxbeizer",
          "committed_at": "2025-04-01T18:10:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "92a2ed2692f9b162e7008820f32d226bb99f88e8",
          "body": null,
          "is_bot": false,
          "headline": "Bump nokogiri to 1.18, require at least Ruby 3.1",
          "author_name": "Max Beizer",
          "author_login": "maxbeizer",
          "committed_at": "2025-04-01T14:34:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "458f0e979c2bdfa96ed5a53f800301674e650c77",
          "body": "…st-9.1.0\n\nchore(deps): bump github-linguist from 7.30.0 to 9.1.0",
          "is_bot": false,
          "headline": "Merge pull request #1944 from github/dependabot/bundler/github-lingui…",
          "author_name": "Max Beizer",
          "author_login": "maxbeizer",
          "committed_at": "2025-03-31T19:57:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ead5ff8f21d0db8d672a7283a6afec24cbfee3ea",
          "body": "Bumps [github-linguist](https://github.com/github-linguist/linguist) from 7.30.0 to 9.1.0.\n- [Release notes](https://github.com/github-linguist/linguist/releases)\n- [Commits](https://github.com/github-linguist/linguist/compare/v7.30.0...v9.1.0)\n\n---\nupdated-dependencies:\n- dependency-name: github-linguist\n  dependency-type: direct:development\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "chore(deps): bump github-linguist from 7.30.0 to 9.1.0",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-03-31T15:05:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b59b4c94deeecb6732311518fa0f69eaec38cca",
          "body": "…b4907dc5b1\n\nchore(deps): bump rdoc from 6.13.0 to 6.13.1 in the dependencies group",
          "is_bot": false,
          "headline": "Merge pull request #1943 from github/dependabot/bundler/dependencies-…",
          "author_name": "Max Beizer",
          "author_login": "maxbeizer",
          "committed_at": "2025-03-31T15:04:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 22,
      "commits_last_year": 91,
      "latest_release_at": "2026-05-05T00:37:48Z",
      "latest_release_tag": "v6.0.0",
      "releases_from_tags": false,
      "days_since_last_push": 6,
      "active_weeks_last_year": 17,
      "days_since_latest_release": 78,
      "mean_days_between_releases": 306.6
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "github-markup",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "rubygems",
          "matches_repo": true,
          "registry_url": "https://rubygems.org/gems/github-markup",
          "is_deprecated": false,
          "latest_version": "6.0.0",
          "repository_url": "https://github.com/github/markup",
          "versions_count": 66,
          "total_downloads": 30915099,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2009-11-03T04:47:03.971000Z",
          "latest_published_at": "2026-05-05T00:41:09.321000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 77
        }
      ]
    },
    "popularity": {
      "forks": 3368,
      "stars": 6037,
      "watchers": 614,
      "fork_history": {
        "days": [
          {
            "date": "2017-03-02",
            "count": 3
          },
          {
            "date": "2017-03-03",
            "count": 1
          },
          {
            "date": "2017-03-04",
            "count": 1
          },
          {
            "date": "2017-03-06",
            "count": 2
          },
          {
            "date": "2017-03-07",
            "count": 2
          },
          {
            "date": "2017-03-12",
            "count": 2
          },
          {
            "date": "2017-03-14",
            "count": 1
          },
          {
            "date": "2017-03-15",
            "count": 1
          },
          {
            "date": "2017-03-18",
            "count": 1
          },
          {
            "date": "2017-03-19",
            "count": 1
          },
          {
            "date": "2017-03-21",
            "count": 2
          },
          {
            "date": "2017-03-22",
            "count": 3
          },
          {
            "date": "2017-03-23",
            "count": 3
          },
          {
            "date": "2017-03-24",
            "count": 1
          },
          {
            "date": "2017-03-25",
            "count": 1
          },
          {
            "date": "2017-03-27",
            "count": 2
          },
          {
            "date": "2017-03-28",
            "count": 4
          },
          {
            "date": "2017-03-30",
            "count": 1
          },
          {
            "date": "2017-04-02",
            "count": 1
          },
          {
            "date": "2017-04-03",
            "count": 1
          },
          {
            "date": "2017-04-04",
            "count": 1
          },
          {
            "date": "2017-04-05",
            "count": 3
          },
          {
            "date": "2017-04-06",
            "count": 3
          },
          {
            "date": "2017-04-07",
            "count": 2
          },
          {
            "date": "2017-04-09",
            "count": 1
          },
          {
            "date": "2017-04-10",
            "count": 2
          },
          {
            "date": "2017-04-11",
            "count": 2
          },
          {
            "date": "2017-04-13",
            "count": 1
          },
          {
            "date": "2017-04-14",
            "count": 1
          },
          {
            "date": "2017-04-15",
            "count": 2
          },
          {
            "date": "2017-04-16",
            "count": 1
          },
          {
            "date": "2017-04-17",
            "count": 1
          },
          {
            "date": "2017-04-18",
            "count": 2
          },
          {
            "date": "2017-04-20",
            "count": 1
          },
          {
            "date": "2017-04-21",
            "count": 1
          },
          {
            "date": "2017-04-23",
            "count": 2
          },
          {
            "date": "2017-04-25",
            "count": 2
          },
          {
            "date": "2017-04-26",
            "count": 1
          },
          {
            "date": "2017-04-27",
            "count": 2
          },
          {
            "date": "2017-04-28",
            "count": 1
          },
          {
            "date": "2017-05-01",
            "count": 2
          },
          {
            "date": "2017-05-02",
            "count": 1
          },
          {
            "date": "2017-05-03",
            "count": 1
          },
          {
            "date": "2017-05-04",
            "count": 1
          },
          {
            "date": "2017-05-05",
            "count": 1
          },
          {
            "date": "2017-05-06",
            "count": 1
          },
          {
            "date": "2017-05-09",
            "count": 2
          },
          {
            "date": "2017-05-10",
            "count": 1
          },
          {
            "date": "2017-05-11",
            "count": 3
          },
          {
            "date": "2017-05-12",
            "count": 2
          },
          {
            "date": "2017-05-14",
            "count": 1
          },
          {
            "date": "2017-05-15",
            "count": 1
          },
          {
            "date": "2017-05-17",
            "count": 1
          },
          {
            "date": "2017-05-18",
            "count": 1
          },
          {
            "date": "2017-05-19",
            "count": 1
          },
          {
            "date": "2017-05-22",
            "count": 1
          },
          {
            "date": "2017-05-23",
            "count": 2
          },
          {
            "date": "2017-05-24",
            "count": 1
          },
          {
            "date": "2017-05-27",
            "count": 1
          },
          {
            "date": "2017-05-28",
            "count": 1
          },
          {
            "date": "2017-05-29",
            "count": 2
          },
          {
            "date": "2017-05-30",
            "count": 1
          },
          {
            "date": "2017-06-01",
            "count": 5
          },
          {
            "date": "2017-06-02",
            "count": 1
          },
          {
            "date": "2017-06-07",
            "count": 1
          },
          {
            "date": "2017-06-08",
            "count": 2
          },
          {
            "date": "2017-06-11",
            "count": 1
          },
          {
            "date": "2017-06-12",
            "count": 1
          },
          {
            "date": "2017-06-14",
            "count": 4
          },
          {
            "date": "2017-06-17",
            "count": 1
          },
          {
            "date": "2017-06-18",
            "count": 1
          },
          {
            "date": "2017-06-19",
            "count": 2
          },
          {
            "date": "2017-06-23",
            "count": 1
          },
          {
            "date": "2017-06-24",
            "count": 2
          },
          {
            "date": "2017-06-26",
            "count": 1
          },
          {
            "date": "2017-06-28",
            "count": 1
          },
          {
            "date": "2017-06-29",
            "count": 2
          },
          {
            "date": "2017-07-03",
            "count": 1
          },
          {
            "date": "2017-07-04",
            "count": 1
          },
          {
            "date": "2017-07-05",
            "count": 2
          },
          {
            "date": "2017-07-06",
            "count": 1
          },
          {
            "date": "2017-07-11",
            "count": 1
          },
          {
            "date": "2017-07-12",
            "count": 2
          },
          {
            "date": "2017-07-13",
            "count": 2
          },
          {
            "date": "2017-07-14",
            "count": 2
          },
          {
            "date": "2017-07-16",
            "count": 2
          },
          {
            "date": "2017-07-17",
            "count": 1
          },
          {
            "date": "2017-07-18",
            "count": 2
          },
          {
            "date": "2017-07-19",
            "count": 1
          },
          {
            "date": "2017-07-21",
            "count": 4
          },
          {
            "date": "2017-07-22",
            "count": 2
          },
          {
            "date": "2017-07-24",
            "count": 1
          },
          {
            "date": "2017-07-26",
            "count": 1
          },
          {
            "date": "2017-07-27",
            "count": 2
          },
          {
            "date": "2017-07-28",
            "count": 2
          },
          {
            "date": "2017-07-31",
            "count": 3
          },
          {
            "date": "2017-08-02",
            "count": 5
          },
          {
            "date": "2017-08-04",
            "count": 4
          },
          {
            "date": "2017-08-05",
            "count": 1
          },
          {
            "date": "2017-08-06",
            "count": 1
          },
          {
            "date": "2017-08-19",
            "count": 2
          },
          {
            "date": "2017-08-22",
            "count": 1
          },
          {
            "date": "2017-08-24",
            "count": 1
          },
          {
            "date": "2017-08-25",
            "count": 1
          },
          {
            "date": "2017-08-26",
            "count": 1
          },
          {
            "date": "2017-08-27",
            "count": 1
          },
          {
            "date": "2017-08-28",
            "count": 1
          },
          {
            "date": "2017-09-02",
            "count": 1
          },
          {
            "date": "2017-09-04",
            "count": 1
          },
          {
            "date": "2017-09-06",
            "count": 1
          },
          {
            "date": "2017-09-11",
            "count": 2
          },
          {
            "date": "2017-09-12",
            "count": 2
          },
          {
            "date": "2017-09-14",
            "count": 1
          },
          {
            "date": "2017-09-18",
            "count": 3
          },
          {
            "date": "2017-09-19",
            "count": 2
          },
          {
            "date": "2017-09-21",
            "count": 1
          },
          {
            "date": "2017-09-23",
            "count": 1
          },
          {
            "date": "2017-09-27",
            "count": 1
          },
          {
            "date": "2017-09-28",
            "count": 1
          },
          {
            "date": "2017-09-29",
            "count": 1
          },
          {
            "date": "2017-10-01",
            "count": 1
          },
          {
            "date": "2017-10-02",
            "count": 1
          },
          {
            "date": "2017-10-04",
            "count": 2
          },
          {
            "date": "2017-10-06",
            "count": 2
          },
          {
            "date": "2017-10-07",
            "count": 1
          },
          {
            "date": "2017-10-09",
            "count": 1
          },
          {
            "date": "2017-10-12",
            "count": 3
          },
          {
            "date": "2017-10-13",
            "count": 1
          },
          {
            "date": "2017-10-16",
            "count": 1
          },
          {
            "date": "2017-10-19",
            "count": 1
          },
          {
            "date": "2017-10-21",
            "count": 1
          },
          {
            "date": "2017-10-24",
            "count": 2
          },
          {
            "date": "2017-10-25",
            "count": 1
          },
          {
            "date": "2017-10-26",
            "count": 1
          },
          {
            "date": "2017-10-28",
            "count": 1
          },
          {
            "date": "2017-10-30",
            "count": 1
          },
          {
            "date": "2017-10-31",
            "count": 1
          },
          {
            "date": "2017-11-03",
            "count": 1
          },
          {
            "date": "2017-11-05",
            "count": 1
          },
          {
            "date": "2017-11-07",
            "count": 1
          },
          {
            "date": "2017-11-09",
            "count": 2
          },
          {
            "date": "2017-11-10",
            "count": 1
          },
          {
            "date": "2017-11-11",
            "count": 1
          },
          {
            "date": "2017-11-12",
            "count": 1
          },
          {
            "date": "2017-11-13",
            "count": 1
          },
          {
            "date": "2017-11-14",
            "count": 2
          },
          {
            "date": "2017-11-17",
            "count": 1
          },
          {
            "date": "2017-11-19",
            "count": 1
          },
          {
            "date": "2017-11-20",
            "count": 1
          },
          {
            "date": "2017-11-21",
            "count": 2
          },
          {
            "date": "2017-11-22",
            "count": 1
          },
          {
            "date": "2017-11-23",
            "count": 1
          },
          {
            "date": "2017-11-24",
            "count": 2
          },
          {
            "date": "2017-11-27",
            "count": 1
          },
          {
            "date": "2017-11-29",
            "count": 1
          },
          {
            "date": "2017-11-30",
            "count": 1
          },
          {
            "date": "2017-12-03",
            "count": 1
          },
          {
            "date": "2017-12-05",
            "count": 2
          },
          {
            "date": "2017-12-11",
            "count": 1
          },
          {
            "date": "2017-12-13",
            "count": 1
          },
          {
            "date": "2017-12-18",
            "count": 1
          },
          {
            "date": "2017-12-20",
            "count": 1
          },
          {
            "date": "2017-12-21",
            "count": 1
          },
          {
            "date": "2017-12-22",
            "count": 1
          },
          {
            "date": "2017-12-23",
            "count": 1
          },
          {
            "date": "2017-12-24",
            "count": 2
          },
          {
            "date": "2017-12-28",
            "count": 1
          },
          {
            "date": "2018-01-03",
            "count": 1
          },
          {
            "date": "2018-01-05",
            "count": 1
          },
          {
            "date": "2018-01-11",
            "count": 1
          },
          {
            "date": "2018-01-14",
            "count": 1
          },
          {
            "date": "2018-01-16",
            "count": 1
          },
          {
            "date": "2018-01-17",
            "count": 1
          },
          {
            "date": "2018-01-18",
            "count": 3
          },
          {
            "date": "2018-01-21",
            "count": 2
          },
          {
            "date": "2018-01-25",
            "count": 3
          },
          {
            "date": "2018-01-26",
            "count": 1
          },
          {
            "date": "2018-02-04",
            "count": 1
          },
          {
            "date": "2018-02-08",
            "count": 1
          },
          {
            "date": "2018-02-12",
            "count": 1
          },
          {
            "date": "2018-02-13",
            "count": 1
          },
          {
            "date": "2018-02-14",
            "count": 1
          },
          {
            "date": "2018-02-21",
            "count": 1
          },
          {
            "date": "2018-02-27",
            "count": 1
          },
          {
            "date": "2018-03-04",
            "count": 1
          },
          {
            "date": "2018-03-08",
            "count": 1
          },
          {
            "date": "2018-03-12",
            "count": 3
          },
          {
            "date": "2018-03-13",
            "count": 2
          },
          {
            "date": "2018-03-16",
            "count": 1
          },
          {
            "date": "2018-03-26",
            "count": 1
          },
          {
            "date": "2018-03-29",
            "count": 1
          },
          {
            "date": "2018-03-31",
            "count": 2
          },
          {
            "date": "2018-04-01",
            "count": 1
          },
          {
            "date": "2018-04-02",
            "count": 1
          },
          {
            "date": "2018-04-08",
            "count": 1
          },
          {
            "date": "2018-04-12",
            "count": 1
          },
          {
            "date": "2018-04-18",
            "count": 1
          },
          {
            "date": "2018-04-20",
            "count": 1
          },
          {
            "date": "2018-04-21",
            "count": 2
          },
          {
            "date": "2018-04-25",
            "count": 1
          },
          {
            "date": "2018-04-26",
            "count": 2
          },
          {
            "date": "2018-04-27",
            "count": 1
          },
          {
            "date": "2018-04-30",
            "count": 1
          },
          {
            "date": "2018-05-03",
            "count": 1
          },
          {
            "date": "2018-05-07",
            "count": 1
          },
          {
            "date": "2018-05-09",
            "count": 1
          },
          {
            "date": "2018-05-11",
            "count": 1
          },
          {
            "date": "2018-05-13",
            "count": 1
          },
          {
            "date": "2018-05-18",
            "count": 1
          },
          {
            "date": "2018-05-22",
            "count": 1
          },
          {
            "date": "2018-05-24",
            "count": 1
          },
          {
            "date": "2018-06-01",
            "count": 1
          },
          {
            "date": "2018-06-10",
            "count": 1
          },
          {
            "date": "2018-06-11",
            "count": 1
          },
          {
            "date": "2018-06-14",
            "count": 1
          },
          {
            "date": "2018-06-19",
            "count": 1
          },
          {
            "date": "2018-06-20",
            "count": 2
          },
          {
            "date": "2018-06-21",
            "count": 1
          },
          {
            "date": "2018-06-22",
            "count": 1
          },
          {
            "date": "2018-06-26",
            "count": 1
          },
          {
            "date": "2018-06-27",
            "count": 1
          },
          {
            "date": "2018-06-29",
            "count": 1
          },
          {
            "date": "2018-07-01",
            "count": 1
          },
          {
            "date": "2018-07-05",
            "count": 1
          },
          {
            "date": "2018-07-07",
            "count": 1
          },
          {
            "date": "2018-07-08",
            "count": 2
          },
          {
            "date": "2018-07-15",
            "count": 1
          },
          {
            "date": "2018-07-17",
            "count": 1
          },
          {
            "date": "2018-07-20",
            "count": 1
          },
          {
            "date": "2018-07-21",
            "count": 1
          },
          {
            "date": "2018-07-23",
            "count": 1
          },
          {
            "date": "2018-07-24",
            "count": 1
          },
          {
            "date": "2018-07-25",
            "count": 1
          },
          {
            "date": "2018-07-28",
            "count": 1
          },
          {
            "date": "2018-07-31",
            "count": 1
          },
          {
            "date": "2018-08-01",
            "count": 1
          },
          {
            "date": "2018-08-03",
            "count": 1
          },
          {
            "date": "2018-08-08",
            "count": 1
          },
          {
            "date": "2018-08-10",
            "count": 1
          },
          {
            "date": "2018-08-14",
            "count": 1
          },
          {
            "date": "2018-08-15",
            "count": 1
          },
          {
            "date": "2018-08-24",
            "count": 1
          },
          {
            "date": "2018-08-30",
            "count": 1
          },
          {
            "date": "2018-09-03",
            "count": 2
          },
          {
            "date": "2018-09-04",
            "count": 1
          },
          {
            "date": "2018-09-07",
            "count": 1
          },
          {
            "date": "2018-09-14",
            "count": 1
          },
          {
            "date": "2018-09-24",
            "count": 1
          },
          {
            "date": "2018-09-25",
            "count": 1
          },
          {
            "date": "2018-09-28",
            "count": 1
          },
          {
            "date": "2018-09-30",
            "count": 1
          },
          {
            "date": "2018-10-02",
            "count": 2
          },
          {
            "date": "2018-10-03",
            "count": 1
          },
          {
            "date": "2018-10-04",
            "count": 1
          },
          {
            "date": "2018-10-07",
            "count": 1
          },
          {
            "date": "2018-10-09",
            "count": 1
          },
          {
            "date": "2018-10-10",
            "count": 1
          },
          {
            "date": "2018-10-11",
            "count": 2
          },
          {
            "date": "2018-10-16",
            "count": 1
          },
          {
            "date": "2018-10-20",
            "count": 1
          },
          {
            "date": "2018-10-26",
            "count": 1
          },
          {
            "date": "2018-10-29",
            "count": 1
          },
          {
            "date": "2018-11-06",
            "count": 3
          },
          {
            "date": "2018-11-07",
            "count": 1
          },
          {
            "date": "2018-11-09",
            "count": 1
          },
          {
            "date": "2018-11-11",
            "count": 1
          },
          {
            "date": "2018-11-12",
            "count": 1
          },
          {
            "date": "2018-11-16",
            "count": 2
          },
          {
            "date": "2018-11-18",
            "count": 1
          },
          {
            "date": "2018-11-23",
            "count": 1
          },
          {
            "date": "2018-11-27",
            "count": 1
          },
          {
            "date": "2018-11-30",
            "count": 1
          },
          {
            "date": "2018-12-02",
            "count": 1
          },
          {
            "date": "2018-12-03",
            "count": 1
          },
          {
            "date": "2018-12-14",
            "count": 1
          },
          {
            "date": "2018-12-17",
            "count": 1
          },
          {
            "date": "2018-12-21",
            "count": 1
          },
          {
            "date": "2018-12-23",
            "count": 1
          },
          {
            "date": "2018-12-29",
            "count": 1
          },
          {
            "date": "2019-01-12",
            "count": 1
          },
          {
            "date": "2019-01-14",
            "count": 1
          },
          {
            "date": "2019-01-18",
            "count": 1
          },
          {
            "date": "2019-01-21",
            "count": 1
          },
          {
            "date": "2019-01-22",
            "count": 1
          },
          {
            "date": "2019-01-25",
            "count": 2
          },
          {
            "date": "2019-01-29",
            "count": 1
          },
          {
            "date": "2019-01-30",
            "count": 1
          },
          {
            "date": "2019-02-07",
            "count": 2
          },
          {
            "date": "2019-02-09",
            "count": 1
          },
          {
            "date": "2019-02-12",
            "count": 1
          },
          {
            "date": "2019-02-14",
            "count": 1
          },
          {
            "date": "2019-02-15",
            "count": 1
          },
          {
            "date": "2019-02-17",
            "count": 1
          },
          {
            "date": "2019-02-22",
            "count": 2
          },
          {
            "date": "2019-02-25",
            "count": 1
          },
          {
            "date": "2019-03-02",
            "count": 1
          },
          {
            "date": "2019-03-06",
            "count": 1
          },
          {
            "date": "2019-03-08",
            "count": 2
          },
          {
            "date": "2019-03-09",
            "count": 1
          },
          {
            "date": "2019-03-12",
            "count": 1
          },
          {
            "date": "2019-03-16",
            "count": 1
          },
          {
            "date": "2019-03-19",
            "count": 1
          },
          {
            "date": "2019-03-20",
            "count": 1
          },
          {
            "date": "2019-03-24",
            "count": 1
          },
          {
            "date": "2019-03-27",
            "count": 1
          },
          {
            "date": "2019-03-28",
            "count": 1
          },
          {
            "date": "2019-04-01",
            "count": 2
          },
          {
            "date": "2019-04-06",
            "count": 2
          },
          {
            "date": "2019-04-09",
            "count": 1
          },
          {
            "date": "2019-04-12",
            "count": 1
          },
          {
            "date": "2019-04-16",
            "count": 1
          },
          {
            "date": "2019-04-20",
            "count": 1
          },
          {
            "date": "2019-04-27",
            "count": 2
          },
          {
            "date": "2019-05-05",
            "count": 2
          },
          {
            "date": "2019-05-06",
            "count": 1
          },
          {
            "date": "2019-05-07",
            "count": 2
          },
          {
            "date": "2019-05-08",
            "count": 1
          },
          {
            "date": "2019-05-12",
            "count": 1
          },
          {
            "date": "2019-05-14",
            "count": 2
          },
          {
            "date": "2019-05-21",
            "count": 2
          },
          {
            "date": "2019-05-22",
            "count": 1
          },
          {
            "date": "2019-05-23",
            "count": 1
          },
          {
            "date": "2019-05-28",
            "count": 1
          },
          {
            "date": "2019-05-29",
            "count": 2
          },
          {
            "date": "2019-06-01",
            "count": 1
          },
          {
            "date": "2019-06-02",
            "count": 1
          },
          {
            "date": "2019-06-09",
            "count": 1
          },
          {
            "date": "2019-06-11",
            "count": 1
          },
          {
            "date": "2019-06-12",
            "count": 1
          },
          {
            "date": "2019-06-23",
            "count": 1
          },
          {
            "date": "2019-06-24",
            "count": 1
          },
          {
            "date": "2019-06-25",
            "count": 1
          },
          {
            "date": "2019-06-27",
            "count": 1
          },
          {
            "date": "2019-06-28",
            "count": 1
          },
          {
            "date": "2019-07-02",
            "count": 2
          },
          {
            "date": "2019-07-04",
            "count": 1
          },
          {
            "date": "2019-07-06",
            "count": 1
          },
          {
            "date": "2019-07-15",
            "count": 1
          },
          {
            "date": "2019-07-22",
            "count": 1
          },
          {
            "date": "2019-07-28",
            "count": 1
          },
          {
            "date": "2019-07-30",
            "count": 1
          },
          {
            "date": "2019-08-08",
            "count": 1
          },
          {
            "date": "2019-08-09",
            "count": 1
          },
          {
            "date": "2019-08-10",
            "count": 1
          },
          {
            "date": "2019-08-14",
            "count": 1
          },
          {
            "date": "2019-08-20",
            "count": 1
          },
          {
            "date": "2019-08-21",
            "count": 1
          },
          {
            "date": "2019-08-24",
            "count": 1
          },
          {
            "date": "2019-08-26",
            "count": 1
          },
          {
            "date": "2019-08-27",
            "count": 1
          },
          {
            "date": "2019-09-01",
            "count": 1
          },
          {
            "date": "2019-09-03",
            "count": 1
          },
          {
            "date": "2019-09-04",
            "count": 1
          },
          {
            "date": "2019-09-10",
            "count": 1
          },
          {
            "date": "2019-09-12",
            "count": 1
          },
          {
            "date": "2019-09-13",
            "count": 1
          },
          {
            "date": "2019-09-17",
            "count": 1
          },
          {
            "date": "2019-09-18",
            "count": 1
          },
          {
            "date": "2019-09-19",
            "count": 1
          },
          {
            "date": "2019-09-29",
            "count": 1
          },
          {
            "date": "2019-09-30",
            "count": 1
          },
          {
            "date": "2019-10-01",
            "count": 1
          },
          {
            "date": "2019-10-05",
            "count": 1
          },
          {
            "date": "2019-10-06",
            "count": 1
          },
          {
            "date": "2019-10-08",
            "count": 3
          },
          {
            "date": "2019-10-10",
            "count": 2
          },
          {
            "date": "2019-10-11",
            "count": 1
          },
          {
            "date": "2019-10-13",
            "count": 2
          },
          {
            "date": "2019-10-18",
            "count": 1
          },
          {
            "date": "2019-10-22",
            "count": 1
          },
          {
            "date": "2019-10-24",
            "count": 1
          },
          {
            "date": "2019-10-30",
            "count": 1
          },
          {
            "date": "2019-11-01",
            "count": 2
          },
          {
            "date": "2019-11-06",
            "count": 1
          },
          {
            "date": "2019-11-09",
            "count": 1
          },
          {
            "date": "2019-11-12",
            "count": 2
          },
          {
            "date": "2019-11-14",
            "count": 1
          },
          {
            "date": "2019-11-15",
            "count": 1
          },
          {
            "date": "2019-11-17",
            "count": 1
          },
          {
            "date": "2019-11-21",
            "count": 1
          },
          {
            "date": "2019-11-23",
            "count": 1
          },
          {
            "date": "2019-11-25",
            "count": 1
          },
          {
            "date": "2019-11-29",
            "count": 1
          },
          {
            "date": "2019-12-03",
            "count": 1
          },
          {
            "date": "2019-12-06",
            "count": 2
          },
          {
            "date": "2019-12-07",
            "count": 1
          },
          {
            "date": "2019-12-09",
            "count": 2
          },
          {
            "date": "2019-12-11",
            "count": 1
          },
          {
            "date": "2019-12-14",
            "count": 1
          },
          {
            "date": "2019-12-16",
            "count": 1
          },
          {
            "date": "2019-12-23",
            "count": 2
          },
          {
            "date": "2019-12-27",
            "count": 1
          },
          {
            "date": "2019-12-30",
            "count": 1
          },
          {
            "date": "2020-01-02",
            "count": 1
          },
          {
            "date": "2020-01-06",
            "count": 1
          },
          {
            "date": "2020-01-09",
            "count": 1
          },
          {
            "date": "2020-01-10",
            "count": 1
          },
          {
            "date": "2020-01-11",
            "count": 2
          },
          {
            "date": "2020-01-12",
            "count": 1
          },
          {
            "date": "2020-01-17",
            "count": 1
          },
          {
            "date": "2020-01-20",
            "count": 1
          },
          {
            "date": "2020-01-21",
            "count": 1
          },
          {
            "date": "2020-01-22",
            "count": 1
          },
          {
            "date": "2020-01-27",
            "count": 2
          },
          {
            "date": "2020-01-28",
            "count": 3
          },
          {
            "date": "2020-01-30",
            "count": 1
          },
          {
            "date": "2020-01-31",
            "count": 1
          },
          {
            "date": "2020-02-01",
            "count": 1
          },
          {
            "date": "2020-02-02",
            "count": 1
          },
          {
            "date": "2020-02-06",
            "count": 1
          },
          {
            "date": "2020-02-10",
            "count": 1
          },
          {
            "date": "2020-02-11",
            "count": 2
          },
          {
            "date": "2020-02-12",
            "count": 1
          },
          {
            "date": "2020-02-13",
            "count": 1
          },
          {
            "date": "2020-02-16",
            "count": 1
          },
          {
            "date": "2020-02-17",
            "count": 1
          },
          {
            "date": "2020-02-20",
            "count": 1
          },
          {
            "date": "2020-02-26",
            "count": 1
          },
          {
            "date": "2020-03-04",
            "count": 1
          },
          {
            "date": "2020-03-07",
            "count": 2
          },
          {
            "date": "2020-03-08",
            "count": 1
          },
          {
            "date": "2020-03-10",
            "count": 1
          },
          {
            "date": "2020-03-12",
            "count": 1
          },
          {
            "date": "2020-03-16",
            "count": 1
          },
          {
            "date": "2020-03-21",
            "count": 1
          },
          {
            "date": "2020-03-25",
            "count": 1
          },
          {
            "date": "2020-03-30",
            "count": 1
          },
          {
            "date": "2020-03-31",
            "count": 1
          },
          {
            "date": "2020-04-04",
            "count": 1
          },
          {
            "date": "2020-04-06",
            "count": 2
          },
          {
            "date": "2020-04-09",
            "count": 2
          },
          {
            "date": "2020-04-10",
            "count": 2
          },
          {
            "date": "2020-04-12",
            "count": 1
          },
          {
            "date": "2020-04-13",
            "count": 1
          },
          {
            "date": "2020-04-14",
            "count": 1
          },
          {
            "date": "2020-04-16",
            "count": 1
          },
          {
            "date": "2020-04-17",
            "count": 1
          },
          {
            "date": "2020-04-18",
            "count": 1
          },
          {
            "date": "2020-04-21",
            "count": 2
          },
          {
            "date": "2020-04-22",
            "count": 1
          },
          {
            "date": "2020-04-24",
            "count": 1
          },
          {
            "date": "2020-04-28",
            "count": 2
          },
          {
            "date": "2020-05-02",
            "count": 2
          },
          {
            "date": "2020-05-03",
            "count": 2
          },
          {
            "date": "2020-05-04",
            "count": 1
          },
          {
            "date": "2020-05-05",
            "count": 2
          },
          {
            "date": "2020-05-06",
            "count": 1
          },
          {
            "date": "2020-05-09",
            "count": 3
          },
          {
            "date": "2020-05-13",
            "count": 1
          },
          {
            "date": "2020-05-15",
            "count": 1
          },
          {
            "date": "2020-05-16",
            "count": 2
          },
          {
            "date": "2020-05-18",
            "count": 1
          },
          {
            "date": "2020-05-20",
            "count": 1
          },
          {
            "date": "2020-05-21",
            "count": 1
          },
          {
            "date": "2020-05-22",
            "count": 1
          },
          {
            "date": "2020-05-26",
            "count": 1
          },
          {
            "date": "2020-05-28",
            "count": 1
          },
          {
            "date": "2020-05-30",
            "count": 2
          },
          {
            "date": "2020-05-31",
            "count": 1
          },
          {
            "date": "2020-06-02",
            "count": 1
          },
          {
            "date": "2020-06-03",
            "count": 3
          },
          {
            "date": "2020-06-04",
            "count": 1
          },
          {
            "date": "2020-06-07",
            "count": 2
          },
          {
            "date": "2020-06-08",
            "count": 1
          },
          {
            "date": "2020-06-09",
            "count": 1
          },
          {
            "date": "2020-06-13",
            "count": 1
          },
          {
            "date": "2020-06-15",
            "count": 1
          },
          {
            "date": "2020-06-20",
            "count": 1
          },
          {
            "date": "2020-06-27",
            "count": 1
          },
          {
            "date": "2020-06-28",
            "count": 1
          },
          {
            "date": "2020-06-29",
            "count": 1
          },
          {
            "date": "2020-07-07",
            "count": 1
          },
          {
            "date": "2020-07-08",
            "count": 1
          },
          {
            "date": "2020-07-12",
            "count": 2
          },
          {
            "date": "2020-07-13",
            "count": 1
          },
          {
            "date": "2020-07-14",
            "count": 1
          },
          {
            "date": "2020-07-15",
            "count": 4
          },
          {
            "date": "2020-07-16",
            "count": 1
          },
          {
            "date": "2020-07-17",
            "count": 2
          },
          {
            "date": "2020-07-20",
            "count": 1
          },
          {
            "date": "2020-07-23",
            "count": 1
          },
          {
            "date": "2020-07-28",
            "count": 1
          },
          {
            "date": "2020-07-31",
            "count": 1
          },
          {
            "date": "2020-08-01",
            "count": 1
          },
          {
            "date": "2020-08-03",
            "count": 1
          },
          {
            "date": "2020-08-10",
            "count": 1
          },
          {
            "date": "2020-08-11",
            "count": 1
          },
          {
            "date": "2020-08-12",
            "count": 1
          },
          {
            "date": "2020-08-14",
            "count": 2
          },
          {
            "date": "2020-08-16",
            "count": 1
          },
          {
            "date": "2020-08-17",
            "count": 1
          },
          {
            "date": "2020-08-18",
            "count": 1
          },
          {
            "date": "2020-08-19",
            "count": 1
          },
          {
            "date": "2020-08-26",
            "count": 3
          },
          {
            "date": "2020-08-30",
            "count": 1
          },
          {
            "date": "2020-09-18",
            "count": 1
          },
          {
            "date": "2020-09-21",
            "count": 1
          },
          {
            "date": "2020-09-25",
            "count": 2
          },
          {
            "date": "2020-10-01",
            "count": 1
          },
          {
            "date": "2020-10-02",
            "count": 2
          },
          {
            "date": "2020-10-05",
            "count": 1
          },
          {
            "date": "2020-10-09",
            "count": 3
          },
          {
            "date": "2020-10-12",
            "count": 1
          },
          {
            "date": "2020-10-13",
            "count": 2
          },
          {
            "date": "2020-10-16",
            "count": 1
          },
          {
            "date": "2020-10-23",
            "count": 1
          },
          {
            "date": "2020-10-26",
            "count": 1
          },
          {
            "date": "2020-10-27",
            "count": 1
          },
          {
            "date": "2020-11-10",
            "count": 1
          },
          {
            "date": "2020-11-11",
            "count": 1
          },
          {
            "date": "2020-11-20",
            "count": 1
          },
          {
            "date": "2020-11-21",
            "count": 1
          },
          {
            "date": "2020-11-27",
            "count": 1
          },
          {
            "date": "2020-12-03",
            "count": 1
          },
          {
            "date": "2020-12-04",
            "count": 1
          },
          {
            "date": "2020-12-09",
            "count": 1
          },
          {
            "date": "2020-12-11",
            "count": 1
          },
          {
            "date": "2020-12-14",
            "count": 1
          },
          {
            "date": "2020-12-17",
            "count": 1
          },
          {
            "date": "2020-12-22",
            "count": 1
          },
          {
            "date": "2020-12-25",
            "count": 2
          },
          {
            "date": "2020-12-26",
            "count": 1
          },
          {
            "date": "2020-12-27",
            "count": 1
          },
          {
            "date": "2020-12-29",
            "count": 1
          },
          {
            "date": "2020-12-30",
            "count": 1
          },
          {
            "date": "2020-12-31",
            "count": 1
          },
          {
            "date": "2021-01-04",
            "count": 1
          },
          {
            "date": "2021-01-05",
            "count": 1
          },
          {
            "date": "2021-01-06",
            "count": 1
          },
          {
            "date": "2021-01-07",
            "count": 1
          },
          {
            "date": "2021-01-13",
            "count": 1
          },
          {
            "date": "2021-01-15",
            "count": 1
          },
          {
            "date": "2021-01-18",
            "count": 1
          },
          {
            "date": "2021-01-20",
            "count": 1
          },
          {
            "date": "2021-01-21",
            "count": 2
          },
          {
            "date": "2021-01-26",
            "count": 1
          },
          {
            "date": "2021-01-29",
            "count": 1
          },
          {
            "date": "2021-02-02",
            "count": 1
          },
          {
            "date": "2021-02-04",
            "count": 1
          },
          {
            "date": "2021-02-06",
            "count": 1
          },
          {
            "date": "2021-02-10",
            "count": 1
          },
          {
            "date": "2021-02-11",
            "count": 1
          },
          {
            "date": "2021-02-14",
            "count": 1
          },
          {
            "date": "2021-02-16",
            "count": 1
          },
          {
            "date": "2021-02-18",
            "count": 1
          },
          {
            "date": "2021-02-22",
            "count": 1
          },
          {
            "date": "2021-02-28",
            "count": 1
          },
          {
            "date": "2021-03-02",
            "count": 2
          },
          {
            "date": "2021-03-03",
            "count": 1
          },
          {
            "date": "2021-03-08",
            "count": 2
          },
          {
            "date": "2021-03-09",
            "count": 2
          },
          {
            "date": "2021-03-11",
            "count": 1
          },
          {
            "date": "2021-03-16",
            "count": 1
          },
          {
            "date": "2021-03-18",
            "count": 1
          },
          {
            "date": "2021-03-21",
            "count": 1
          },
          {
            "date": "2021-03-24",
            "count": 2
          },
          {
            "date": "2021-03-29",
            "count": 1
          },
          {
            "date": "2021-04-01",
            "count": 1
          },
          {
            "date": "2021-04-02",
            "count": 1
          },
          {
            "date": "2021-04-10",
            "count": 1
          },
          {
            "date": "2021-04-12",
            "count": 1
          },
          {
            "date": "2021-04-15",
            "count": 1
          },
          {
            "date": "2021-04-16",
            "count": 2
          },
          {
            "date": "2021-04-17",
            "count": 1
          },
          {
            "date": "2021-04-19",
            "count": 1
          },
          {
            "date": "2021-04-20",
            "count": 1
          },
          {
            "date": "2021-04-27",
            "count": 1
          },
          {
            "date": "2021-04-30",
            "count": 1
          },
          {
            "date": "2021-05-05",
            "count": 1
          },
          {
            "date": "2021-05-12",
            "count": 1
          },
          {
            "date": "2021-05-14",
            "count": 1
          },
          {
            "date": "2021-05-23",
            "count": 1
          },
          {
            "date": "2021-05-31",
            "count": 2
          },
          {
            "date": "2021-06-03",
            "count": 1
          },
          {
            "date": "2021-06-08",
            "count": 2
          },
          {
            "date": "2021-06-14",
            "count": 1
          },
          {
            "date": "2021-06-19",
            "count": 1
          },
          {
            "date": "2021-06-22",
            "count": 1
          },
          {
            "date": "2021-06-25",
            "count": 1
          },
          {
            "date": "2021-06-28",
            "count": 1
          },
          {
            "date": "2021-07-02",
            "count": 2
          },
          {
            "date": "2021-07-07",
            "count": 1
          },
          {
            "date": "2021-07-11",
            "count": 2
          },
          {
            "date": "2021-07-14",
            "count": 1
          },
          {
            "date": "2021-07-18",
            "count": 1
          },
          {
            "date": "2021-07-20",
            "count": 1
          },
          {
            "date": "2021-07-22",
            "count": 3
          },
          {
            "date": "2021-07-26",
            "count": 1
          },
          {
            "date": "2021-07-28",
            "count": 1
          },
          {
            "date": "2021-07-30",
            "count": 1
          },
          {
            "date": "2021-08-01",
            "count": 1
          },
          {
            "date": "2021-08-02",
            "count": 1
          },
          {
            "date": "2021-08-03",
            "count": 1
          },
          {
            "date": "2021-08-04",
            "count": 1
          },
          {
            "date": "2021-08-10",
            "count": 1
          },
          {
            "date": "2021-08-13",
            "count": 2
          },
          {
            "date": "2021-08-15",
            "count": 1
          },
          {
            "date": "2021-08-17",
            "count": 1
          },
          {
            "date": "2021-08-19",
            "count": 2
          },
          {
            "date": "2021-08-21",
            "count": 1
          },
          {
            "date": "2021-08-22",
            "count": 1
          },
          {
            "date": "2021-08-27",
            "count": 1
          },
          {
            "date": "2021-08-29",
            "count": 1
          },
          {
            "date": "2021-08-30",
            "count": 1
          },
          {
            "date": "2021-09-17",
            "count": 1
          },
          {
            "date": "2021-09-21",
            "count": 1
          },
          {
            "date": "2021-09-27",
            "count": 1
          },
          {
            "date": "2021-10-01",
            "count": 1
          },
          {
            "date": "2021-10-12",
            "count": 2
          },
          {
            "date": "2021-10-18",
            "count": 1
          },
          {
            "date": "2021-10-19",
            "count": 2
          },
          {
            "date": "2021-10-20",
            "count": 1
          },
          {
            "date": "2021-10-27",
            "count": 2
          },
          {
            "date": "2021-11-04",
            "count": 1
          },
          {
            "date": "2021-11-07",
            "count": 1
          },
          {
            "date": "2021-11-09",
            "count": 1
          },
          {
            "date": "2021-11-12",
            "count": 1
          },
          {
            "date": "2021-11-13",
            "count": 1
          },
          {
            "date": "2021-11-17",
            "count": 1
          },
          {
            "date": "2021-11-27",
            "count": 1
          },
          {
            "date": "2021-12-06",
            "count": 3
          },
          {
            "date": "2021-12-08",
            "count": 1
          },
          {
            "date": "2021-12-09",
            "count": 1
          },
          {
            "date": "2021-12-13",
            "count": 1
          },
          {
            "date": "2021-12-22",
            "count": 1
          },
          {
            "date": "2021-12-26",
            "count": 2
          },
          {
            "date": "2021-12-28",
            "count": 1
          },
          {
            "date": "2022-01-04",
            "count": 1
          },
          {
            "date": "2022-01-12",
            "count": 1
          },
          {
            "date": "2022-01-13",
            "count": 1
          },
          {
            "date": "2022-01-18",
            "count": 1
          },
          {
            "date": "2022-01-19",
            "count": 1
          },
          {
            "date": "2022-01-20",
            "count": 1
          },
          {
            "date": "2022-01-27",
            "count": 1
          },
          {
            "date": "2022-01-31",
            "count": 1
          },
          {
            "date": "2022-02-06",
            "count": 1
          },
          {
            "date": "2022-02-09",
            "count": 1
          },
          {
            "date": "2022-02-10",
            "count": 1
          },
          {
            "date": "2022-02-13",
            "count": 1
          },
          {
            "date": "2022-02-17",
            "count": 1
          },
          {
            "date": "2022-02-21",
            "count": 1
          },
          {
            "date": "2022-02-22",
            "count": 1
          },
          {
            "date": "2022-02-24",
            "count": 1
          },
          {
            "date": "2022-03-07",
            "count": 1
          },
          {
            "date": "2022-03-08",
            "count": 1
          },
          {
            "date": "2022-03-10",
            "count": 1
          },
          {
            "date": "2022-03-13",
            "count": 1
          },
          {
            "date": "2022-03-16",
            "count": 1
          },
          {
            "date": "2022-03-18",
            "count": 1
          },
          {
            "date": "2022-03-19",
            "count": 1
          },
          {
            "date": "2022-03-25",
            "count": 1
          },
          {
            "date": "2022-03-27",
            "count": 1
          },
          {
            "date": "2022-03-28",
            "count": 1
          },
          {
            "date": "2022-04-01",
            "count": 2
          },
          {
            "date": "2022-04-12",
            "count": 1
          },
          {
            "date": "2022-04-20",
            "count": 1
          },
          {
            "date": "2022-04-24",
            "count": 1
          },
          {
            "date": "2022-04-25",
            "count": 1
          },
          {
            "date": "2022-05-04",
            "count": 1
          },
          {
            "date": "2022-05-07",
            "count": 2
          },
          {
            "date": "2022-05-11",
            "count": 1
          },
          {
            "date": "2022-05-13",
            "count": 1
          },
          {
            "date": "2022-06-11",
            "count": 1
          },
          {
            "date": "2022-06-13",
            "count": 2
          },
          {
            "date": "2022-06-28",
            "count": 1
          },
          {
            "date": "2022-07-02",
            "count": 1
          },
          {
            "date": "2022-07-07",
            "count": 1
          },
          {
            "date": "2022-07-10",
            "count": 2
          },
          {
            "date": "2022-07-18",
            "count": 1
          },
          {
            "date": "2022-07-22",
            "count": 2
          },
          {
            "date": "2022-07-23",
            "count": 1
          },
          {
            "date": "2022-07-30",
            "count": 1
          },
          {
            "date": "2022-07-31",
            "count": 1
          },
          {
            "date": "2022-08-10",
            "count": 1
          },
          {
            "date": "2022-08-12",
            "count": 1
          },
          {
            "date": "2022-09-05",
            "count": 1
          },
          {
            "date": "2022-09-08",
            "count": 1
          },
          {
            "date": "2022-09-15",
            "count": 2
          },
          {
            "date": "2022-09-18",
            "count": 1
          },
          {
            "date": "2022-09-23",
            "count": 1
          },
          {
            "date": "2022-09-29",
            "count": 2
          },
          {
            "date": "2022-10-05",
            "count": 1
          },
          {
            "date": "2022-10-11",
            "count": 1
          },
          {
            "date": "2022-10-17",
            "count": 1
          },
          {
            "date": "2022-10-20",
            "count": 1
          },
          {
            "date": "2022-10-27",
            "count": 1
          },
          {
            "date": "2022-10-30",
            "count": 1
          },
          {
            "date": "2022-11-29",
            "count": 1
          },
          {
            "date": "2022-12-05",
            "count": 2
          },
          {
            "date": "2022-12-06",
            "count": 1
          },
          {
            "date": "2022-12-13",
            "count": 1
          },
          {
            "date": "2022-12-17",
            "count": 1
          },
          {
            "date": "2022-12-21",
            "count": 1
          },
          {
            "date": "2022-12-25",
            "count": 1
          },
          {
            "date": "2023-01-05",
            "count": 1
          },
          {
            "date": "2023-01-08",
            "count": 1
          },
          {
            "date": "2023-01-10",
            "count": 1
          },
          {
            "date": "2023-01-13",
            "count": 1
          },
          {
            "date": "2023-01-21",
            "count": 1
          },
          {
            "date": "2023-01-22",
            "count": 1
          },
          {
            "date": "2023-02-02",
            "count": 1
          },
          {
            "date": "2023-02-03",
            "count": 1
          },
          {
            "date": "2023-02-15",
            "count": 1
          },
          {
            "date": "2023-02-18",
            "count": 1
          },
          {
            "date": "2023-02-23",
            "count": 1
          },
          {
            "date": "2023-03-01",
            "count": 1
          },
          {
            "date": "2023-03-15",
            "count": 1
          },
          {
            "date": "2023-03-17",
            "count": 1
          },
          {
            "date": "2023-03-21",
            "count": 1
          },
          {
            "date": "2023-03-23",
            "count": 1
          },
          {
            "date": "2023-03-25",
            "count": 1
          },
          {
            "date": "2023-03-28",
            "count": 1
          },
          {
            "date": "2023-03-31",
            "count": 1
          },
          {
            "date": "2023-04-19",
            "count": 1
          },
          {
            "date": "2023-04-29",
            "count": 1
          },
          {
            "date": "2023-04-30",
            "count": 1
          },
          {
            "date": "2023-05-03",
            "count": 1
          },
          {
            "date": "2023-05-07",
            "count": 1
          },
          {
            "date": "2023-06-05",
            "count": 1
          },
          {
            "date": "2023-06-13",
            "count": 1
          },
          {
            "date": "2023-06-24",
            "count": 1
          },
          {
            "date": "2023-07-04",
            "count": 1
          },
          {
            "date": "2023-07-07",
            "count": 1
          },
          {
            "date": "2023-07-10",
            "count": 1
          },
          {
            "date": "2023-08-13",
            "count": 1
          },
          {
            "date": "2023-09-10",
            "count": 1
          },
          {
            "date": "2023-09-13",
            "count": 1
          },
          {
            "date": "2023-10-17",
            "count": 1
          },
          {
            "date": "2023-11-05",
            "count": 1
          },
          {
            "date": "2023-11-26",
            "count": 1
          },
          {
            "date": "2023-12-01",
            "count": 1
          },
          {
            "date": "2023-12-09",
            "count": 1
          },
          {
            "date": "2023-12-31",
            "count": 1
          },
          {
            "date": "2024-01-15",
            "count": 1
          },
          {
            "date": "2024-01-18",
            "count": 1
          },
          {
            "date": "2024-01-22",
            "count": 1
          },
          {
            "date": "2024-02-16",
            "count": 1
          },
          {
            "date": "2024-02-25",
            "count": 1
          },
          {
            "date": "2024-02-29",
            "count": 1
          },
          {
            "date": "2024-03-11",
            "count": 1
          },
          {
            "date": "2024-03-12",
            "count": 1
          },
          {
            "date": "2024-04-24",
            "count": 1
          },
          {
            "date": "2024-05-20",
            "count": 1
          },
          {
            "date": "2024-06-03",
            "count": 1
          },
          {
            "date": "2024-06-20",
            "count": 1
          },
          {
            "date": "2024-06-23",
            "count": 1
          },
          {
            "date": "2024-08-21",
            "count": 1
          },
          {
            "date": "2024-11-06",
            "count": 1
          },
          {
            "date": "2024-11-18",
            "count": 1
          },
          {
            "date": "2024-11-19",
            "count": 1
          },
          {
            "date": "2024-11-24",
            "count": 1
          },
          {
            "date": "2024-11-26",
            "count": 3
          },
          {
            "date": "2024-11-28",
            "count": 1
          },
          {
            "date": "2024-12-16",
            "count": 1
          },
          {
            "date": "2024-12-22",
            "count": 1
          },
          {
            "date": "2024-12-30",
            "count": 1
          },
          {
            "date": "2025-01-02",
            "count": 1
          },
          {
            "date": "2025-01-08",
            "count": 1
          },
          {
            "date": "2025-01-12",
            "count": 1
          },
          {
            "date": "2025-01-16",
            "count": 1
          },
          {
            "date": "2025-01-26",
            "count": 1
          },
          {
            "date": "2025-01-27",
            "count": 1
          },
          {
            "date": "2025-02-09",
            "count": 1
          },
          {
            "date": "2025-02-12",
            "count": 1
          },
          {
            "date": "2025-03-04",
            "count": 1
          },
          {
            "date": "2025-03-18",
            "count": 1
          },
          {
            "date": "2025-03-31",
            "count": 1
          },
          {
            "date": "2025-04-06",
            "count": 1
          },
          {
            "date": "2025-04-13",
            "count": 1
          },
          {
            "date": "2025-04-28",
            "count": 1
          },
          {
            "date": "2025-05-05",
            "count": 1
          },
          {
            "date": "2025-05-08",
            "count": 1
          },
          {
            "date": "2025-05-15",
            "count": 1
          },
          {
            "date": "2025-05-16",
            "count": 1
          },
          {
            "date": "2025-05-19",
            "count": 1
          },
          {
            "date": "2025-06-07",
            "count": 1
          },
          {
            "date": "2025-06-19",
            "count": 1
          },
          {
            "date": "2025-06-28",
            "count": 1
          },
          {
            "date": "2025-07-01",
            "count": 1
          },
          {
            "date": "2025-07-06",
            "count": 1
          },
          {
            "date": "2025-08-16",
            "count": 1
          },
          {
            "date": "2025-08-26",
            "count": 1
          },
          {
            "date": "2025-10-04",
            "count": 1
          },
          {
            "date": "2025-10-17",
            "count": 1
          },
          {
            "date": "2025-10-22",
            "count": 1
          },
          {
            "date": "2025-10-31",
            "count": 1
          },
          {
            "date": "2025-11-02",
            "count": 1
          },
          {
            "date": "2025-11-25",
            "count": 1
          },
          {
            "date": "2026-01-03",
            "count": 1
          },
          {
            "date": "2026-01-13",
            "count": 1
          },
          {
            "date": "2026-01-14",
            "count": 1
          },
          {
            "date": "2026-01-16",
            "count": 1
          },
          {
            "date": "2026-01-24",
            "count": 2
          },
          {
            "date": "2026-02-05",
            "count": 1
          },
          {
            "date": "2026-02-08",
            "count": 1
          },
          {
            "date": "2026-02-09",
            "count": 1
          },
          {
            "date": "2026-02-16",
            "count": 1
          },
          {
            "date": "2026-02-22",
            "count": 1
          },
          {
            "date": "2026-03-12",
            "count": 1
          },
          {
            "date": "2026-04-02",
            "count": 1
          },
          {
            "date": "2026-04-05",
            "count": 1
          },
          {
            "date": "2026-05-22",
            "count": 2
          },
          {
            "date": "2026-05-29",
            "count": 1
          },
          {
            "date": "2026-06-08",
            "count": 1
          },
          {
            "date": "2026-06-14",
            "count": 1
          },
          {
            "date": "2026-06-23",
            "count": 1
          },
          {
            "date": "2026-06-24",
            "count": 1
          },
          {
            "date": "2026-06-25",
            "count": 1
          },
          {
            "date": "2026-07-12",
            "count": 1
          },
          {
            "date": "2026-07-18",
            "count": 1
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_forks": 3368
      },
      "star_history": {
        "days": [
          {
            "date": "2021-08-05",
            "count": 2
          },
          {
            "date": "2021-08-09",
            "count": 1
          },
          {
            "date": "2021-08-10",
            "count": 3
          },
          {
            "date": "2021-08-11",
            "count": 2
          },
          {
            "date": "2021-08-12",
            "count": 1
          },
          {
            "date": "2021-08-13",
            "count": 1
          },
          {
            "date": "2021-08-16",
            "count": 1
          },
          {
            "date": "2021-08-17",
            "count": 2
          },
          {
            "date": "2021-08-18",
            "count": 1
          },
          {
            "date": "2021-08-19",
            "count": 2
          },
          {
            "date": "2021-08-21",
            "count": 1
          },
          {
            "date": "2021-08-22",
            "count": 1
          },
          {
            "date": "2021-08-23",
            "count": 1
          },
          {
            "date": "2021-08-24",
            "count": 3
          },
          {
            "date": "2021-08-26",
            "count": 2
          },
          {
            "date": "2021-08-27",
            "count": 1
          },
          {
            "date": "2021-08-28",
            "count": 1
          },
          {
            "date": "2021-08-29",
            "count": 1
          },
          {
            "date": "2021-09-05",
            "count": 1
          },
          {
            "date": "2021-09-06",
            "count": 2
          },
          {
            "date": "2021-09-07",
            "count": 3
          },
          {
            "date": "2021-09-09",
            "count": 2
          },
          {
            "date": "2021-09-10",
            "count": 1
          },
          {
            "date": "2021-09-12",
            "count": 5
          },
          {
            "date": "2021-09-13",
            "count": 2
          },
          {
            "date": "2021-09-14",
            "count": 1
          },
          {
            "date": "2021-09-16",
            "count": 1
          },
          {
            "date": "2021-09-17",
            "count": 1
          },
          {
            "date": "2021-09-19",
            "count": 1
          },
          {
            "date": "2021-09-20",
            "count": 1
          },
          {
            "date": "2021-09-24",
            "count": 1
          },
          {
            "date": "2021-09-26",
            "count": 1
          },
          {
            "date": "2021-09-30",
            "count": 2
          },
          {
            "date": "2021-10-03",
            "count": 1
          },
          {
            "date": "2021-10-06",
            "count": 2
          },
          {
            "date": "2021-10-08",
            "count": 1
          },
          {
            "date": "2021-10-11",
            "count": 1
          },
          {
            "date": "2021-10-13",
            "count": 1
          },
          {
            "date": "2021-10-14",
            "count": 1
          },
          {
            "date": "2021-10-15",
            "count": 3
          },
          {
            "date": "2021-10-16",
            "count": 1
          },
          {
            "date": "2021-10-18",
            "count": 1
          },
          {
            "date": "2021-10-19",
            "count": 1
          },
          {
            "date": "2021-10-20",
            "count": 2
          },
          {
            "date": "2021-10-22",
            "count": 1
          },
          {
            "date": "2021-10-24",
            "count": 2
          },
          {
            "date": "2021-10-26",
            "count": 2
          },
          {
            "date": "2021-10-28",
            "count": 1
          },
          {
            "date": "2021-10-30",
            "count": 1
          },
          {
            "date": "2021-10-31",
            "count": 1
          },
          {
            "date": "2021-11-01",
            "count": 1
          },
          {
            "date": "2021-11-02",
            "count": 3
          },
          {
            "date": "2021-11-03",
            "count": 2
          },
          {
            "date": "2021-11-04",
            "count": 1
          },
          {
            "date": "2021-11-05",
            "count": 1
          },
          {
            "date": "2021-11-06",
            "count": 1
          },
          {
            "date": "2021-11-08",
            "count": 1
          },
          {
            "date": "2021-11-10",
            "count": 1
          },
          {
            "date": "2021-11-11",
            "count": 2
          },
          {
            "date": "2021-11-13",
            "count": 1
          },
          {
            "date": "2021-11-16",
            "count": 2
          },
          {
            "date": "2021-11-19",
            "count": 3
          },
          {
            "date": "2021-11-20",
            "count": 1
          },
          {
            "date": "2021-11-21",
            "count": 1
          },
          {
            "date": "2021-11-24",
            "count": 1
          },
          {
            "date": "2021-11-26",
            "count": 1
          },
          {
            "date": "2021-11-27",
            "count": 1
          },
          {
            "date": "2021-11-30",
            "count": 4
          },
          {
            "date": "2021-12-01",
            "count": 1
          },
          {
            "date": "2021-12-04",
            "count": 1
          },
          {
            "date": "2021-12-05",
            "count": 1
          },
          {
            "date": "2021-12-06",
            "count": 2
          },
          {
            "date": "2021-12-08",
            "count": 2
          },
          {
            "date": "2021-12-10",
            "count": 1
          },
          {
            "date": "2021-12-12",
            "count": 1
          },
          {
            "date": "2021-12-17",
            "count": 2
          },
          {
            "date": "2021-12-23",
            "count": 2
          },
          {
            "date": "2021-12-27",
            "count": 1
          },
          {
            "date": "2021-12-30",
            "count": 1
          },
          {
            "date": "2022-01-03",
            "count": 2
          },
          {
            "date": "2022-01-05",
            "count": 3
          },
          {
            "date": "2022-01-06",
            "count": 1
          },
          {
            "date": "2022-01-07",
            "count": 2
          },
          {
            "date": "2022-01-08",
            "count": 1
          },
          {
            "date": "2022-01-09",
            "count": 2
          },
          {
            "date": "2022-01-10",
            "count": 1
          },
          {
            "date": "2022-01-13",
            "count": 1
          },
          {
            "date": "2022-01-14",
            "count": 2
          },
          {
            "date": "2022-01-15",
            "count": 1
          },
          {
            "date": "2022-01-16",
            "count": 1
          },
          {
            "date": "2022-01-20",
            "count": 1
          },
          {
            "date": "2022-01-22",
            "count": 1
          },
          {
            "date": "2022-01-24",
            "count": 1
          },
          {
            "date": "2022-01-26",
            "count": 3
          },
          {
            "date": "2022-01-27",
            "count": 1
          },
          {
            "date": "2022-01-28",
            "count": 2
          },
          {
            "date": "2022-02-04",
            "count": 3
          },
          {
            "date": "2022-02-06",
            "count": 2
          },
          {
            "date": "2022-02-07",
            "count": 1
          },
          {
            "date": "2022-02-09",
            "count": 1
          },
          {
            "date": "2022-02-10",
            "count": 1
          },
          {
            "date": "2022-02-12",
            "count": 2
          },
          {
            "date": "2022-02-14",
            "count": 1
          },
          {
            "date": "2022-02-15",
            "count": 1
          },
          {
            "date": "2022-02-16",
            "count": 2
          },
          {
            "date": "2022-02-17",
            "count": 1
          },
          {
            "date": "2022-02-21",
            "count": 2
          },
          {
            "date": "2022-02-22",
            "count": 3
          },
          {
            "date": "2022-02-24",
            "count": 2
          },
          {
            "date": "2022-02-25",
            "count": 1
          },
          {
            "date": "2022-02-26",
            "count": 2
          },
          {
            "date": "2022-02-27",
            "count": 3
          },
          {
            "date": "2022-02-28",
            "count": 2
          },
          {
            "date": "2022-03-01",
            "count": 3
          },
          {
            "date": "2022-03-03",
            "count": 2
          },
          {
            "date": "2022-03-04",
            "count": 1
          },
          {
            "date": "2022-03-05",
            "count": 1
          },
          {
            "date": "2022-03-08",
            "count": 1
          },
          {
            "date": "2022-03-09",
            "count": 1
          },
          {
            "date": "2022-03-10",
            "count": 1
          },
          {
            "date": "2022-03-11",
            "count": 2
          },
          {
            "date": "2022-03-13",
            "count": 2
          },
          {
            "date": "2022-03-14",
            "count": 2
          },
          {
            "date": "2022-03-16",
            "count": 1
          },
          {
            "date": "2022-03-17",
            "count": 1
          },
          {
            "date": "2022-03-18",
            "count": 1
          },
          {
            "date": "2022-03-19",
            "count": 2
          },
          {
            "date": "2022-03-20",
            "count": 1
          },
          {
            "date": "2022-03-21",
            "count": 1
          },
          {
            "date": "2022-03-22",
            "count": 1
          },
          {
            "date": "2022-03-24",
            "count": 1
          },
          {
            "date": "2022-03-28",
            "count": 1
          },
          {
            "date": "2022-03-30",
            "count": 1
          },
          {
            "date": "2022-03-31",
            "count": 2
          },
          {
            "date": "2022-04-01",
            "count": 1
          },
          {
            "date": "2022-04-03",
            "count": 2
          },
          {
            "date": "2022-04-05",
            "count": 1
          },
          {
            "date": "2022-04-06",
            "count": 1
          },
          {
            "date": "2022-04-09",
            "count": 2
          },
          {
            "date": "2022-04-10",
            "count": 1
          },
          {
            "date": "2022-04-12",
            "count": 2
          },
          {
            "date": "2022-04-13",
            "count": 1
          },
          {
            "date": "2022-04-17",
            "count": 1
          },
          {
            "date": "2022-04-19",
            "count": 1
          },
          {
            "date": "2022-04-21",
            "count": 1
          },
          {
            "date": "2022-04-24",
            "count": 1
          },
          {
            "date": "2022-04-26",
            "count": 1
          },
          {
            "date": "2022-04-27",
            "count": 1
          },
          {
            "date": "2022-04-30",
            "count": 1
          },
          {
            "date": "2022-05-01",
            "count": 3
          },
          {
            "date": "2022-05-04",
            "count": 2
          },
          {
            "date": "2022-05-06",
            "count": 2
          },
          {
            "date": "2022-05-07",
            "count": 1
          },
          {
            "date": "2022-05-10",
            "count": 1
          },
          {
            "date": "2022-05-11",
            "count": 1
          },
          {
            "date": "2022-05-12",
            "count": 1
          },
          {
            "date": "2022-05-13",
            "count": 2
          },
          {
            "date": "2022-05-14",
            "count": 1
          },
          {
            "date": "2022-05-16",
            "count": 3
          },
          {
            "date": "2022-05-17",
            "count": 3
          },
          {
            "date": "2022-05-18",
            "count": 3
          },
          {
            "date": "2022-05-19",
            "count": 1
          },
          {
            "date": "2022-05-20",
            "count": 1
          },
          {
            "date": "2022-05-21",
            "count": 1
          },
          {
            "date": "2022-05-22",
            "count": 1
          },
          {
            "date": "2022-05-24",
            "count": 2
          },
          {
            "date": "2022-05-25",
            "count": 1
          },
          {
            "date": "2022-05-27",
            "count": 2
          },
          {
            "date": "2022-05-29",
            "count": 1
          },
          {
            "date": "2022-05-30",
            "count": 2
          },
          {
            "date": "2022-05-31",
            "count": 5
          },
          {
            "date": "2022-06-01",
            "count": 1
          },
          {
            "date": "2022-06-05",
            "count": 1
          },
          {
            "date": "2022-06-06",
            "count": 1
          },
          {
            "date": "2022-06-09",
            "count": 1
          },
          {
            "date": "2022-06-10",
            "count": 3
          },
          {
            "date": "2022-06-11",
            "count": 1
          },
          {
            "date": "2022-06-14",
            "count": 1
          },
          {
            "date": "2022-06-18",
            "count": 1
          },
          {
            "date": "2022-06-20",
            "count": 1
          },
          {
            "date": "2022-06-21",
            "count": 1
          },
          {
            "date": "2022-06-23",
            "count": 2
          },
          {
            "date": "2022-06-26",
            "count": 2
          },
          {
            "date": "2022-06-27",
            "count": 3
          },
          {
            "date": "2022-06-28",
            "count": 1
          },
          {
            "date": "2022-07-01",
            "count": 1
          },
          {
            "date": "2022-07-04",
            "count": 1
          },
          {
            "date": "2022-07-06",
            "count": 1
          },
          {
            "date": "2022-07-10",
            "count": 2
          },
          {
            "date": "2022-07-11",
            "count": 2
          },
          {
            "date": "2022-07-13",
            "count": 2
          },
          {
            "date": "2022-07-14",
            "count": 1
          },
          {
            "date": "2022-07-17",
            "count": 2
          },
          {
            "date": "2022-07-18",
            "count": 1
          },
          {
            "date": "2022-07-19",
            "count": 3
          },
          {
            "date": "2022-07-20",
            "count": 2
          },
          {
            "date": "2022-07-22",
            "count": 1
          },
          {
            "date": "2022-07-23",
            "count": 1
          },
          {
            "date": "2022-07-24",
            "count": 1
          },
          {
            "date": "2022-07-28",
            "count": 1
          },
          {
            "date": "2022-07-31",
            "count": 1
          },
          {
            "date": "2022-08-03",
            "count": 1
          },
          {
            "date": "2022-08-04",
            "count": 1
          },
          {
            "date": "2022-08-06",
            "count": 1
          },
          {
            "date": "2022-08-08",
            "count": 1
          },
          {
            "date": "2022-08-09",
            "count": 2
          },
          {
            "date": "2022-08-11",
            "count": 1
          },
          {
            "date": "2022-08-12",
            "count": 1
          },
          {
            "date": "2022-08-20",
            "count": 1
          },
          {
            "date": "2022-08-22",
            "count": 1
          },
          {
            "date": "2022-08-23",
            "count": 3
          },
          {
            "date": "2022-08-24",
            "count": 1
          },
          {
            "date": "2022-08-26",
            "count": 1
          },
          {
            "date": "2022-08-27",
            "count": 1
          },
          {
            "date": "2022-08-28",
            "count": 1
          },
          {
            "date": "2022-08-30",
            "count": 1
          },
          {
            "date": "2022-09-02",
            "count": 2
          },
          {
            "date": "2022-09-04",
            "count": 1
          },
          {
            "date": "2022-09-11",
            "count": 1
          },
          {
            "date": "2022-09-12",
            "count": 1
          },
          {
            "date": "2022-09-13",
            "count": 1
          },
          {
            "date": "2022-09-15",
            "count": 1
          },
          {
            "date": "2022-09-16",
            "count": 4
          },
          {
            "date": "2022-09-21",
            "count": 2
          },
          {
            "date": "2022-09-26",
            "count": 2
          },
          {
            "date": "2022-09-28",
            "count": 2
          },
          {
            "date": "2022-09-29",
            "count": 1
          },
          {
            "date": "2022-09-30",
            "count": 2
          },
          {
            "date": "2022-10-11",
            "count": 1
          },
          {
            "date": "2022-10-14",
            "count": 1
          },
          {
            "date": "2022-10-16",
            "count": 1
          },
          {
            "date": "2022-10-18",
            "count": 1
          },
          {
            "date": "2022-10-19",
            "count": 1
          },
          {
            "date": "2022-10-21",
            "count": 2
          },
          {
            "date": "2022-10-22",
            "count": 1
          },
          {
            "date": "2022-10-23",
            "count": 3
          },
          {
            "date": "2022-10-25",
            "count": 1
          },
          {
            "date": "2022-10-30",
            "count": 1
          },
          {
            "date": "2022-10-31",
            "count": 1
          },
          {
            "date": "2022-11-02",
            "count": 1
          },
          {
            "date": "2022-11-04",
            "count": 1
          },
          {
            "date": "2022-11-05",
            "count": 1
          },
          {
            "date": "2022-11-06",
            "count": 1
          },
          {
            "date": "2022-11-08",
            "count": 1
          },
          {
            "date": "2022-11-09",
            "count": 1
          },
          {
            "date": "2022-11-10",
            "count": 1
          },
          {
            "date": "2022-11-11",
            "count": 1
          },
          {
            "date": "2022-11-13",
            "count": 1
          },
          {
            "date": "2022-11-14",
            "count": 1
          },
          {
            "date": "2022-11-15",
            "count": 1
          },
          {
            "date": "2022-11-16",
            "count": 2
          },
          {
            "date": "2022-11-18",
            "count": 1
          },
          {
            "date": "2022-11-25",
            "count": 2
          },
          {
            "date": "2022-11-28",
            "count": 2
          },
          {
            "date": "2022-11-29",
            "count": 1
          },
          {
            "date": "2022-11-30",
            "count": 1
          },
          {
            "date": "2022-12-02",
            "count": 2
          },
          {
            "date": "2022-12-03",
            "count": 2
          },
          {
            "date": "2022-12-06",
            "count": 2
          },
          {
            "date": "2022-12-09",
            "count": 2
          },
          {
            "date": "2022-12-10",
            "count": 1
          },
          {
            "date": "2022-12-12",
            "count": 2
          },
          {
            "date": "2022-12-13",
            "count": 1
          },
          {
            "date": "2022-12-19",
            "count": 1
          },
          {
            "date": "2022-12-24",
            "count": 2
          },
          {
            "date": "2022-12-28",
            "count": 1
          },
          {
            "date": "2022-12-31",
            "count": 1
          },
          {
            "date": "2023-01-02",
            "count": 2
          },
          {
            "date": "2023-01-04",
            "count": 1
          },
          {
            "date": "2023-01-08",
            "count": 1
          },
          {
            "date": "2023-01-11",
            "count": 1
          },
          {
            "date": "2023-01-14",
            "count": 2
          },
          {
            "date": "2023-01-17",
            "count": 3
          },
          {
            "date": "2023-01-22",
            "count": 1
          },
          {
            "date": "2023-01-24",
            "count": 4
          },
          {
            "date": "2023-01-25",
            "count": 1
          },
          {
            "date": "2023-01-27",
            "count": 1
          },
          {
            "date": "2023-01-28",
            "count": 2
          },
          {
            "date": "2023-02-01",
            "count": 3
          },
          {
            "date": "2023-02-02",
            "count": 1
          },
          {
            "date": "2023-02-04",
            "count": 1
          },
          {
            "date": "2023-02-06",
            "count": 1
          },
          {
            "date": "2023-02-09",
            "count": 2
          },
          {
            "date": "2023-02-11",
            "count": 1
          },
          {
            "date": "2023-02-16",
            "count": 1
          },
          {
            "date": "2023-02-19",
            "count": 1
          },
          {
            "date": "2023-02-20",
            "count": 1
          },
          {
            "date": "2023-02-23",
            "count": 1
          },
          {
            "date": "2023-02-25",
            "count": 1
          },
          {
            "date": "2023-03-01",
            "count": 3
          },
          {
            "date": "2023-03-02",
            "count": 1
          },
          {
            "date": "2023-03-03",
            "count": 2
          },
          {
            "date": "2023-03-06",
            "count": 3
          },
          {
            "date": "2023-03-08",
            "count": 1
          },
          {
            "date": "2023-03-09",
            "count": 3
          },
          {
            "date": "2023-03-10",
            "count": 1
          },
          {
            "date": "2023-03-13",
            "count": 2
          },
          {
            "date": "2023-03-14",
            "count": 1
          },
          {
            "date": "2023-03-16",
            "count": 2
          },
          {
            "date": "2023-03-17",
            "count": 2
          },
          {
            "date": "2023-03-20",
            "count": 1
          },
          {
            "date": "2023-03-22",
            "count": 1
          },
          {
            "date": "2023-03-27",
            "count": 1
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-03-30",
            "count": 2
          },
          {
            "date": "2023-03-31",
            "count": 3
          },
          {
            "date": "2023-04-01",
            "count": 1
          },
          {
            "date": "2023-04-02",
            "count": 1
          },
          {
            "date": "2023-04-04",
            "count": 1
          },
          {
            "date": "2023-04-06",
            "count": 2
          },
          {
            "date": "2023-04-10",
            "count": 2
          },
          {
            "date": "2023-04-11",
            "count": 1
          },
          {
            "date": "2023-04-13",
            "count": 1
          },
          {
            "date": "2023-04-14",
            "count": 1
          },
          {
            "date": "2023-04-15",
            "count": 1
          },
          {
            "date": "2023-04-18",
            "count": 1
          },
          {
            "date": "2023-04-19",
            "count": 2
          },
          {
            "date": "2023-04-20",
            "count": 2
          },
          {
            "date": "2023-04-25",
            "count": 1
          },
          {
            "date": "2023-04-26",
            "count": 2
          },
          {
            "date": "2023-04-28",
            "count": 2
          },
          {
            "date": "2023-04-30",
            "count": 1
          },
          {
            "date": "2023-05-01",
            "count": 1
          },
          {
            "date": "2023-05-03",
            "count": 1
          },
          {
            "date": "2023-05-05",
            "count": 1
          },
          {
            "date": "2023-05-08",
            "count": 1
          },
          {
            "date": "2023-05-11",
            "count": 1
          },
          {
            "date": "2023-05-12",
            "count": 2
          },
          {
            "date": "2023-05-15",
            "count": 1
          },
          {
            "date": "2023-05-16",
            "count": 1
          },
          {
            "date": "2023-05-20",
            "count": 1
          },
          {
            "date": "2023-05-23",
            "count": 1
          },
          {
            "date": "2023-05-24",
            "count": 1
          },
          {
            "date": "2023-05-25",
            "count": 1
          },
          {
            "date": "2023-05-27",
            "count": 1
          },
          {
            "date": "2023-05-28",
            "count": 1
          },
          {
            "date": "2023-05-29",
            "count": 1
          },
          {
            "date": "2023-06-03",
            "count": 1
          },
          {
            "date": "2023-06-05",
            "count": 1
          },
          {
            "date": "2023-06-06",
            "count": 3
          },
          {
            "date": "2023-06-07",
            "count": 2
          },
          {
            "date": "2023-06-13",
            "count": 1
          },
          {
            "date": "2023-06-14",
            "count": 2
          },
          {
            "date": "2023-06-16",
            "count": 1
          },
          {
            "date": "2023-06-17",
            "count": 1
          },
          {
            "date": "2023-06-19",
            "count": 1
          },
          {
            "date": "2023-06-24",
            "count": 1
          },
          {
            "date": "2023-06-26",
            "count": 1
          },
          {
            "date": "2023-06-27",
            "count": 1
          },
          {
            "date": "2023-06-29",
            "count": 1
          },
          {
            "date": "2023-07-06",
            "count": 1
          },
          {
            "date": "2023-07-07",
            "count": 1
          },
          {
            "date": "2023-07-08",
            "count": 1
          },
          {
            "date": "2023-07-12",
            "count": 1
          },
          {
            "date": "2023-07-13",
            "count": 1
          },
          {
            "date": "2023-07-15",
            "count": 1
          },
          {
            "date": "2023-07-16",
            "count": 2
          },
          {
            "date": "2023-07-19",
            "count": 1
          },
          {
            "date": "2023-07-21",
            "count": 1
          },
          {
            "date": "2023-07-24",
            "count": 1
          },
          {
            "date": "2023-07-26",
            "count": 1
          },
          {
            "date": "2023-07-28",
            "count": 1
          },
          {
            "date": "2023-07-31",
            "count": 1
          },
          {
            "date": "2023-08-03",
            "count": 1
          },
          {
            "date": "2023-08-04",
            "count": 1
          },
          {
            "date": "2023-08-13",
            "count": 1
          },
          {
            "date": "2023-08-20",
            "count": 1
          },
          {
            "date": "2023-08-21",
            "count": 1
          },
          {
            "date": "2023-08-25",
            "count": 2
          },
          {
            "date": "2023-08-29",
            "count": 1
          },
          {
            "date": "2023-09-02",
            "count": 1
          },
          {
            "date": "2023-09-03",
            "count": 1
          },
          {
            "date": "2023-09-05",
            "count": 1
          },
          {
            "date": "2023-09-06",
            "count": 2
          },
          {
            "date": "2023-09-07",
            "count": 1
          },
          {
            "date": "2023-09-08",
            "count": 1
          },
          {
            "date": "2023-09-09",
            "count": 1
          },
          {
            "date": "2023-09-11",
            "count": 1
          },
          {
            "date": "2023-09-16",
            "count": 1
          },
          {
            "date": "2023-09-17",
            "count": 1
          },
          {
            "date": "2023-09-19",
            "count": 1
          },
          {
            "date": "2023-09-21",
            "count": 1
          },
          {
            "date": "2023-09-22",
            "count": 2
          },
          {
            "date": "2023-09-27",
            "count": 2
          },
          {
            "date": "2023-09-29",
            "count": 1
          },
          {
            "date": "2023-09-30",
            "count": 1
          },
          {
            "date": "2023-10-02",
            "count": 1
          },
          {
            "date": "2023-10-06",
            "count": 1
          },
          {
            "date": "2023-10-08",
            "count": 1
          },
          {
            "date": "2023-10-12",
            "count": 1
          },
          {
            "date": "2023-10-13",
            "count": 3
          },
          {
            "date": "2023-10-15",
            "count": 1
          },
          {
            "date": "2023-10-20",
            "count": 1
          },
          {
            "date": "2023-10-21",
            "count": 1
          },
          {
            "date": "2023-10-26",
            "count": 1
          },
          {
            "date": "2023-10-27",
            "count": 2
          },
          {
            "date": "2023-10-29",
            "count": 1
          },
          {
            "date": "2023-10-30",
            "count": 2
          },
          {
            "date": "2023-11-04",
            "count": 1
          },
          {
            "date": "2023-11-13",
            "count": 1
          },
          {
            "date": "2023-11-16",
            "count": 1
          },
          {
            "date": "2023-11-18",
            "count": 1
          },
          {
            "date": "2023-11-19",
            "count": 1
          },
          {
            "date": "2023-11-21",
            "count": 1
          },
          {
            "date": "2023-11-24",
            "count": 1
          },
          {
            "date": "2023-11-26",
            "count": 1
          },
          {
            "date": "2023-11-27",
            "count": 1
          },
          {
            "date": "2023-11-29",
            "count": 1
          },
          {
            "date": "2023-12-02",
            "count": 1
          },
          {
            "date": "2023-12-04",
            "count": 2
          },
          {
            "date": "2023-12-05",
            "count": 1
          },
          {
            "date": "2023-12-06",
            "count": 1
          },
          {
            "date": "2023-12-11",
            "count": 1
          },
          {
            "date": "2023-12-13",
            "count": 1
          },
          {
            "date": "2023-12-17",
            "count": 1
          },
          {
            "date": "2023-12-18",
            "count": 2
          },
          {
            "date": "2023-12-19",
            "count": 1
          },
          {
            "date": "2023-12-20",
            "count": 1
          },
          {
            "date": "2023-12-23",
            "count": 1
          },
          {
            "date": "2023-12-24",
            "count": 1
          },
          {
            "date": "2023-12-27",
            "count": 1
          },
          {
            "date": "2023-12-28",
            "count": 1
          },
          {
            "date": "2023-12-29",
            "count": 2
          },
          {
            "date": "2024-01-02",
            "count": 1
          },
          {
            "date": "2024-01-05",
            "count": 1
          },
          {
            "date": "2024-01-06",
            "count": 1
          },
          {
            "date": "2024-01-09",
            "count": 2
          },
          {
            "date": "2024-01-12",
            "count": 1
          },
          {
            "date": "2024-01-17",
            "count": 1
          },
          {
            "date": "2024-01-18",
            "count": 1
          },
          {
            "date": "2024-01-19",
            "count": 2
          },
          {
            "date": "2024-01-21",
            "count": 1
          },
          {
            "date": "2024-01-26",
            "count": 1
          },
          {
            "date": "2024-01-27",
            "count": 1
          },
          {
            "date": "2024-01-29",
            "count": 1
          },
          {
            "date": "2024-02-02",
            "count": 3
          },
          {
            "date": "2024-02-03",
            "count": 2
          },
          {
            "date": "2024-02-15",
            "count": 1
          },
          {
            "date": "2024-02-19",
            "count": 1
          },
          {
            "date": "2024-02-20",
            "count": 2
          },
          {
            "date": "2024-02-22",
            "count": 2
          },
          {
            "date": "2024-02-26",
            "count": 1
          },
          {
            "date": "2024-02-27",
            "count": 1
          },
          {
            "date": "2024-02-29",
            "count": 3
          },
          {
            "date": "2024-03-01",
            "count": 1
          },
          {
            "date": "2024-03-04",
            "count": 3
          },
          {
            "date": "2024-03-05",
            "count": 1
          },
          {
            "date": "2024-03-10",
            "count": 1
          },
          {
            "date": "2024-03-11",
            "count": 3
          },
          {
            "date": "2024-03-15",
            "count": 1
          },
          {
            "date": "2024-03-16",
            "count": 1
          },
          {
            "date": "2024-03-17",
            "count": 2
          },
          {
            "date": "2024-03-21",
            "count": 1
          },
          {
            "date": "2024-03-23",
            "count": 1
          },
          {
            "date": "2024-03-25",
            "count": 1
          },
          {
            "date": "2024-03-27",
            "count": 2
          },
          {
            "date": "2024-03-29",
            "count": 1
          },
          {
            "date": "2024-04-02",
            "count": 1
          },
          {
            "date": "2024-04-05",
            "count": 2
          },
          {
            "date": "2024-04-07",
            "count": 1
          },
          {
            "date": "2024-04-11",
            "count": 1
          },
          {
            "date": "2024-04-20",
            "count": 2
          },
          {
            "date": "2024-04-21",
            "count": 1
          },
          {
            "date": "2024-04-22",
            "count": 2
          },
          {
            "date": "2024-04-26",
            "count": 1
          },
          {
            "date": "2024-04-27",
            "count": 1
          },
          {
            "date": "2024-05-01",
            "count": 3
          },
          {
            "date": "2024-05-02",
            "count": 1
          },
          {
            "date": "2024-05-09",
            "count": 1
          },
          {
            "date": "2024-05-11",
            "count": 1
          },
          {
            "date": "2024-05-14",
            "count": 1
          },
          {
            "date": "2024-05-15",
            "count": 2
          },
          {
            "date": "2024-05-18",
            "count": 1
          },
          {
            "date": "2024-05-20",
            "count": 2
          },
          {
            "date": "2024-05-21",
            "count": 3
          },
          {
            "date": "2024-05-22",
            "count": 1
          },
          {
            "date": "2024-05-24",
            "count": 1
          },
          {
            "date": "2024-05-25",
            "count": 1
          },
          {
            "date": "2024-05-26",
            "count": 1
          },
          {
            "date": "2024-05-27",
            "count": 1
          },
          {
            "date": "2024-05-28",
            "count": 2
          },
          {
            "date": "2024-05-29",
            "count": 1
          },
          {
            "date": "2024-06-01",
            "count": 1
          },
          {
            "date": "2024-06-05",
            "count": 1
          },
          {
            "date": "2024-06-06",
            "count": 1
          },
          {
            "date": "2024-06-09",
            "count": 1
          },
          {
            "date": "2024-06-12",
            "count": 1
          },
          {
            "date": "2024-06-13",
            "count": 2
          },
          {
            "date": "2024-06-20",
            "count": 1
          },
          {
            "date": "2024-06-21",
            "count": 1
          },
          {
            "date": "2024-06-22",
            "count": 1
          },
          {
            "date": "2024-06-25",
            "count": 2
          },
          {
            "date": "2024-06-27",
            "count": 1
          },
          {
            "date": "2024-07-01",
            "count": 1
          },
          {
            "date": "2024-07-03",
            "count": 1
          },
          {
            "date": "2024-07-06",
            "count": 1
          },
          {
            "date": "2024-07-09",
            "count": 2
          },
          {
            "date": "2024-07-11",
            "count": 1
          },
          {
            "date": "2024-07-12",
            "count": 1
          },
          {
            "date": "2024-07-13",
            "count": 1
          },
          {
            "date": "2024-07-17",
            "count": 2
          },
          {
            "date": "2024-07-19",
            "count": 1
          },
          {
            "date": "2024-07-20",
            "count": 1
          },
          {
            "date": "2024-07-22",
            "count": 1
          },
          {
            "date": "2024-07-24",
            "count": 1
          },
          {
            "date": "2024-07-26",
            "count": 1
          },
          {
            "date": "2024-07-30",
            "count": 1
          },
          {
            "date": "2024-07-31",
            "count": 1
          },
          {
            "date": "2024-08-02",
            "count": 1
          },
          {
            "date": "2024-08-05",
            "count": 1
          },
          {
            "date": "2024-08-08",
            "count": 2
          },
          {
            "date": "2024-08-10",
            "count": 1
          },
          {
            "date": "2024-08-13",
            "count": 1
          },
          {
            "date": "2024-08-14",
            "count": 2
          },
          {
            "date": "2024-08-16",
            "count": 2
          },
          {
            "date": "2024-08-17",
            "count": 1
          },
          {
            "date": "2024-08-21",
            "count": 1
          },
          {
            "date": "2024-08-26",
            "count": 1
          },
          {
            "date": "2024-09-02",
            "count": 1
          },
          {
            "date": "2024-09-03",
            "count": 1
          },
          {
            "date": "2024-09-04",
            "count": 1
          },
          {
            "date": "2024-09-08",
            "count": 1
          },
          {
            "date": "2024-09-09",
            "count": 1
          },
          {
            "date": "2024-09-10",
            "count": 1
          },
          {
            "date": "2024-09-13",
            "count": 2
          },
          {
            "date": "2024-09-14",
            "count": 1
          },
          {
            "date": "2024-09-15",
            "count": 1
          },
          {
            "date": "2024-09-19",
            "count": 1
          },
          {
            "date": "2024-09-20",
            "count": 1
          },
          {
            "date": "2024-09-24",
            "count": 1
          },
          {
            "date": "2024-09-25",
            "count": 1
          },
          {
            "date": "2024-09-27",
            "count": 1
          },
          {
            "date": "2024-09-28",
            "count": 1
          },
          {
            "date": "2024-09-30",
            "count": 1
          },
          {
            "date": "2024-10-02",
            "count": 1
          },
          {
            "date": "2024-10-03",
            "count": 1
          },
          {
            "date": "2024-10-04",
            "count": 1
          },
          {
            "date": "2024-10-05",
            "count": 1
          },
          {
            "date": "2024-10-08",
            "count": 2
          },
          {
            "date": "2024-10-09",
            "count": 1
          },
          {
            "date": "2024-10-12",
            "count": 1
          },
          {
            "date": "2024-10-15",
            "count": 1
          },
          {
            "date": "2024-10-16",
            "count": 2
          },
          {
            "date": "2024-10-17",
            "count": 1
          },
          {
            "date": "2024-10-19",
            "count": 1
          },
          {
            "date": "2024-10-21",
            "count": 4
          },
          {
            "date": "2024-10-24",
            "count": 1
          },
          {
            "date": "2024-10-28",
            "count": 1
          },
          {
            "date": "2024-10-30",
            "count": 1
          },
          {
            "date": "2024-10-31",
            "count": 1
          },
          {
            "date": "2024-11-03",
            "count": 1
          },
          {
            "date": "2024-11-06",
            "count": 1
          },
          {
            "date": "2024-11-09",
            "count": 3
          },
          {
            "date": "2024-11-11",
            "count": 1
          },
          {
            "date": "2024-11-12",
            "count": 1
          },
          {
            "date": "2024-11-13",
            "count": 1
          },
          {
            "date": "2024-11-14",
            "count": 1
          },
          {
            "date": "2024-11-15",
            "count": 1
          },
          {
            "date": "2024-11-19",
            "count": 1
          },
          {
            "date": "2024-11-20",
            "count": 1
          },
          {
            "date": "2024-11-21",
            "count": 2
          },
          {
            "date": "2024-11-24",
            "count": 1
          },
          {
            "date": "2024-11-28",
            "count": 1
          },
          {
            "date": "2024-12-04",
            "count": 1
          },
          {
            "date": "2024-12-13",
            "count": 1
          },
          {
            "date": "2024-12-22",
            "count": 1
          },
          {
            "date": "2024-12-27",
            "count": 1
          },
          {
            "date": "2024-12-28",
            "count": 1
          },
          {
            "date": "2024-12-29",
            "count": 1
          },
          {
            "date": "2024-12-30",
            "count": 1
          },
          {
            "date": "2025-01-03",
            "count": 1
          },
          {
            "date": "2025-01-06",
            "count": 1
          },
          {
            "date": "2025-01-07",
            "count": 1
          },
          {
            "date": "2025-01-08",
            "count": 1
          },
          {
            "date": "2025-01-09",
            "count": 1
          },
          {
            "date": "2025-01-10",
            "count": 1
          },
          {
            "date": "2025-01-22",
            "count": 1
          },
          {
            "date": "2025-01-24",
            "count": 1
          },
          {
            "date": "2025-01-27",
            "count": 3
          },
          {
            "date": "2025-01-29",
            "count": 1
          },
          {
            "date": "2025-02-05",
            "count": 2
          },
          {
            "date": "2025-02-08",
            "count": 3
          },
          {
            "date": "2025-02-11",
            "count": 1
          },
          {
            "date": "2025-02-12",
            "count": 2
          },
          {
            "date": "2025-02-13",
            "count": 1
          },
          {
            "date": "2025-02-15",
            "count": 2
          },
          {
            "date": "2025-02-19",
            "count": 1
          },
          {
            "date": "2025-02-20",
            "count": 1
          },
          {
            "date": "2025-02-21",
            "count": 1
          },
          {
            "date": "2025-02-23",
            "count": 1
          },
          {
            "date": "2025-02-25",
            "count": 1
          },
          {
            "date": "2025-02-27",
            "count": 1
          },
          {
            "date": "2025-03-03",
            "count": 1
          },
          {
            "date": "2025-03-04",
            "count": 1
          },
          {
            "date": "2025-03-06",
            "count": 1
          },
          {
            "date": "2025-03-07",
            "count": 1
          },
          {
            "date": "2025-03-09",
            "count": 1
          },
          {
            "date": "2025-03-13",
            "count": 1
          },
          {
            "date": "2025-03-19",
            "count": 1
          },
          {
            "date": "2025-03-21",
            "count": 1
          },
          {
            "date": "2025-03-24",
            "count": 2
          },
          {
            "date": "2025-03-27",
            "count": 1
          },
          {
            "date": "2025-03-28",
            "count": 1
          },
          {
            "date": "2025-03-30",
            "count": 2
          },
          {
            "date": "2025-04-01",
            "count": 1
          },
          {
            "date": "2025-04-02",
            "count": 1
          },
          {
            "date": "2025-04-04",
            "count": 1
          },
          {
            "date": "2025-04-06",
            "count": 2
          },
          {
            "date": "2025-04-07",
            "count": 1
          },
          {
            "date": "2025-04-08",
            "count": 1
          },
          {
            "date": "2025-04-11",
            "count": 1
          },
          {
            "date": "2025-04-12",
            "count": 1
          },
          {
            "date": "2025-04-13",
            "count": 1
          },
          {
            "date": "2025-04-16",
            "count": 1
          },
          {
            "date": "2025-04-20",
            "count": 1
          },
          {
            "date": "2025-04-21",
            "count": 2
          },
          {
            "date": "2025-04-22",
            "count": 2
          },
          {
            "date": "2025-04-24",
            "count": 1
          },
          {
            "date": "2025-04-26",
            "count": 2
          },
          {
            "date": "2025-04-30",
            "count": 1
          },
          {
            "date": "2025-05-03",
            "count": 1
          },
          {
            "date": "2025-05-05",
            "count": 1
          },
          {
            "date": "2025-05-06",
            "count": 1
          },
          {
            "date": "2025-05-07",
            "count": 1
          },
          {
            "date": "2025-05-18",
            "count": 1
          },
          {
            "date": "2025-05-21",
            "count": 1
          },
          {
            "date": "2025-05-23",
            "count": 2
          },
          {
            "date": "2025-05-24",
            "count": 1
          },
          {
            "date": "2025-05-30",
            "count": 1
          },
          {
            "date": "2025-06-02",
            "count": 1
          },
          {
            "date": "2025-06-03",
            "count": 1
          },
          {
            "date": "2025-06-06",
            "count": 1
          },
          {
            "date": "2025-06-16",
            "count": 1
          },
          {
            "date": "2025-06-17",
            "count": 3
          },
          {
            "date": "2025-06-19",
            "count": 1
          },
          {
            "date": "2025-06-24",
            "count": 1
          },
          {
            "date": "2025-06-26",
            "count": 1
          },
          {
            "date": "2025-06-28",
            "count": 1
          },
          {
            "date": "2025-07-06",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 1
          },
          {
            "date": "2025-07-12",
            "count": 1
          },
          {
            "date": "2025-07-15",
            "count": 1
          },
          {
            "date": "2025-07-17",
            "count": 1
          },
          {
            "date": "2025-07-23",
            "count": 1
          },
          {
            "date": "2025-07-25",
            "count": 1
          },
          {
            "date": "2025-07-26",
            "count": 1
          },
          {
            "date": "2025-07-30",
            "count": 1
          },
          {
            "date": "2025-08-02",
            "count": 1
          },
          {
            "date": "2025-08-04",
            "count": 1
          },
          {
            "date": "2025-08-12",
            "count": 1
          },
          {
            "date": "2025-08-16",
            "count": 1
          },
          {
            "date": "2025-08-18",
            "count": 2
          },
          {
            "date": "2025-08-23",
            "count": 1
          },
          {
            "date": "2025-08-26",
            "count": 2
          },
          {
            "date": "2025-08-28",
            "count": 2
          },
          {
            "date": "2025-09-02",
            "count": 1
          },
          {
            "date": "2025-09-07",
            "count": 1
          },
          {
            "date": "2025-09-12",
            "count": 1
          },
          {
            "date": "2025-09-13",
            "count": 2
          },
          {
            "date": "2025-09-15",
            "count": 1
          },
          {
            "date": "2025-09-17",
            "count": 1
          },
          {
            "date": "2025-09-20",
            "count": 2
          },
          {
            "date": "2025-09-21",
            "count": 1
          },
          {
            "date": "2025-09-22",
            "count": 1
          },
          {
            "date": "2025-09-29",
            "count": 1
          },
          {
            "date": "2025-10-04",
            "count": 2
          },
          {
            "date": "2025-10-05",
            "count": 1
          },
          {
            "date": "2025-10-09",
            "count": 2
          },
          {
            "date": "2025-10-10",
            "count": 1
          },
          {
            "date": "2025-10-14",
            "count": 2
          },
          {
            "date": "2025-10-16",
            "count": 1
          },
          {
            "date": "2025-10-17",
            "count": 1
          },
          {
            "date": "2025-10-19",
            "count": 1
          },
          {
            "date": "2025-10-23",
            "count": 1
          },
          {
            "date": "2025-10-25",
            "count": 1
          },
          {
            "date": "2025-11-07",
            "count": 2
          },
          {
            "date": "2025-11-09",
            "count": 3
          },
          {
            "date": "2025-11-15",
            "count": 1
          },
          {
            "date": "2025-11-20",
            "count": 1
          },
          {
            "date": "2025-11-24",
            "count": 1
          },
          {
            "date": "2025-11-27",
            "count": 1
          },
          {
            "date": "2025-11-29",
            "count": 1
          },
          {
            "date": "2025-11-30",
            "count": 2
          },
          {
            "date": "2025-12-05",
            "count": 1
          },
          {
            "date": "2025-12-10",
            "count": 1
          },
          {
            "date": "2025-12-11",
            "count": 1
          },
          {
            "date": "2025-12-12",
            "count": 1
          },
          {
            "date": "2025-12-16",
            "count": 2
          },
          {
            "date": "2025-12-17",
            "count": 1
          },
          {
            "date": "2025-12-18",
            "count": 1
          },
          {
            "date": "2025-12-21",
            "count": 1
          },
          {
            "date": "2026-01-02",
            "count": 1
          },
          {
            "date": "2026-01-04",
            "count": 2
          },
          {
            "date": "2026-01-07",
            "count": 1
          },
          {
            "date": "2026-01-09",
            "count": 2
          },
          {
            "date": "2026-01-10",
            "count": 1
          },
          {
            "date": "2026-01-13",
            "count": 1
          },
          {
            "date": "2026-01-16",
            "count": 1
          },
          {
            "date": "2026-01-21",
            "count": 1
          },
          {
            "date": "2026-01-25",
            "count": 1
          },
          {
            "date": "2026-02-03",
            "count": 1
          },
          {
            "date": "2026-02-06",
            "count": 1
          },
          {
            "date": "2026-02-08",
            "count": 2
          },
          {
            "date": "2026-02-12",
            "count": 1
          },
          {
            "date": "2026-02-18",
            "count": 1
          },
          {
            "date": "2026-02-19",
            "count": 1
          },
          {
            "date": "2026-02-27",
            "count": 1
          },
          {
            "date": "2026-03-08",
            "count": 1
          },
          {
            "date": "2026-03-12",
            "count": 1
          },
          {
            "date": "2026-03-27",
            "count": 1
          },
          {
            "date": "2026-03-30",
            "count": 1
          },
          {
            "date": "2026-04-02",
            "count": 2
          },
          {
            "date": "2026-04-03",
            "count": 1
          },
          {
            "date": "2026-04-04",
            "count": 2
          },
          {
            "date": "2026-04-07",
            "count": 1
          },
          {
            "date": "2026-04-09",
            "count": 1
          },
          {
            "date": "2026-04-12",
            "count": 1
          },
          {
            "date": "2026-04-13",
            "count": 1
          },
          {
            "date": "2026-04-15",
            "count": 1
          },
          {
            "date": "2026-04-18",
            "count": 1
          },
          {
            "date": "2026-04-24",
            "count": 1
          },
          {
            "date": "2026-04-25",
            "count": 2
          },
          {
            "date": "2026-04-26",
            "count": 1
          },
          {
            "date": "2026-04-30",
            "count": 1
          },
          {
            "date": "2026-05-10",
            "count": 2
          },
          {
            "date": "2026-05-11",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 1
          },
          {
            "date": "2026-05-15",
            "count": 2
          },
          {
            "date": "2026-05-17",
            "count": 2
          },
          {
            "date": "2026-05-18",
            "count": 1
          },
          {
            "date": "2026-05-22",
            "count": 1
          },
          {
            "date": "2026-05-31",
            "count": 1
          },
          {
            "date": "2026-06-02",
            "count": 2
          },
          {
            "date": "2026-06-03",
            "count": 1
          },
          {
            "date": "2026-06-04",
            "count": 1
          },
          {
            "date": "2026-06-05",
            "count": 1
          },
          {
            "date": "2026-06-11",
            "count": 1
          },
          {
            "date": "2026-06-15",
            "count": 1
          },
          {
            "date": "2026-06-19",
            "count": 1
          },
          {
            "date": "2026-06-28",
            "count": 1
          },
          {
            "date": "2026-06-29",
            "count": 1
          },
          {
            "date": "2026-07-03",
            "count": 1
          },
          {
            "date": "2026-07-04",
            "count": 1
          },
          {
            "date": "2026-07-17",
            "count": 1
          },
          {
            "date": "2026-07-18",
            "count": 1
          },
          {
            "date": "2026-07-20",
            "count": 2
          }
        ],
        "complete": false,
        "collected": 1000,
        "total_stars": 6037
      },
      "open_issues_and_prs": 23
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 14547,
      "source_files_sampled": 11,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "Gemfile"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "concurrent-ruby",
            "direct": false,
            "version": "1.3.6",
            "severity": "high",
            "ecosystem": "rubygems",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-6wx8-w4f5-wwcr",
              "GHSA-h8w8-99g7-qmvj",
              "GHSA-wv3x-4vxv-whpp"
            ],
            "fixed_version": "1.3.7",
            "advisory_count": 3,
            "oldest_advisory_days": 32
          },
          {
            "name": "nokogiri",
            "direct": false,
            "version": "1.19.3",
            "severity": "moderate",
            "ecosystem": "rubygems",
            "cvss_score": 6.5,
            "advisory_ids": [
              "GHSA-5prr-v3j2-97mh",
              "GHSA-5v8h-3h3q-446p",
              "GHSA-8678-w3jw-xfc2",
              "GHSA-9cv2-cfxc-v4v2",
              "GHSA-p67v-3w7g-wjg7",
              "GHSA-phwj-rprq-35pp",
              "GHSA-wfpw-mmfh-qq69",
              "GHSA-wjv4-x9w8-wm3h"
            ],
            "fixed_version": "1.19.4",
            "advisory_count": 8,
            "oldest_advisory_days": 32
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 1,
          "moderate": 1
        },
        "advisory_count": 11,
        "affected_count": 2,
        "assessed_count": 55,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 8,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "rubygems"
      ],
      "dependencies": [
        {
          "name": "redcarpet",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": null
        },
        {
          "name": "kramdown",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": null
        },
        {
          "name": "RedCloth",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": null
        },
        {
          "name": "commonmarker",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": "~> 2.8.2"
        },
        {
          "name": "rdoc",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": "~> 7.2.0"
        },
        {
          "name": "org-ruby",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": "0.9.12"
        },
        {
          "name": "creole",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": "~>0.5.0"
        },
        {
          "name": "wikicloth",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": "=0.8.3"
        },
        {
          "name": "twitter-text",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": "~> 1.14"
        },
        {
          "name": "asciidoctor",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": "~> 2.0.26"
        },
        {
          "name": "rexml",
          "manifest": "Gemfile",
          "ecosystem": "rubygems",
          "version_constraint": null
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "asciidoctor",
            "direct": true,
            "version": "2.0.26",
            "ecosystem": "rubygems"
          },
          {
            "name": "commonmarker",
            "direct": true,
            "version": "2.8.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "creole",
            "direct": true,
            "version": "0.5.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "org-ruby",
            "direct": true,
            "version": "0.9.12",
            "ecosystem": "rubygems"
          },
          {
            "name": "rdoc",
            "direct": true,
            "version": "7.2.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "redcarpet",
            "direct": true,
            "version": "3.6.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "RedCloth",
            "direct": true,
            "version": "4.3.4",
            "ecosystem": "rubygems"
          },
          {
            "name": "rexml",
            "direct": true,
            "version": "3.4.4",
            "ecosystem": "rubygems"
          },
          {
            "name": "twitter-text",
            "direct": true,
            "version": "1.14.7",
            "ecosystem": "rubygems"
          },
          {
            "name": "wikicloth",
            "direct": true,
            "version": "0.8.3",
            "ecosystem": "rubygems"
          },
          {
            "name": "activesupport",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "activesupport",
            "direct": false,
            "version": "8.1.3",
            "ecosystem": "rubygems"
          },
          {
            "name": "base64",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "bigdecimal",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "builder",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "cgi",
            "direct": false,
            "version": "0.5.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "charlock_holmes",
            "direct": false,
            "version": "0.7.9",
            "ecosystem": "rubygems"
          },
          {
            "name": "concurrent-ruby",
            "direct": false,
            "version": "1.3.6",
            "ecosystem": "rubygems"
          },
          {
            "name": "connection_pool",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "date",
            "direct": false,
            "version": "3.5.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "docile",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "drb",
            "direct": false,
            "version": "2.2.3",
            "ecosystem": "rubygems"
          },
          {
            "name": "erb",
            "direct": false,
            "version": "6.0.4",
            "ecosystem": "rubygems"
          },
          {
            "name": "expression_parser",
            "direct": false,
            "version": "0.9.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "github-linguist",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "github-linguist",
            "direct": false,
            "version": "9.5.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "html-pipeline",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "html-pipeline",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "rubygems"
          },
          {
            "name": "htmlentities",
            "direct": false,
            "version": "4.3.4",
            "ecosystem": "rubygems"
          },
          {
            "name": "i18n",
            "direct": false,
            "version": "1.14.8",
            "ecosystem": "rubygems"
          },
          {
            "name": "json",
            "direct": false,
            "version": "2.19.5",
            "ecosystem": "rubygems"
          },
          {
            "name": "logger",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "mini_mime",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "rubygems"
          },
          {
            "name": "mini_portile2",
            "direct": false,
            "version": "2.8.9",
            "ecosystem": "rubygems"
          },
          {
            "name": "minitest",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "minitest",
            "direct": false,
            "version": "6.0.6",
            "ecosystem": "rubygems"
          },
          {
            "name": "nokogiri",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "nokogiri",
            "direct": false,
            "version": "1.19.3",
            "ecosystem": "rubygems"
          },
          {
            "name": "nokogiri-diff",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "nokogiri-diff",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "prism",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "psych",
            "direct": false,
            "version": "5.3.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "racc",
            "direct": false,
            "version": "1.8.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "rake",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "rake",
            "direct": false,
            "version": "13.4.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "rake-compiler-dock",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "rb_sys",
            "direct": false,
            "version": "0.9.128",
            "ecosystem": "rubygems"
          },
          {
            "name": "rubypants",
            "direct": false,
            "version": "0.7.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "rugged",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "securerandom",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "selma",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "simplecov",
            "direct": false,
            "version": null,
            "ecosystem": "rubygems"
          },
          {
            "name": "simplecov",
            "direct": false,
            "version": "0.22.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "simplecov-html",
            "direct": false,
            "version": "0.13.2",
            "ecosystem": "rubygems"
          },
          {
            "name": "simplecov_json_formatter",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "rubygems"
          },
          {
            "name": "stringio",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "tdiff",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "tsort",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "rubygems"
          },
          {
            "name": "tzinfo",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "rubygems"
          },
          {
            "name": "unf",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "rubygems"
          },
          {
            "name": "unf_ext",
            "direct": false,
            "version": "0.0.9.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "uri",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "rubygems"
          },
          {
            "name": "zeitwerk",
            "direct": false,
            "version": "2.8.2",
            "ecosystem": "rubygems"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 63,
        "direct_count": 10,
        "indirect_count": 53
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 3,
        "merged_prs": 206,
        "open_issues": 20,
        "closed_ratio": 0.983,
        "closed_issues": 1170,
        "closed_unmerged_prs": 210
      },
      "bus_factor": 4,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "bkeepers",
          "commits": 98,
          "avatar_url": "https://avatars.githubusercontent.com/u/173?v=4"
        },
        {
          "type": "User",
          "login": "defunkt",
          "commits": 91,
          "avatar_url": "https://avatars.githubusercontent.com/u/2?v=4"
        },
        {
          "type": "User",
          "login": "gjtorikian",
          "commits": 86,
          "avatar_url": "https://avatars.githubusercontent.com/u/64050?v=4"
        },
        {
          "type": "User",
          "login": "zkoppert",
          "commits": 65,
          "avatar_url": "https://avatars.githubusercontent.com/u/6935431?v=4"
        },
        {
          "type": "User",
          "login": "kivikakk",
          "commits": 53,
          "avatar_url": "https://avatars.githubusercontent.com/u/1915?v=4"
        },
        {
          "type": "User",
          "login": "jmeridth",
          "commits": 29,
          "avatar_url": "https://avatars.githubusercontent.com/u/35014?v=4"
        },
        {
          "type": "User",
          "login": "theory",
          "commits": 15,
          "avatar_url": "https://avatars.githubusercontent.com/u/46604?v=4"
        },
        {
          "type": "User",
          "login": "maxbeizer",
          "commits": 9,
          "avatar_url": "https://avatars.githubusercontent.com/u/2006658?v=4"
        },
        {
          "type": "User",
          "login": "JJ",
          "commits": 9,
          "avatar_url": "https://avatars.githubusercontent.com/u/500?v=4"
        },
        {
          "type": "User",
          "login": "bartkamphorst",
          "commits": 9,
          "avatar_url": "https://avatars.githubusercontent.com/u/571173?v=4"
        }
      ],
      "contributors_sampled": 91,
      "top_contributor_share": 0.155
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "stale.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "Gemfile.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 5,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "13 out of 13 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 3,
            "reason": "Found 1/3 approved changesets -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 62 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 4,
            "reason": "dependency not pinned by hash detected -- score normalized to 4",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool is run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 9,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "11 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "a365c64ef765f3677ed50947081d29b863b6ff4c",
        "ran_at": "2026-07-22T00:38:56Z",
        "aggregate_score": 6.5,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-21T12:38:03Z",
      "oldest_open_prs": [
        {
          "number": 1935,
          "created_at": "2025-03-04T02:33:01Z",
          "last_comment_at": "2026-04-25T15:43:02Z",
          "last_comment_author": "jdknight"
        },
        {
          "number": 2074,
          "created_at": "2026-06-14T00:46:32Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2076,
          "created_at": "2026-06-21T04:08:20Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-15T11:00:48Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 83,
          "created_at": "2011-10-05T14:23:20Z",
          "last_comment_at": "2026-07-12T12:39:28Z",
          "last_comment_author": "marshallward"
        },
        {
          "number": 1095,
          "created_at": "2017-08-21T08:03:43Z",
          "last_comment_at": "2026-06-05T15:47:42Z",
          "last_comment_author": "jseguillon"
        },
        {
          "number": 1253,
          "created_at": "2019-01-23T12:57:15Z",
          "last_comment_at": "2026-05-31T15:16:20Z",
          "last_comment_author": "karenetheridge"
        },
        {
          "number": 1286,
          "created_at": "2019-07-28T03:17:13Z",
          "last_comment_at": "2026-06-03T14:05:59Z",
          "last_comment_author": "ysangkok"
        },
        {
          "number": 1443,
          "created_at": "2021-02-15T08:52:04Z",
          "last_comment_at": "2026-07-18T16:01:01Z",
          "last_comment_author": "BujuArena"
        },
        {
          "number": 1689,
          "created_at": "2023-05-03T19:29:38Z",
          "last_comment_at": "2026-06-26T14:35:48Z",
          "last_comment_author": "shoelzer"
        },
        {
          "number": 1760,
          "created_at": "2024-01-09T16:04:52Z",
          "last_comment_at": "2026-04-24T06:05:11Z",
          "last_comment_author": "zkoppert"
        },
        {
          "number": 1774,
          "created_at": "2024-02-03T12:02:06Z",
          "last_comment_at": "2026-06-03T15:54:29Z",
          "last_comment_author": "roke-julian-lockhart"
        },
        {
          "number": 1851,
          "created_at": "2024-08-04T18:49:07Z",
          "last_comment_at": "2026-07-01T21:33:13Z",
          "last_comment_author": "roke-julian-lockhart"
        },
        {
          "number": 2006,
          "created_at": "2025-10-26T13:56:28Z",
          "last_comment_at": "2026-07-07T13:09:05Z",
          "last_comment_author": "roke-julian-lockhart"
        },
        {
          "number": 2025,
          "created_at": "2026-01-15T13:04:14Z",
          "last_comment_at": "2026-05-22T16:33:36Z",
          "last_comment_author": "roke-julian-lockhart"
        },
        {
          "number": 2029,
          "created_at": "2026-02-27T11:28:24Z",
          "last_comment_at": "2026-06-03T15:56:59Z",
          "last_comment_author": "roke-julian-lockhart"
        },
        {
          "number": 2037,
          "created_at": "2026-03-18T14:43:19Z",
          "last_comment_at": "2026-07-19T16:08:27Z",
          "last_comment_author": "roke-julian-lockhart"
        },
        {
          "number": 2038,
          "created_at": "2026-03-31T17:41:44Z",
          "last_comment_at": "2026-05-31T14:50:37Z",
          "last_comment_author": "roke-julian-lockhart"
        },
        {
          "number": 2044,
          "created_at": "2026-04-16T20:04:16Z",
          "last_comment_at": "2026-06-16T15:48:08Z",
          "last_comment_author": "roke-julian-lockhart"
        },
        {
          "number": 2045,
          "created_at": "2026-04-17T17:52:31Z",
          "last_comment_at": "2026-05-24T19:00:57Z",
          "last_comment_author": "BraianS"
        },
        {
          "number": 2054,
          "created_at": "2026-04-24T16:16:08Z",
          "last_comment_at": "2026-07-07T21:42:12Z",
          "last_comment_author": "asclepiadae"
        },
        {
          "number": 2077,
          "created_at": "2026-06-22T02:20:55Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 2084,
          "created_at": "2026-07-01T13:19:41Z",
          "last_comment_at": "2026-07-07T02:31:22Z",
          "last_comment_author": "bakano69-del"
        },
        {
          "number": 2091,
          "created_at": "2026-07-20T16:04:26Z",
          "last_comment_at": "2026-07-21T01:18:01Z",
          "last_comment_author": "galavizmoralessandrayesenia0-afk"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/github/markup",
    "host": "github.com",
    "name": "markup",
    "owner": "github"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 77,
      "inputs": {
        "security": 72,
        "vitality": 75,
        "community": 94,
        "governance": 83,
        "engineering": 61
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 75,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "commits_last_year": 91,
              "human_commit_share": 0.7,
              "days_since_last_push": 6,
              "active_weeks_last_year": 17
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 6 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "17/52 weeks with commits",
                "points": 11.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 17
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "91 commits in the last year",
                "points": 17.6,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 91
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "releases_count": 22,
              "latest_release_tag": "v6.0.0",
              "releases_from_tags": false,
              "days_since_latest_release": 78,
              "mean_days_between_releases": 306.6
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "22 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 22
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 78 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 78
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~306.6 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 306.6
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 11,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 11 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 11
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "excellent",
        "name": "Community & Adoption",
        "value": 94,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "forks": 3368,
              "stars": 6037,
              "watchers": 614,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "6,037 stars",
                "points": 60,
                "status": "met",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 6037
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "3,368 forks",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 3368
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "614 watchers",
                "points": 15,
                "status": "met",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 614
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "excellent",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 97,
            "inputs": {
              "packages": [
                "github-markup"
              ],
              "dependents": null,
              "ecosystems": "rubygems",
              "total_downloads": 30915099,
              "monthly_downloads": null
            },
            "components": [
              {
                "key": "total_downloads",
                "name": "Total downloads",
                "detail": "30,915,099 downloads all-time across rubygems",
                "points": 77.8,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_total",
                    "params": {
                      "count": 30915099,
                      "ecosystems": "rubygems"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 83,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 86,
            "inputs": {
              "bus_factor": 4,
              "contributors_sampled": 91,
              "top_contributor_share": 0.155
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "4 contributor(s) cover half of all commits",
                "points": 43.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 16% of commits",
                "points": 19,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 16
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "91 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 91
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 62 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 69,
            "inputs": {
              "merged_prs": 206,
              "open_issues": 20,
              "closed_issues": 1170,
              "issue_closed_ratio": 0.983,
              "closed_unmerged_prs": 210
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "98% of issues closed",
                "points": 46,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 98
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "206/416 decided PRs merged",
                "points": 18.9,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 206,
                      "decided": 416
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 1/3 approved changesets -- score normalized to 3",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "followers": 80388,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "github",
              "public_repos": 556,
              "account_age_days": 6645
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "80,388 followers of github",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 80388,
                      "login": "github"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "556 public repos, account ~18 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 556
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 18
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "github-markup"
              ],
              "ecosystems": "rubygems",
              "any_deprecated": false,
              "min_days_since_publish": 77
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on rubygems",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "rubygems"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 77 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 77
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "66 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 66
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 61,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "13 out of 13 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "topics": [
                "readme"
              ],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "1 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "good",
        "name": "Security",
        "value": 72,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 65,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 6.5
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 3.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "13 out of 13 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 1/3 approved changesets -- score normalized to 3",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 62 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 4",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is run on all commits",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 6.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "11 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 55 resolved dependencies against OSV; 8 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 55
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 8
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 11,
              "affected_packages": 2,
              "assessed_packages": 55,
              "unassessed_packages": 8,
              "affected_by_severity": "high 1, moderate 1",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 55,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 23
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 49,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.986,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "69 of 70 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 69,
                      "sampled": 70
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 54,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "Gemfile.lock"
              ],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0.32,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.3
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "32 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 32,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "30 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 30,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 4",
                "points": 4,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "Ruby",
              "largest_source_bytes": 14547,
              "source_files_sampled": 11,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Ruby without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Ruby"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/11 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 11,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [],
  "report_type": "repository",
  "generated_at": "2026-07-22T00:39:27.377314Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/github/markup.svg",
  "full_name": "github/markup",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Bewertungen sind Signale, keine Garantien. Sie spiegeln öffentlich sichtbare Praxis auf GitHub wider — kein Code-Audit und keine Sicherheitsgarantie.

Fehlende Daten werden ausgeschlossen und die Gewichte neu normiert, nie als null bewertet. Die Methodik ist versioniert und offen: Metriken v1.13.0, Schema v0.26.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte StatistikenRubyGems.