Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.26.0 · метрики 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 зірок⑂ 3 368 форківз жовт. 2009 р.Переглянути на GitHub ↗

github/markup має індекс здоров’я 77 зі 100, що відповідає смузі «Добрий». Найвищий показник — Community & Adoption (94/100), найнижчий — AI Readiness (49/100). Останнє оновлення було 6 днів тому. Більшість нещодавньої роботи виконують 4 учасники.

77
загалом / 100
Добрий

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє середнє; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 49 («Під ризиком»). Готовність до ШІ не входить до індексу.

77
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Власність

GitHubОрганізація
80 388 підписників556 публічних репозиторіївз трав. 2008 р.

За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікація
RubyGemsgithub-markup6.0.0-6677 днів тому

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

75Добрий · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 6 дн. тому
11.8/36Ритм комітів — 17/52 тижнів із комітами
17.6/18Обсяг комітів — 91 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year91
human_commit_share0,7
days_since_last_push6
active_weeks_last_year17
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 22 релізів
36/36Свіжість релізів — останній реліз 78 дн. тому
12.6/27Ритм релізів — реліз кожні ~306,6 дн.
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Використані вхідні дані
releases_count22
latest_release_tagv6.0.0
releases_from_tagsні
days_since_latest_release78
mean_days_between_releases306,6

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

94Відмінний · 18% загального індексу
Як обчислюється оцінка
60/60Зірки — 6 037 зірок
25/25Форки — 3 368 форків
15/15Спостерігачі — 614 спостерігачів
Використані вхідні дані
forks3 368
stars6 037
watchers614
growth_stateorganic
growth_factor_pct100
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
18/18Настанови CONTRIBUTING
13.5/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingтак
has_issue_templateні
has_code_of_conductтак
has_pull_request_templateні
Як обчислюється оцінка
77.8/80Сумарні завантаження — 30 915 099 завантажень за весь час у rubygems
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packagesgithub-markup
dependents
ecosystemsrubygems
total_downloads30 915 099
monthly_downloads
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

83Добрий · 24% загального індексу
Як обчислюється оцінка
43.2/54Бас-фактор — на 4 контриб’ютор(ів) припадає половина всіх комітів
19/22.5Розподіл комітів — головний контриб’ютор — автор 16% комітів
13.5/13.5Широта контриб’юторів — 91 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 62 contributing companies or organizations
Використані вхідні дані
bus_factor4
contributors_sampled91
top_contributor_share0,155
Як обчислюється оцінка
46/46.8Вирішення issue — закрито 98% issue
18.9/38.3Прийняття PR — злито 206/416 вирішених PR
4.5/15OpenSSF Scorecard: Code-Review — Found 1/3 approved changesets -- score normalized to 3
Використані вхідні дані
merged_prs206
open_issues20
closed_issues1 170
issue_closed_ratio0,983
closed_unmerged_prs210
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
25/25Охоплення власника — 80 388 підписників у github
25/25Послужний список — 556 публічних репозиторіїв, вік облікового запису ~18 р.
Використані вхідні дані
followers80 388
owner_typeOrganization
is_verified
owner_logingithub
public_repos556
account_age_days6 645

Супровід пакетів

100Відмінний
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у rubygems
35/35Свіжість публікацій — остання публікація 77 дн. тому
20/20Історія версій — 66 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesgithub-markup
ecosystemsrubygems
any_deprecatedні
min_days_since_publish77

Інженерна якість

Чи наявні базові інженерні практики та документація?

61Помірний · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 2 процес(ів) CI
24/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 13 out of 13 merged PRs checked by a CI test -- score normalized to 10
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configні
has_precommit_configні

Документація

50Помірний
Як обчислюється оцінка
30/30README
0/25Каталог документації
0/15Сайт документації / домашня сторінка
10/10Опис репозиторію
10/10Теми — 1 тем
0/10Wiki
Використані вхідні дані
topicsreadme
has_wikiні
homepage
has_readmeтак
has_docs_dirні
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

72Добрий · 16% загального індексу

Стан безпеки

65Помірний
Як обчислюється оцінка
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.5Ліцензія — 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 — немає даних
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
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate6,5
Виключено з оцінювання (немає даних або не застосовно): packaging. Залишкові ваги перенормовано.
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
0/40Немає задавнених сповіщень — жодне сповіщення не має дати публікації
Використані вхідні дані
sourceosv
advisories11
affected_packages2
assessed_packages55
unassessed_packages8
affected_by_severityhigh 1, moderate 1
direct_affected_packages0
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень, Немає задавнених сповіщень. Залишкові ваги перенормовано. Звірено 55 резолвлених залежностей із OSV. 8 не вдалося оцінити — немає резолвленої версії, непідтримувана екосистема або поза межами звітованого переліку пакетів. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

49У зоні ризику · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 69 з 70 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,986
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
0/18Розгортання однією командою
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
0/11Статична перевірка типів
10/10Відтворюване середовище — lockfile
10/10Підтверджена практика роботи з агентами — 32 з останніх 100 комітів створено агентом або з його зазначенням
8/8Автоматизоване супроводження — 30 з останніх 100 комітів — автоматичні оновлення залежностей
4/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 4
Використані вхідні дані
has_nixні
has_testsтак
lockfilesGemfile.lock
has_dockerfileні
typed_languageні
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configs
agent_commit_share0,32
toolchain_manifests
dependency_bot_commit_share0,3
Як обчислюється оцінка
0/45Типізований код — Ruby без конфігурації перевірки типів
55/55Керовані розміри файлів — 0/11 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageRuby
largest_source_bytes14 547
source_files_sampled11
oversized_source_files0

Ключові факти

6 037зірок GitHub
91контриб'юторів
91комітів за останні 12 місяців
6днів від останнього пушу
22релізів
4бас-фактор
20відкритих issue
RubyGemsпакетних екосистем

Докладніше

Історія зірок і форків 6 037 ★ / 3 368 ⇿
6 037Зірки
3 368Форки
17Релізи

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

Показано лише найновішу історію — цей репозиторій перевищує вікно збору, тож найраніша історія не захоплена.

1 2502 5003 7505 0006 2506 0373 368162017-032021-112026-07
Мажорні 4Мінорні 3Патчі 10

Кожна точка охоплює 9 днів.

OpenSSF Scorecard 6.5 / 10
6.5сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).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
н/д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
Прямі залежності 11
РеєстрПакетОбмеження версіїМаніфест
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
Усі залежності 63

Повний розв'язаний набір залежностей із графа залежностей GitHub: 10 прямих і 53 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

РеєстрПакетВерсіяЗв'язок
RubyGemsasciidoctor2.0.26пряма
RubyGemscommonmarker2.8.2пряма
RubyGemscreole0.5.0пряма
RubyGemsorg-ruby0.9.12пряма
RubyGemsrdoc7.2.0пряма
RubyGemsredcarpet3.6.1пряма
RubyGemsRedCloth4.3.4пряма
RubyGemsrexml3.4.4пряма
RubyGemstwitter-text1.14.7пряма
RubyGemswikicloth0.8.3пряма
RubyGemsactivesupportнепряма
RubyGemsactivesupport8.1.3непряма
RubyGemsbase640.3.0непряма
RubyGemsbigdecimal4.1.2непряма
RubyGemsbuilder3.3.0непряма
RubyGemscgi0.5.1непряма
RubyGemscharlock_holmes0.7.9непряма
RubyGemsconcurrent-ruby1.3.6непряма
RubyGemsconnection_pool3.0.2непряма
RubyGemsdate3.5.1непряма
RubyGemsdocile1.4.1непряма
RubyGemsdrb2.2.3непряма
RubyGemserb6.0.4непряма
RubyGemsexpression_parser0.9.0непряма
RubyGemsgithub-linguistнепряма
RubyGemsgithub-linguist9.5.0непряма
RubyGemshtml-pipelineнепряма
RubyGemshtml-pipeline3.2.4непряма
RubyGemshtmlentities4.3.4непряма
RubyGemsi18n1.14.8непряма
RubyGemsjson2.19.5непряма
RubyGemslogger1.7.0непряма
RubyGemsmini_mime1.1.5непряма
RubyGemsmini_portile22.8.9непряма
RubyGemsminitestнепряма
RubyGemsminitest6.0.6непряма
RubyGemsnokogiriнепряма
RubyGemsnokogiri1.19.3непряма
RubyGemsnokogiri-diffнепряма
RubyGemsnokogiri-diff0.3.0непряма
RubyGemsprism1.9.0непряма
RubyGemspsych5.3.1непряма
RubyGemsracc1.8.1непряма
RubyGemsrakeнепряма
RubyGemsrake13.4.2непряма
RubyGemsrake-compiler-dock1.12.0непряма
RubyGemsrb_sys0.9.128непряма
RubyGemsrubypants0.7.1непряма
RubyGemsrugged1.9.0непряма
RubyGemssecurerandom0.4.1непряма
RubyGemsselma0.5.0непряма
RubyGemssimplecovнепряма
RubyGemssimplecov0.22.0непряма
RubyGemssimplecov-html0.13.2непряма
RubyGemssimplecov_json_formatter0.1.4непряма
RubyGemsstringio3.2.0непряма
RubyGemstdiff0.4.0непряма
RubyGemstsort0.2.0непряма
RubyGemstzinfo2.0.6непряма
RubyGemsunf0.1.4непряма
RubyGemsunf_ext0.0.9.1непряма
RubyGemsuri1.1.1непряма
RubyGemszeitwerk2.8.2непряма
Сповіщення про залежності 2

Цей репозиторій не публікує пакета, який розпізнає індекс, тож оцінено його власний граф залежностей — 55 пакетів, серед яких є й піниї розробки та тестування, що ніколи не постачаються: 2 мають відомі сповіщення, з них 0 прямі. 8 не вдалося оцінити — немає резолвленої версії, непідтримувана екосистема або поза наведеним переліком пакетів.

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
concurrent-ruby1.3.6непрямависока31.3.7
nokogiri1.19.3непрямапомірна81.19.4

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний
{
  "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"
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v1.13.0, схема v0.26.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистикаRubyGems.