Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.27.0 · метрики 1.13.0 · 2026-07-25 06:07 UTC

deckarep / golang-set

A simple, battle-tested and generic set type for the Go language. Trusted by GoogleCloudPlatform, Docker, 1Password, Ethereum and Hashicorp.

GoВласна ліцензія★ 4 703 зірки⑂ 291 форкз лип. 2013 р.Переглянути на GitHub ↗

deckarep/golang-set має індекс здоров’я 30 зі 100, що відповідає смузі «У зоні ризику». Найвищий показник — Sustainability & Governance (75/100), найнижчий — Security (38/100). Останнє оновлення було 27 днів тому. Більшість нещодавньої роботи виконують 2 учасники.

30
загалом / 100
У зоні ризику

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

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

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

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

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

Політика юрисдикцій високого ризику застосовує множник 50% до зваженого загального індексу здоров’я і встановлює для нього межу «У зоні ризику» на рівні 49.

Власність

Ralph CaraveoОсобистий обліковий запис
245 підписників154 публічні репозиторіїз лют. 2010 р.

Цей репозиторій належить особистому обліковому запису. Проєкт з єдиним власником несе більший ризик безперервності, ніж підтримуваний організацією.

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

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікація
Gogithub.com/deckarep/golang-set/v2v2.9.0-1195 днів тому

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

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

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

57Помірний · 22% загального індексу

Активність розробки

45У зоні ризику
Як обчислюється оцінка
28.8/36Свіжість push — останній push 27 дн. тому
3.5/36Ритм комітів — 5/52 тижнів із комітами
9.7/18Обсяг комітів — 11 комітів за останній рік
3/10OpenSSF Scorecard: Maintained — 3 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 3
Використані вхідні дані
commits_last_year11
human_commit_share1
days_since_last_push27
active_weeks_last_year5
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 14 релізів
27/36Свіжість релізів — останній реліз 95 дн. тому
12.6/27Ритм релізів — реліз кожні ~164,2 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count14
latest_release_tagv2.9.0
releases_from_tagsні
days_since_latest_release95
mean_days_between_releases164,2
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

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

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

68Помірний · 18% загального індексу
Як обчислюється оцінка
59.6/60Зірки — 4 703 зірок
20.5/25Форки — 291 форків
9.3/15Спостерігачі — 48 спостерігачів
Використані вхідні дані
forks291
stars4 703
watchers48
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

Здоров'я спільноти

44У зоні ризику
Як обчислюється оцінка
22.5/22.5README
16.9/22.5Ліцензія — файл ліцензії наявний, не є визнаною ліцензією
0/18Настанови CONTRIBUTING
0/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ні

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

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

75Добрий · 24% загального індексу
Як обчислюється оцінка
25.2/54Бас-фактор — на 2 контриб’ютор(ів) припадає половина всіх комітів
11.9/22.5Розподіл комітів — головний контриб’ютор — автор 47% комітів
13.5/13.5Широта контриб’юторів — 43 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 17 contributing companies or organizations
Використані вхідні дані
bus_factor2
contributors_sampled43
top_contributor_share0,472
Як обчислюється оцінка
40.6/46.8Вирішення issue — закрито 87% issue
29.1/38.3Прийняття PR — злито 73/96 вирішених PR
10.5/15OpenSSF Scorecard: Code-Review — Found 22/30 approved changesets -- score normalized to 7
Використані вхідні дані
merged_prs73
open_issues11
closed_issues73
issue_closed_ratio0,869
closed_unmerged_prs23
Як обчислюється оцінка
10/30Підтримка власника — особистий (користувацький) обліковий запис
0/20Верифікований домен — не застосовно до користувацьких облікових записів
17.2/25Охоплення власника — 245 підписників у deckarep
25/25Послужний список — 154 публічних репозиторіїв, вік облікового запису ~16 р.
Використані вхідні дані
followers245
owner_typeUser
is_verified
owner_logindeckarep
public_repos154
account_age_days6 009
Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.

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

100Відмінний
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у go
35/35Свіжість публікацій — остання публікація 95 дн. тому
20/20Історія версій — 11 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesgithub.com/deckarep/golang-set/v2
ecosystemsgo
any_deprecatedні
min_days_since_publish95

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

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

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

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

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

Безпека

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

38У зоні ризику · 16% загального індексу

Стан безпеки

22Критичний
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — немає даних
1/2.5CI-Tests — 11 out of 27 merged PRs checked by a CI test -- score normalized to 4
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
5.2/7.5Code-Review — Found 22/30 approved changesets -- score normalized to 7
2.5/2.5Contributors — project has 17 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.2/2.5Ліцензія — license file detected
2.2/7.5Maintained — 3 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 3
0/5Packaging — немає даних
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate4,5
high_risk_jurisdiction_cap49
high_risk_jurisdiction_multiplier50
security_posture_after_multiplier22
security_posture_before_jurisdiction45
Виключено з оцінювання (немає даних або не застосовно): branch_protection, packaging, signed_releases. Залишкові ваги перенормовано. Політика юрисдикцій високого ризику застосовує множник 50% і встановлює для стану безпеки межу «У зоні ризику» на рівні 49.
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
0/40Немає задавнених сповіщень — жодне сповіщення не має дати публікації
Використані вхідні дані
sourceosv
advisories0
affected_packages0
assessed_packages1
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень, Немає задавнених сповіщень. Залишкові ваги перенормовано. Звірено 1 резолвлених залежностей із OSV. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

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

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

52Помірний · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
21.9/40Читабельна історія комітів — намір зазначено у 41 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,41
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
12.6/18Розгортання однією командою — go.mod (домовленість інструментарію, без раннера задач)
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — Go (статично типізована)
10/10Відтворюване середовище — lockfile
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Використані вхідні дані
has_nixні
has_testsтак
lockfilesgo.sum
has_dockerfileні
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configs
agent_commit_share0
toolchain_manifestsgo.mod
dependency_bot_commit_share0
Як обчислюється оцінка
45/45Типізований код — Go (статично типізована)
55/55Керовані розміри файлів — 0/15 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageGo
largest_source_bytes34 413
source_files_sampled15
oversized_source_files0

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

4 703зірок GitHub
43контриб'юторів
11комітів за останні 12 місяців
27днів від останнього пушу
14релізів
2бас-фактор
11відкритих issue
Goпакетних екосистем

Попередження щодо збору даних

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

Докладніше

Історія зірок і форків 0 ★ / 291 ⇿
0Зірки
291Форки
14Релізи

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

050100150200250300289102013-072020-012026-07
Мажорні 0Мінорні 9Патчі 2

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

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

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-25 06:06 UTC

10Binary-Artifactsno binaries found in the repo
н/дBranch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
4CI-Tests11 out of 27 merged PRs checked by a CI test -- score normalized to 4
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
7Code-ReviewFound 22/30 approved changesets -- score normalized to 7
10Contributorsproject has 17 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
9Licenselicense file detected
3Maintained3 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 3
н/дPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
н/дSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Прямі залежності 1
РеєстрПакетОбмеження версіїМаніфест
Gogo.mongodb.org/mongo-driverv1.17.9go.mod
Усі залежності 1

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

РеєстрПакетВерсіяЗв'язок
Gogo.mongodb.org/mongo-driverv1.17.9пряма
Сповіщення про залежності 0

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

Жодне відоме сповіщення не стосується оцінених залежностей.

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

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "go",
        "set",
        "threadsafe",
        "datastructures",
        "concurrency",
        "golang",
        "generics"
      ],
      "is_fork": false,
      "size_kb": 424,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "Go": 107738
      },
      "pushed_at": "2026-06-27T15:23:47Z",
      "created_at": "2013-07-03T21:52:01Z",
      "owner_type": "User",
      "updated_at": "2026-07-24T06:28:36Z",
      "description": "A simple, battle-tested and generic set type for the Go language. Trusted by GoogleCloudPlatform, Docker, 1Password, Ethereum and Hashicorp.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "main",
      "license_spdx_raw": "NOASSERTION",
      "primary_language": "Go",
      "significant_languages": [
        "Go"
      ]
    },
    "owner": {
      "blog": "https://medium.com/@deckarep",
      "name": "Ralph Caraveo",
      "type": "User",
      "login": "deckarep",
      "company": null,
      "location": "Los Angeles, CA",
      "followers": 245,
      "avatar_url": "https://avatars.githubusercontent.com/u/200686?v=4",
      "created_at": "2010-02-10T00:36:20Z",
      "is_verified": null,
      "public_repos": 154,
      "account_age_days": 6009
    },
    "license": {
      "state": "custom",
      "spdx_id": null,
      "raw_spdx": "NOASSERTION",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.9.0",
          "kind": "minor",
          "published_at": "2026-04-21T00:28:08Z"
        },
        {
          "tag": "v2.8.0",
          "kind": "minor",
          "published_at": "2025-03-14T21:38:26Z"
        },
        {
          "tag": "v2.7.0",
          "kind": "minor",
          "published_at": "2024-12-03T22:55:45Z"
        },
        {
          "tag": "v2.6.0",
          "kind": "minor",
          "published_at": "2023-12-26T19:18:37Z"
        },
        {
          "tag": "v2.5.0",
          "kind": "minor",
          "published_at": "2023-11-29T22:25:32Z"
        },
        {
          "tag": "v2.4.0",
          "kind": "minor",
          "published_at": "2023-11-21T17:42:46Z"
        },
        {
          "tag": "v2.3.1",
          "kind": "patch",
          "published_at": "2023-08-02T21:33:45Z"
        },
        {
          "tag": "v2.3.0",
          "kind": "minor",
          "published_at": "2023-03-14T17:30:55Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2023-03-05T20:49:00Z"
        },
        {
          "tag": "v2.1.0",
          "kind": "minor",
          "published_at": "2022-04-03T21:48:07Z"
        },
        {
          "tag": "v1.7.1",
          "kind": "patch",
          "published_at": "2018-09-15T02:17:45Z"
        },
        {
          "tag": "v1.7",
          "kind": "other",
          "published_at": "2017-11-05T20:34:23Z"
        },
        {
          "tag": "v1.6",
          "kind": "other",
          "published_at": "2017-02-02T20:32:19Z"
        },
        {
          "tag": "v1.5",
          "kind": "other",
          "published_at": "2015-11-10T16:55:47Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "da03b7639be5170e7b8fc7183b2d4663a4133419",
          "body": null,
          "is_bot": false,
          "headline": "Fix for CVE-2026-2303 (#186)",
          "author_name": "Bertold Kolics",
          "author_login": "bertold",
          "committed_at": "2026-06-27T15:23:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8bc9a608bc94c55847fb3d4314981cf2986b6786",
          "body": null,
          "is_bot": false,
          "headline": "call json.Marshal() directly (#180)",
          "author_name": "Hiroyuki Toda",
          "author_login": "mai7star",
          "committed_at": "2026-05-05T19:39:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6621cc401d65bd97bbe2e97293f1d624039fc2f3",
          "body": "* add Import() method\n\n* rename to AppendFrom()",
          "is_bot": false,
          "headline": "add AppendFrom() method (#178)",
          "author_name": "Hiroyuki Toda",
          "author_login": "mai7star",
          "committed_at": "2026-04-28T15:45:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3dfeb96abc5dd65ba3f1d35495b708b26eb4771",
          "body": null,
          "is_bot": false,
          "headline": "Update and use last 3 major versions for CI builds (#177)",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2026-04-25T19:34:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83adbae08fb813f615fc7efa7b10d0e32eca7284",
          "body": "Another nice win! Thanks for your contributions lately!",
          "is_bot": false,
          "headline": "use maps.Clone() in Go 1.21+ (#176)",
          "author_name": "Hiroyuki Toda",
          "author_login": "mai7star",
          "committed_at": "2026-04-25T19:28:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23f2c47cab5de55f0dd21ffa8fcab9b0e125735b",
          "body": "…mize loop traversal (#170)\n\n* 戻り値を使用しない Add() は add() に置き換える。スライスの走査をインデックスベースに変更\n\n* add append() methos which is private version of Append()\n\n* use append() / add() in construct ThreadSafeSet",
          "is_bot": false,
          "headline": "Replace unused return values from `Add()` calls with `add()` and opti…",
          "author_name": "Hiroyuki Toda",
          "author_login": "mai7star",
          "committed_at": "2026-04-25T04:05:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e731bff6ade95143e9723a4a3947d637e4a6b6c",
          "body": "New `Filter(func(T) bool) Set[T]` method added to the `Set` interface, providing a built-in way to derive a filtered subset based on an arbitrary predicate.\n\nThe provided function is invoked against every element in the source set, and a new set is returned containing only the elements for which the\n[…]\n`true`. The source set is left unmodified. This abstracts and generalizes a common pattern that previously required callers to manually iterate (`Each` / `Iter`) and accumulate results into a new set.",
          "is_bot": false,
          "headline": "Add Filter method for set element filtering (#175)",
          "author_name": "Ryan Clarke",
          "author_login": "ryclarke",
          "committed_at": "2026-04-25T01:23:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "006faa100ef8106e49ab0760324dfb188f6ca75e",
          "body": "Added update notes for version 2.9.0, including new features and fixes.",
          "is_bot": false,
          "headline": "Add update notes for version 2.9.0 (#174)",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2026-04-21T00:24:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ec73b46709af31acda9d059f0269c5adfa27e64",
          "body": null,
          "is_bot": false,
          "headline": "事前割当数を修正 (#171)",
          "author_name": "Hiroyuki Toda",
          "author_login": "mai7star",
          "committed_at": "2026-04-21T00:11:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53cf14d3dae71fce2cb370721c20b0c9b222f3fa",
          "body": null,
          "is_bot": false,
          "headline": "feat: add PopN method to remove multiple arbitrary items from set (#166)",
          "author_name": "嗯嗯",
          "author_login": "lazychanger",
          "committed_at": "2025-08-15T15:59:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ded19ef48ea4f1d179c14a3628b92b07db6efaf1",
          "body": "Co-authored-by: Ryan Clarke <ryclarke+github@rkc.aleeas.com>",
          "is_bot": false,
          "headline": "Implement BSON Marshaler support (#142)",
          "author_name": "Ryan Clarke",
          "author_login": "ryclarke",
          "committed_at": "2025-08-15T15:32:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9480c3eb4dae7f17ca7edac65e4b48690c199993",
          "body": "… issue 163 (#164)\n\n* Deadlock: if the callback on Each panics and the app has a recovery, this will ensure that the thread-safe set is left in a usable state by ensuring the read lock is Unlocked. This also has a minor tweak on ToSlice to ensure the capacity hint is correct",
          "is_bot": false,
          "headline": "Deadlock: if the callback on Each panics and the app has a recovery -…",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2025-06-10T00:34:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4c06bfc94ecb21b8f47d647714b4a60723a581da",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md in preparation for release 2.8.0",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2025-03-14T21:27:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0d26f4c1518318a0a5917d3ade17ac3f735bfa03",
          "body": "* ci: add 1.22 and 1.23.0-rc2 and upgrade action version\n\n* Add Values function return 1.23 iterator\n\n* ci: add go versions in ci to 1.23.x and 1.24.x\n\n* Rename Values to Elements\n\nUse the name \"Element\" as it is more intuitive.",
          "is_bot": false,
          "headline": "Support 1.23 iterator for set (#140)",
          "author_name": "amikai",
          "author_login": "amikai",
          "committed_at": "2025-03-04T00:25:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1dc81fea155aca8bfae9aab4729f351eed40a27",
          "body": null,
          "is_bot": false,
          "headline": "feat: add ContainsAnyElement method (#149)",
          "author_name": "Y7n05h",
          "author_login": "Y7n05h",
          "committed_at": "2024-12-09T20:31:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "522797609507b715d64a7982601341bbcc51d36d",
          "body": "Signed-off-by: standstaff <zhengxingru@yeah.net>",
          "is_bot": false,
          "headline": "chore: fix typo (#150)",
          "author_name": "ZhengXingRu",
          "author_login": "standstaff",
          "committed_at": "2024-12-09T20:27:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b270e6b1f42fe50d9c1b84c0d6824fbfa47303e",
          "body": "…ing finally fixed",
          "is_bot": false,
          "headline": "Update README.md in preparation for 2.7.0 - JSON marshaling/unmarshal…",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2024-12-03T22:45:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e00dc23653148bdbe32f47fb9aeea1f75b0d2553",
          "body": "* Revert \"less pointers and more memory-efficient Clear()\"\r\n\r\nThis reverts commit 3045cfb32f3754a7f9e6d9bab57dab766477b382.\r\n\r\n* Revert \"less pointers\"\r\n\r\nThis reverts commit 7aad8e9df6335a8711a6561eb1705a481ad35ec1.\r\n\r\n* Switch to pointer receivers, fixes UnmarshalJSON\r\n\r\n* Expand test coverage for JSON marshaler interface",
          "is_bot": false,
          "headline": "Use pointer receivers for unsafeset (#143)",
          "author_name": "Ryan Clarke",
          "author_login": "ryclarke",
          "committed_at": "2024-12-03T22:33:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b710ba428a62a0e5686e4be2bb52f221e540d9fb",
          "body": null,
          "is_bot": false,
          "headline": "psst - a new sibling project is born",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2024-05-07T03:02:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a7d053185f57820aafeba88ca99cc66eee638cf",
          "body": "* feat: add ContainsOne method\r\n\r\n* chore: removed unnecessary word",
          "is_bot": false,
          "headline": "feat: add ContainsOne method (#134)",
          "author_name": "Vladislav",
          "author_login": "vladvalkov",
          "committed_at": "2023-12-26T19:04:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ff637dc98e3cc96ae56c47dc839df57d873f898",
          "body": "* Add Sorted method\r\n\r\nThis is a varient on `slices.Sorted` that makes it easy to get a sorted slice. This makes it easy to get the elements of the set into a sorted slice. Quite handy when using sets to build up unique elements but then needing a well defined iteration order.\r\n\r\n* Move to own file that can be build tagged\r\n\r\n* Also test go 1.21\r\n\r\n* Fix error messages in test",
          "is_bot": false,
          "headline": "Add Sorted method (#127)",
          "author_name": "Fraser Waters",
          "author_login": "Frassle",
          "committed_at": "2023-11-29T22:21:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "208a2284a3f59e1041570f918c0a4748da7eacb7",
          "body": null,
          "is_bot": false,
          "headline": "feat: add is empty functionality to set (#133)",
          "author_name": "Ignacior",
          "author_login": "Jibaru",
          "committed_at": "2023-11-05T22:39:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "325f1e0e6951636e1969d36f7e746f6c0237e260",
          "body": "add go get instructions",
          "is_bot": false,
          "headline": "Update README.md (#129)",
          "author_name": "Cemre Mengu",
          "author_login": "cemremengu",
          "committed_at": "2023-10-16T16:04:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f5ccad93747e63f8d376b58079450cde6be3a45",
          "body": null,
          "is_bot": false,
          "headline": "Fix doc comment on Union method (#126)",
          "author_name": "Ravan Scafi",
          "author_login": "ravanscafi",
          "committed_at": "2023-09-14T22:51:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b20691dee6ccbaec7400e06f5a22e5288dbc93f1",
          "body": null,
          "is_bot": false,
          "headline": "fix: Deserialize using a generic approach. (#121)",
          "author_name": "fujie",
          "author_login": "fujie-xiyou",
          "committed_at": "2023-08-02T21:15:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ea1fbe5bd48d998bf364ec69f1a08949455d328",
          "body": null,
          "is_bot": false,
          "headline": "Add ContainsAny functionality to Set (#120)",
          "author_name": "Ryan Clarke",
          "author_login": "ryclarke",
          "committed_at": "2023-06-29T21:54:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "054f2368d789505d67f3dbe630e5e4af44d299bc",
          "body": "Minor fix to README.md",
          "is_bot": false,
          "headline": "Update README.md (#117)",
          "author_name": "Partho Kumar Rajvor",
          "author_login": "parthokr",
          "committed_at": "2023-04-27T22:01:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e933926b072bd26283f07a7271a84927b706858",
          "body": null,
          "is_bot": false,
          "headline": "Remove duplicated word in test error messages (#114)",
          "author_name": "Oleksandr Redko",
          "author_login": "alexandear",
          "committed_at": "2023-04-04T17:55:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "456a496b663ead98081608f2204c6fb6bba50623",
          "body": "…or set instantiation to utilize capacity hint where possible (#113)",
          "is_bot": false,
          "headline": "Reintegrating optimizations originally proposed by @fy0 in issue:60 f…",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2023-03-14T17:23:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9a5ce20814077bdd0bfa93c30d868b3dfa5fd1f",
          "body": "* Updating workflow and README\r\n\r\n* modifying workflow file\r\n\r\n* fix workflow go version\r\n\r\n* workflow array syntax\r\n\r\n* fixing workflow\r\n\r\n* moron, it's pulling go 1.2.2\r\n\r\n* if it ain't broke...",
          "is_bot": false,
          "headline": "Release 2.2.0 (#112)",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2023-03-05T20:41:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13f8b1dcc450530f574016051bf57ac23b450b59",
          "body": "* add Append() method for adding multiple elements to set\r\n\r\n* Fixing how Append gets dereferenced due to some recent changes.\r\n\r\nWe no longer need two layers of indirection.\r\n\r\n---------\r\n\r\nCo-authored-by: Ralph Caraveo <deckarep@gmail.com>",
          "is_bot": false,
          "headline": "add Append() method for adding multiple elements to set (#93)",
          "author_name": "Mercurio",
          "author_login": "SignorMercurio",
          "committed_at": "2023-03-05T19:36:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3045cfb32f3754a7f9e6d9bab57dab766477b382",
          "body": "`threadUnsafeSet` is already a map that is a reference-type, so passing it by-value still lets us mutate an origin object, but decreases a number of pointers, which in turn, decreases a GC-pressure, (potentially) makes less useless operations and (definitely) makes code better to read/understand.\n\nA\n[…]\ntself, but cannot clear underlying map manually in case he really needs it - to decrease amount of memory used in average, number of which is actually affected a lot by internally allocating a new map",
          "is_bot": false,
          "headline": "less pointers and more memory-efficient Clear()",
          "author_name": "a very fake floordiv",
          "author_login": "flrdv",
          "committed_at": "2023-03-05T19:02:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "543b3d75e88644d5723ee1e5484393773164a09c",
          "body": "renamed method receivers to be a single-letter equal to a first letter in object's name, as community recommends",
          "is_bot": false,
          "headline": "codestyle improvements",
          "author_name": "a very fake floordiv",
          "author_login": "flrdv",
          "committed_at": "2023-03-05T19:02:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7aad8e9df6335a8711a6561eb1705a481ad35ec1",
          "body": "now constructors returns by value instead of by reference a newly constructed sets",
          "is_bot": false,
          "headline": "less pointers",
          "author_name": "a very fake floordiv",
          "author_login": "flrdv",
          "committed_at": "2023-03-05T19:02:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bc8f6adec9dc86321ad0edf10cef4a48bc2c615b",
          "body": "updated docstrings describing Set interface methods to start with a method name for a correct documentation generation (and avoiding tons of warnings in goland)",
          "is_bot": false,
          "headline": "updated docstrings",
          "author_name": "a very fake floordiv",
          "author_login": "flrdv",
          "committed_at": "2023-03-05T19:02:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f79c69df3487a430363604f2e89e84f248dbd00",
          "body": null,
          "is_bot": false,
          "headline": "adding method to create set from keys of map of type comparable",
          "author_name": "Jay Patel",
          "author_login": "jay-babu",
          "committed_at": "2023-03-05T19:00:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0e345089a8650a653af747443c94689a3909a40",
          "body": null,
          "is_bot": false,
          "headline": "Adding github starhistory graphic",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-09-09T16:53:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb73d93c112a035bbfadcdc19dc6519950c6798b",
          "body": null,
          "is_bot": false,
          "headline": "improved efficiency",
          "author_name": "pem",
          "author_login": "pemoreau",
          "committed_at": "2022-07-27T16:52:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41eeb0673a74fa7e0bb5e328445a41d74ee456ef",
          "body": "1. Stop pinning patch version... IIUC the docs correctly, this will let it use whatever the latest patch version is.\r\n2. Bump the actions versions `v3`. From a quick skim, none of the new changes really affect this workflow so it's safe to update. And since this is just CI, it should be quickly obvious if something is broken.",
          "is_bot": false,
          "headline": "Default to latest patch version in CI, bump actions",
          "author_name": "Jeff Widman",
          "author_login": "jeffwidman",
          "committed_at": "2022-07-27T16:44:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "29b450944d787bf660ebcae5921342585e113662",
          "body": "Point the badges/docs links at the `v2` code.",
          "is_bot": false,
          "headline": "Point badges at `v2`",
          "author_name": "Jeff Widman",
          "author_login": "jeffwidman",
          "committed_at": "2022-07-27T16:43:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "76d8b1673172d560416e8631537a8764939c78f6",
          "body": null,
          "is_bot": false,
          "headline": "add wg.Wait() at the end of Test_CloneConcurrent",
          "author_name": "Keiichi Hirobe",
          "author_login": "KeiichiHirobe",
          "committed_at": "2022-05-30T15:33:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2118748fb0d25ad3851400ca7cc0bdcad97d5013",
          "body": null,
          "is_bot": false,
          "headline": "use github.com/deckarep/golang-set/v2 to import module",
          "author_name": "Keiichi Hirobe",
          "author_login": "KeiichiHirobe",
          "committed_at": "2022-05-30T15:29:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "29bd72cb4a51042805cf60aaecd2585a64d357de",
          "body": null,
          "is_bot": false,
          "headline": "feat: improve Add performance",
          "author_name": "Nao Yonashiro",
          "author_login": "orisano",
          "committed_at": "2022-03-29T00:27:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "abcdb7d406d81868969a95c1e5e8d5ea3d4ff1b5",
          "body": null,
          "is_bot": false,
          "headline": "test: fix benchmark",
          "author_name": "Nao Yonashiro",
          "author_login": "orisano",
          "committed_at": "2022-03-29T00:27:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "42e82971afa6b4c345a032998bdf0d46be2b9f99",
          "body": "These are no longer needed now that both `NewSet()` and\n`NewThreadUnsafeSet()` accept optional vals.\n\nRemoving them simplifies the API surface, so that developers aren't left\nscratching their heads wondering why there's both a `NewSet(vals ...T)`\nand a `NewSetFromSlice()` that do the same thing.\n\nPr\n[…]\nt be removed due to backwards compatibility\nconcerns, but with the `go 1.18` drop of generics, this library will be\ncutting a new `v2` release, so a perfect time to cleanup this confusing\nAPI as well.",
          "is_bot": false,
          "headline": "Delete `New*SetFromSlice()` and `NewSetWith()` APIs",
          "author_name": "Jeff Widman",
          "author_login": "jeffwidman",
          "committed_at": "2022-03-28T04:37:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8f063a4c369a443b3fb0b8c5b88c60a019b8e38a",
          "body": "This makes the API a bit cleaner, and matches the signature of `NewSet()`.\n\nFix https://github.com/deckarep/golang-set/issues/80",
          "is_bot": false,
          "headline": "Make `NewThreadUnsafeSet()` take optional vals.",
          "author_name": "Jeff Widman",
          "author_login": "jeffwidman",
          "committed_at": "2022-03-27T17:30:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0d91221d462ce3ccd1de7c3f469d1de32570048",
          "body": "`golanglint-ci` flagged that this is dead code.",
          "is_bot": false,
          "headline": "Remove dead code",
          "author_name": "Jeff Widman",
          "author_login": "jeffwidman",
          "committed_at": "2022-03-27T17:27:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e2816b8c4113df48fb1a0c30417d03f219e8362",
          "body": null,
          "is_bot": false,
          "headline": "bump go.mod file",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:57:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2904a970447b5912b5d0d5924c58f94b32f23804",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c9ba67576d11c9bd580de34c496016c902bd4c2",
          "body": "…nput - Thank You",
          "is_bot": false,
          "headline": "Fixes to build with Go 1.18 official release thanks to @billinghamj i…",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1035f5fe3abaf83f69ee653a3c4555429c30bda4",
          "body": null,
          "is_bot": false,
          "headline": "Updating final info",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c480848b7d5bac14c12fc99b6e7c8a0b00891bf1",
          "body": null,
          "is_bot": false,
          "headline": "removing broken code",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07f9e006ef5b238dab2a139d283d717cf22ef281",
          "body": null,
          "is_bot": false,
          "headline": "removing benchmark since build doesn't run to completion",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7e69a8cc4c99f0bb6121b4f91903c85fcdd20a5f",
          "body": null,
          "is_bot": false,
          "headline": "adding stable:false flag",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f169e63c2c66693d66fe0008a9587bcb5a3065ee",
          "body": null,
          "is_bot": false,
          "headline": "fixing go version in yml",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bc2c3cdcedd9dbc85beece800ec38b0bcacbb02d",
          "body": null,
          "is_bot": false,
          "headline": "bump go version in yml",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b1d5b6165125b73666b847f3c547cdb7845b12e8",
          "body": null,
          "is_bot": false,
          "headline": "update to notable projects/companies section",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "141f293f1b2c4d91b4edfc387efe4887b0cda1ff",
          "body": null,
          "is_bot": false,
          "headline": "update docs",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f430f38962833db075fd44316fa0231d75d4426",
          "body": null,
          "is_bot": false,
          "headline": "updating README.md",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b3a6ad19ef324037f04df81045054e3f94c2494",
          "body": null,
          "is_bot": false,
          "headline": "adding workflow build badge",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "97531fa5cbadb58143da74b74eef343e492567ec",
          "body": null,
          "is_bot": false,
          "headline": "updating gofmt",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aeb3584e71b0bde9d0c9fc8c58d5dd1d64aac45d",
          "body": null,
          "is_bot": false,
          "headline": "removing commented out code",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1658d57751d0e1758532f63204a910a04f7d4000",
          "body": "…names to minimize changes",
          "is_bot": false,
          "headline": "Removing all temp *Generic based names by swapping with the original …",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd0ae617398cd5b5fe8688624074a89bdbd707a1",
          "body": null,
          "is_bot": false,
          "headline": "updating iterator example test to be an actual test function",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d6cad9344a66e795eec6e4f254af7ceb035e54f5",
          "body": null,
          "is_bot": false,
          "headline": "Updating benchmarks",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "94d35a508a7f57d1766afa29d0df7752828fbf84",
          "body": null,
          "is_bot": false,
          "headline": "retrofitting the marshal/unmarshal api",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1530daace9db970bced07d7c2f547e535b9500fc",
          "body": null,
          "is_bot": false,
          "headline": "updating all unit tests to use generic variants",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3525e6e3e88e351602b5832fb3f85eae325148a6",
          "body": null,
          "is_bot": false,
          "headline": "Adding constructor functions for generic set variations",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c310c4443033bad27c116e2a836ff4f1ba398da0",
          "body": null,
          "is_bot": false,
          "headline": "Adding thread-safe wrapped variant with generics",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dbb0d6a4e70f8bdcf37670e04d5c94e570b489d1",
          "body": null,
          "is_bot": false,
          "headline": "Adding Powerset",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cdebfe82a8de8a8d578d9192fa38dc694c74cb88",
          "body": null,
          "is_bot": false,
          "headline": "generics proof of concept",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2022-03-27T03:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "645e1ba83b7fdd0baab3f586c30a4d1619c71f99",
          "body": null,
          "is_bot": false,
          "headline": "fix go mod",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2021-12-16T20:49:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ebd0439030a56d8aebcc879544eb9de2c9969c84",
          "body": null,
          "is_bot": false,
          "headline": "make testing verbose",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2021-12-16T19:47:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "82e1f838bf40a41b3841820f9f9f084debad0f22",
          "body": null,
          "is_bot": false,
          "headline": "migrating to github workflows",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2021-12-16T19:47:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd7989e6e47f1efe922c1bab485888dca20f9774",
          "body": null,
          "is_bot": false,
          "headline": "only do tip and previous version of Go",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2021-12-16T19:47:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bcfae0b45e15387262bcbfe6607e9a3e7cf9f184",
          "body": null,
          "is_bot": false,
          "headline": "updating travis go versions",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2021-12-16T19:47:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "88d3a9269f9a0afd29a1cb042abf9414ae484dc6",
          "body": null,
          "is_bot": false,
          "headline": "adding mod file",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2021-12-16T19:47:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03b572015f8e9d51f230e69f81cc8441db837606",
          "body": "Signed-off-by: Devendranath Thadi <devendranath.thadi3@gmail.com>",
          "is_bot": false,
          "headline": "Travis-ci: added support for ppc64le and updated go versions 1.14 & 1.15",
          "author_name": "Devendranath Thadi",
          "author_login": "dthadi3",
          "committed_at": "2020-11-29T02:13:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "699df6a3acf6867538e50931511e9dc403da108a",
          "body": null,
          "is_bot": false,
          "headline": "check cardinality before check subset",
          "author_name": "nextzhou",
          "author_login": "nextzhou",
          "committed_at": "2018-09-27T15:06:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbaa98ba5575e67703b32b4b19f73c91f3c4159e",
          "body": "Previously, calling `PowerSet()` on a `threadSafeSet` would return a `threadUnsafeSet` of `threadUnsafeSet`s. Now it returns a `threadSafeSet` of `threadSafeSet`s.",
          "is_bot": false,
          "headline": "Fix PowerSet return values",
          "author_name": "Rob Yoder",
          "author_login": "robyoder",
          "committed_at": "2018-08-31T18:06:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "82e95d278d1d9a37a150b3a5f532c8b41a268dcd",
          "body": "This test fails but shouldn’t.",
          "is_bot": false,
          "headline": "Add thread safe test for PowerSet()",
          "author_name": "Rob Yoder",
          "author_login": "robyoder",
          "committed_at": "2018-08-31T18:06:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "504e848d77ea4752b3057b8fb46da0e7f746ccf3",
          "body": null,
          "is_bot": false,
          "headline": "Adding tests",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2018-06-03T21:46:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f7e66572662abc5cd8cdc86f1c4c430fd7a57c4",
          "body": null,
          "is_bot": false,
          "headline": "Pop returns an arbitrary item from the set.",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2018-06-03T21:46:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b87793d5def971edc55ea88175fa32430e940e01",
          "body": "In Add func, there's no need to alloc a new empty struct\nif corresponding key-value pair exists.",
          "is_bot": false,
          "headline": "threadUnsafeSet: reduce allocation in Add func",
          "author_name": "lorneli",
          "author_login": "lorneli",
          "committed_at": "2018-03-28T18:58:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d4478f51bed434f1dadf96dcd9b43aabac66795",
          "body": null,
          "is_bot": false,
          "headline": "add Each method",
          "author_name": "Jun Kimura",
          "author_login": "bluele",
          "committed_at": "2017-10-13T21:24:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3af78e1d186c53529e3c916055d734665f68121",
          "body": null,
          "is_bot": false,
          "headline": "Update Travis for 1.9",
          "author_name": "Ralph Caraveo III",
          "author_login": "deckarep",
          "committed_at": "2017-08-26T19:48:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a36ffa8b5bf7cd329c8834c6b743d6930dad12f",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'spakin-master'",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2017-07-08T02:11:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a0663d72413df63f403eb902de9bb04fe6ba665d",
          "body": "Cf. https://goreportcard.com/",
          "is_bot": false,
          "headline": "Added a Go Report Card badge",
          "author_name": "Scott Pakin",
          "author_login": "spakin",
          "committed_at": "2017-05-18T04:42:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b5819304bcedc969ef52981a9b8956607e96a9c",
          "body": "Cf. https://github.com/golang/lint",
          "is_bot": false,
          "headline": "Addressed issues reported by golint",
          "author_name": "Scott Pakin",
          "author_login": "spakin",
          "committed_at": "2017-05-18T04:36:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21d1eb0071218032a803876ce3f5fa422b9d7912",
          "body": "Cf. https://github.com/client9/misspell",
          "is_bot": false,
          "headline": "Fixed spelling errors reported by Misspell",
          "author_name": "Scott Pakin",
          "author_login": "spakin",
          "committed_at": "2017-05-18T04:08:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2659051ab0e88fac9bcdb99619b8faa5dcb34092",
          "body": null,
          "is_bot": false,
          "headline": "Addressed issues reported by \"go vet\"",
          "author_name": "Scott Pakin",
          "author_login": "spakin",
          "committed_at": "2017-05-18T04:04:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a428cb2cf70d226f7520ee180a0d8bd46f54b309",
          "body": " commit.",
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'upstream/master'",
          "author_name": "Scott Pakin",
          "author_login": "spakin",
          "committed_at": "2017-05-17T16:11:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4b9a94ae3157ef89441395f98c6ab4018fcb26a",
          "body": null,
          "is_bot": false,
          "headline": "New methods: IsProperSuperset and IsProperSubset",
          "author_name": "Scott Pakin",
          "author_login": "spakin",
          "committed_at": "2017-05-17T15:53:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e63825f44b5cb2279cb172cdf225eac0a366b8e9",
          "body": null,
          "is_bot": false,
          "headline": "New methods: IsProperSuperset and IsProperSubset",
          "author_name": "Scott Pakin",
          "author_login": "spakin",
          "committed_at": "2017-05-17T12:51:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ffb0fa6cd43fd73f4d246d412788624998e09b87",
          "body": null,
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'upstream/master'",
          "author_name": "Scott Pakin",
          "author_login": "spakin",
          "committed_at": "2017-05-17T05:07:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a761940ed20578ff62c264b1bda1481a94050fb3",
          "body": null,
          "is_bot": false,
          "headline": ":bug: Include missing wg.Add and wg.Done calls (#45)",
          "author_name": "Scott Pakin",
          "author_login": "spakin",
          "committed_at": "2017-05-17T04:44:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c2ab02f185b1741f655b63daee24a3d188d2846d",
          "body": null,
          "is_bot": false,
          "headline": ":bug: Include missing wg.Add and wg.Done calls",
          "author_name": "Scott Pakin",
          "author_login": "spakin",
          "committed_at": "2017-05-17T04:21:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da5f92821c31f5f1e2fe1a768c8b6052278532f2",
          "body": null,
          "is_bot": false,
          "headline": "Update travis to build against 1.8",
          "author_name": "Ralph Caraveo",
          "author_login": "deckarep",
          "committed_at": "2017-04-11T17:06:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a90c40018dcca41187087dd4c42ce9f90b91b1a6",
          "body": "* Assignment not needed in for loop.\r\n\r\n* Unused code",
          "is_bot": false,
          "headline": "Casual refactor (#43)",
          "author_name": "Ashish Sehra",
          "author_login": "asehra",
          "committed_at": "2017-04-11T17:01:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc8930a5e645572ee00bf66358ed3414f3c13b90",
          "body": null,
          "is_bot": false,
          "headline": "exposed orderedPair (now OrderedPair) and its fields (#41)",
          "author_name": "Joe Bergeron",
          "author_login": "jophish",
          "committed_at": "2017-02-02T20:30:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 14,
      "commits_last_year": 11,
      "latest_release_at": "2026-04-21T00:28:08Z",
      "latest_release_tag": "v2.9.0",
      "releases_from_tags": false,
      "days_since_last_push": 27,
      "active_weeks_last_year": 5,
      "days_since_latest_release": 95,
      "mean_days_between_releases": 164.2
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 42,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "github.com/deckarep/golang-set/v2",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/deckarep/golang-set/v2",
          "is_deprecated": false,
          "latest_version": "v2.9.0",
          "repository_url": "https://github.com/deckarep/golang-set",
          "versions_count": 11,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-04-21T00:24:13Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 95
        }
      ]
    },
    "popularity": {
      "forks": 291,
      "stars": 4703,
      "watchers": 48,
      "fork_history": {
        "days": [
          {
            "date": "2013-07-04",
            "count": 2
          },
          {
            "date": "2013-07-17",
            "count": 1
          },
          {
            "date": "2013-07-24",
            "count": 1
          },
          {
            "date": "2013-08-11",
            "count": 1
          },
          {
            "date": "2013-09-02",
            "count": 1
          },
          {
            "date": "2014-03-07",
            "count": 1
          },
          {
            "date": "2014-04-11",
            "count": 1
          },
          {
            "date": "2014-04-28",
            "count": 1
          },
          {
            "date": "2014-05-10",
            "count": 1
          },
          {
            "date": "2014-05-23",
            "count": 1
          },
          {
            "date": "2014-08-21",
            "count": 1
          },
          {
            "date": "2014-09-08",
            "count": 1
          },
          {
            "date": "2014-09-09",
            "count": 1
          },
          {
            "date": "2014-09-29",
            "count": 1
          },
          {
            "date": "2014-10-27",
            "count": 1
          },
          {
            "date": "2014-11-20",
            "count": 1
          },
          {
            "date": "2015-02-04",
            "count": 1
          },
          {
            "date": "2015-05-03",
            "count": 1
          },
          {
            "date": "2015-05-28",
            "count": 1
          },
          {
            "date": "2015-06-04",
            "count": 1
          },
          {
            "date": "2015-07-15",
            "count": 1
          },
          {
            "date": "2015-07-29",
            "count": 1
          },
          {
            "date": "2015-08-02",
            "count": 1
          },
          {
            "date": "2015-08-17",
            "count": 1
          },
          {
            "date": "2015-09-10",
            "count": 1
          },
          {
            "date": "2015-11-07",
            "count": 1
          },
          {
            "date": "2015-11-20",
            "count": 1
          },
          {
            "date": "2015-11-26",
            "count": 1
          },
          {
            "date": "2015-12-09",
            "count": 1
          },
          {
            "date": "2016-01-09",
            "count": 1
          },
          {
            "date": "2016-01-29",
            "count": 1
          },
          {
            "date": "2016-02-16",
            "count": 1
          },
          {
            "date": "2016-02-20",
            "count": 1
          },
          {
            "date": "2016-03-02",
            "count": 1
          },
          {
            "date": "2016-03-07",
            "count": 1
          },
          {
            "date": "2016-03-28",
            "count": 1
          },
          {
            "date": "2016-04-13",
            "count": 1
          },
          {
            "date": "2016-05-31",
            "count": 1
          },
          {
            "date": "2016-06-01",
            "count": 1
          },
          {
            "date": "2016-07-27",
            "count": 1
          },
          {
            "date": "2016-08-05",
            "count": 1
          },
          {
            "date": "2016-09-06",
            "count": 1
          },
          {
            "date": "2016-09-24",
            "count": 1
          },
          {
            "date": "2016-12-11",
            "count": 1
          },
          {
            "date": "2017-01-02",
            "count": 1
          },
          {
            "date": "2017-01-18",
            "count": 1
          },
          {
            "date": "2017-03-11",
            "count": 1
          },
          {
            "date": "2017-03-19",
            "count": 1
          },
          {
            "date": "2017-04-27",
            "count": 1
          },
          {
            "date": "2017-05-23",
            "count": 1
          },
          {
            "date": "2017-05-25",
            "count": 1
          },
          {
            "date": "2017-06-27",
            "count": 1
          },
          {
            "date": "2017-07-10",
            "count": 1
          },
          {
            "date": "2017-07-18",
            "count": 1
          },
          {
            "date": "2017-08-30",
            "count": 1
          },
          {
            "date": "2017-09-18",
            "count": 1
          },
          {
            "date": "2017-10-13",
            "count": 1
          },
          {
            "date": "2017-11-23",
            "count": 1
          },
          {
            "date": "2017-11-24",
            "count": 1
          },
          {
            "date": "2018-02-07",
            "count": 1
          },
          {
            "date": "2018-03-25",
            "count": 1
          },
          {
            "date": "2018-03-28",
            "count": 1
          },
          {
            "date": "2018-04-11",
            "count": 1
          },
          {
            "date": "2018-04-30",
            "count": 1
          },
          {
            "date": "2018-05-18",
            "count": 1
          },
          {
            "date": "2018-05-21",
            "count": 1
          },
          {
            "date": "2018-05-29",
            "count": 1
          },
          {
            "date": "2018-07-06",
            "count": 1
          },
          {
            "date": "2018-08-03",
            "count": 1
          },
          {
            "date": "2018-08-31",
            "count": 1
          },
          {
            "date": "2018-09-05",
            "count": 1
          },
          {
            "date": "2018-09-27",
            "count": 1
          },
          {
            "date": "2018-10-02",
            "count": 1
          },
          {
            "date": "2018-11-02",
            "count": 1
          },
          {
            "date": "2018-11-30",
            "count": 1
          },
          {
            "date": "2018-12-13",
            "count": 1
          },
          {
            "date": "2018-12-22",
            "count": 1
          },
          {
            "date": "2018-12-26",
            "count": 1
          },
          {
            "date": "2019-01-17",
            "count": 1
          },
          {
            "date": "2019-01-19",
            "count": 1
          },
          {
            "date": "2019-02-26",
            "count": 1
          },
          {
            "date": "2019-03-13",
            "count": 1
          },
          {
            "date": "2019-03-19",
            "count": 1
          },
          {
            "date": "2019-04-10",
            "count": 1
          },
          {
            "date": "2019-04-20",
            "count": 1
          },
          {
            "date": "2019-04-30",
            "count": 1
          },
          {
            "date": "2019-05-31",
            "count": 1
          },
          {
            "date": "2019-06-04",
            "count": 1
          },
          {
            "date": "2019-06-06",
            "count": 1
          },
          {
            "date": "2019-06-11",
            "count": 1
          },
          {
            "date": "2019-07-01",
            "count": 1
          },
          {
            "date": "2019-07-03",
            "count": 1
          },
          {
            "date": "2019-07-15",
            "count": 2
          },
          {
            "date": "2019-07-23",
            "count": 1
          },
          {
            "date": "2019-07-25",
            "count": 1
          },
          {
            "date": "2019-08-15",
            "count": 1
          },
          {
            "date": "2019-08-17",
            "count": 1
          },
          {
            "date": "2019-08-22",
            "count": 1
          },
          {
            "date": "2019-08-26",
            "count": 1
          },
          {
            "date": "2019-09-07",
            "count": 1
          },
          {
            "date": "2019-09-19",
            "count": 1
          },
          {
            "date": "2019-10-03",
            "count": 1
          },
          {
            "date": "2019-10-23",
            "count": 1
          },
          {
            "date": "2019-10-24",
            "count": 1
          },
          {
            "date": "2019-11-20",
            "count": 1
          },
          {
            "date": "2019-11-22",
            "count": 1
          },
          {
            "date": "2019-11-27",
            "count": 1
          },
          {
            "date": "2019-12-06",
            "count": 1
          },
          {
            "date": "2019-12-20",
            "count": 1
          },
          {
            "date": "2019-12-25",
            "count": 1
          },
          {
            "date": "2019-12-27",
            "count": 1
          },
          {
            "date": "2020-01-07",
            "count": 1
          },
          {
            "date": "2020-01-10",
            "count": 1
          },
          {
            "date": "2020-01-30",
            "count": 1
          },
          {
            "date": "2020-03-17",
            "count": 1
          },
          {
            "date": "2020-04-05",
            "count": 1
          },
          {
            "date": "2020-04-06",
            "count": 1
          },
          {
            "date": "2020-04-17",
            "count": 1
          },
          {
            "date": "2020-05-17",
            "count": 1
          },
          {
            "date": "2020-06-06",
            "count": 1
          },
          {
            "date": "2020-06-11",
            "count": 1
          },
          {
            "date": "2020-06-12",
            "count": 1
          },
          {
            "date": "2020-07-20",
            "count": 1
          },
          {
            "date": "2020-07-30",
            "count": 1
          },
          {
            "date": "2020-08-09",
            "count": 1
          },
          {
            "date": "2020-08-11",
            "count": 1
          },
          {
            "date": "2020-08-31",
            "count": 1
          },
          {
            "date": "2020-09-14",
            "count": 1
          },
          {
            "date": "2020-10-09",
            "count": 1
          },
          {
            "date": "2020-10-27",
            "count": 2
          },
          {
            "date": "2020-10-29",
            "count": 1
          },
          {
            "date": "2020-11-12",
            "count": 1
          },
          {
            "date": "2020-12-02",
            "count": 1
          },
          {
            "date": "2020-12-07",
            "count": 1
          },
          {
            "date": "2020-12-29",
            "count": 1
          },
          {
            "date": "2020-12-30",
            "count": 1
          },
          {
            "date": "2021-01-02",
            "count": 1
          },
          {
            "date": "2021-01-15",
            "count": 1
          },
          {
            "date": "2021-03-19",
            "count": 1
          },
          {
            "date": "2021-03-22",
            "count": 1
          },
          {
            "date": "2021-03-24",
            "count": 1
          },
          {
            "date": "2021-04-25",
            "count": 1
          },
          {
            "date": "2021-04-30",
            "count": 2
          },
          {
            "date": "2021-06-03",
            "count": 1
          },
          {
            "date": "2021-06-09",
            "count": 1
          },
          {
            "date": "2021-06-22",
            "count": 1
          },
          {
            "date": "2021-07-10",
            "count": 1
          },
          {
            "date": "2021-07-19",
            "count": 1
          },
          {
            "date": "2021-07-21",
            "count": 1
          },
          {
            "date": "2021-07-28",
            "count": 1
          },
          {
            "date": "2021-08-03",
            "count": 1
          },
          {
            "date": "2021-08-05",
            "count": 1
          },
          {
            "date": "2021-10-01",
            "count": 1
          },
          {
            "date": "2021-10-12",
            "count": 1
          },
          {
            "date": "2021-11-01",
            "count": 1
          },
          {
            "date": "2021-11-07",
            "count": 1
          },
          {
            "date": "2021-11-21",
            "count": 1
          },
          {
            "date": "2021-12-01",
            "count": 1
          },
          {
            "date": "2021-12-02",
            "count": 1
          },
          {
            "date": "2021-12-09",
            "count": 1
          },
          {
            "date": "2021-12-19",
            "count": 1
          },
          {
            "date": "2022-01-04",
            "count": 1
          },
          {
            "date": "2022-01-19",
            "count": 1
          },
          {
            "date": "2022-01-23",
            "count": 1
          },
          {
            "date": "2022-01-29",
            "count": 1
          },
          {
            "date": "2022-02-10",
            "count": 1
          },
          {
            "date": "2022-02-11",
            "count": 1
          },
          {
            "date": "2022-02-18",
            "count": 1
          },
          {
            "date": "2022-02-24",
            "count": 1
          },
          {
            "date": "2022-03-09",
            "count": 1
          },
          {
            "date": "2022-03-17",
            "count": 1
          },
          {
            "date": "2022-03-21",
            "count": 1
          },
          {
            "date": "2022-03-23",
            "count": 1
          },
          {
            "date": "2022-03-28",
            "count": 1
          },
          {
            "date": "2022-03-29",
            "count": 1
          },
          {
            "date": "2022-04-01",
            "count": 1
          },
          {
            "date": "2022-04-08",
            "count": 1
          },
          {
            "date": "2022-04-21",
            "count": 1
          },
          {
            "date": "2022-04-22",
            "count": 2
          },
          {
            "date": "2022-04-24",
            "count": 1
          },
          {
            "date": "2022-05-06",
            "count": 1
          },
          {
            "date": "2022-05-31",
            "count": 1
          },
          {
            "date": "2022-06-16",
            "count": 1
          },
          {
            "date": "2022-06-22",
            "count": 1
          },
          {
            "date": "2022-07-08",
            "count": 1
          },
          {
            "date": "2022-07-28",
            "count": 1
          },
          {
            "date": "2022-08-04",
            "count": 1
          },
          {
            "date": "2022-08-06",
            "count": 1
          },
          {
            "date": "2022-08-19",
            "count": 1
          },
          {
            "date": "2022-08-23",
            "count": 1
          },
          {
            "date": "2022-08-24",
            "count": 1
          },
          {
            "date": "2022-08-27",
            "count": 1
          },
          {
            "date": "2022-09-10",
            "count": 1
          },
          {
            "date": "2022-11-03",
            "count": 1
          },
          {
            "date": "2022-11-04",
            "count": 1
          },
          {
            "date": "2022-11-06",
            "count": 1
          },
          {
            "date": "2022-11-10",
            "count": 1
          },
          {
            "date": "2022-11-17",
            "count": 1
          },
          {
            "date": "2022-11-19",
            "count": 1
          },
          {
            "date": "2022-11-20",
            "count": 1
          },
          {
            "date": "2022-11-27",
            "count": 1
          },
          {
            "date": "2022-12-05",
            "count": 1
          },
          {
            "date": "2022-12-08",
            "count": 1
          },
          {
            "date": "2022-12-13",
            "count": 1
          },
          {
            "date": "2023-01-21",
            "count": 1
          },
          {
            "date": "2023-02-05",
            "count": 1
          },
          {
            "date": "2023-02-17",
            "count": 1
          },
          {
            "date": "2023-03-07",
            "count": 1
          },
          {
            "date": "2023-03-11",
            "count": 1
          },
          {
            "date": "2023-03-15",
            "count": 1
          },
          {
            "date": "2023-03-19",
            "count": 1
          },
          {
            "date": "2023-03-20",
            "count": 3
          },
          {
            "date": "2023-03-21",
            "count": 2
          },
          {
            "date": "2023-03-23",
            "count": 3
          },
          {
            "date": "2023-04-05",
            "count": 1
          },
          {
            "date": "2023-04-13",
            "count": 1
          },
          {
            "date": "2023-04-26",
            "count": 1
          },
          {
            "date": "2023-05-11",
            "count": 1
          },
          {
            "date": "2023-05-24",
            "count": 1
          },
          {
            "date": "2023-06-13",
            "count": 1
          },
          {
            "date": "2023-06-26",
            "count": 1
          },
          {
            "date": "2023-06-27",
            "count": 1
          },
          {
            "date": "2023-07-03",
            "count": 1
          },
          {
            "date": "2023-07-14",
            "count": 1
          },
          {
            "date": "2023-07-30",
            "count": 1
          },
          {
            "date": "2023-09-15",
            "count": 1
          },
          {
            "date": "2023-11-05",
            "count": 1
          },
          {
            "date": "2023-11-06",
            "count": 1
          },
          {
            "date": "2023-12-05",
            "count": 1
          },
          {
            "date": "2023-12-06",
            "count": 1
          },
          {
            "date": "2023-12-07",
            "count": 1
          },
          {
            "date": "2023-12-19",
            "count": 1
          },
          {
            "date": "2023-12-26",
            "count": 1
          },
          {
            "date": "2024-01-02",
            "count": 1
          },
          {
            "date": "2024-01-09",
            "count": 1
          },
          {
            "date": "2024-01-10",
            "count": 1
          },
          {
            "date": "2024-02-01",
            "count": 1
          },
          {
            "date": "2024-03-15",
            "count": 1
          },
          {
            "date": "2024-05-06",
            "count": 1
          },
          {
            "date": "2024-05-08",
            "count": 1
          },
          {
            "date": "2024-05-26",
            "count": 1
          },
          {
            "date": "2024-06-11",
            "count": 1
          },
          {
            "date": "2024-07-25",
            "count": 1
          },
          {
            "date": "2024-07-29",
            "count": 1
          },
          {
            "date": "2024-08-01",
            "count": 1
          },
          {
            "date": "2024-08-12",
            "count": 1
          },
          {
            "date": "2024-08-15",
            "count": 1
          },
          {
            "date": "2024-09-23",
            "count": 2
          },
          {
            "date": "2024-10-01",
            "count": 1
          },
          {
            "date": "2024-10-17",
            "count": 1
          },
          {
            "date": "2024-11-05",
            "count": 1
          },
          {
            "date": "2024-12-04",
            "count": 1
          },
          {
            "date": "2024-12-08",
            "count": 1
          },
          {
            "date": "2024-12-09",
            "count": 1
          },
          {
            "date": "2025-01-03",
            "count": 1
          },
          {
            "date": "2025-01-15",
            "count": 1
          },
          {
            "date": "2025-02-21",
            "count": 1
          },
          {
            "date": "2025-04-01",
            "count": 1
          },
          {
            "date": "2025-04-10",
            "count": 1
          },
          {
            "date": "2025-04-27",
            "count": 1
          },
          {
            "date": "2025-06-07",
            "count": 1
          },
          {
            "date": "2025-07-17",
            "count": 1
          },
          {
            "date": "2025-09-07",
            "count": 1
          },
          {
            "date": "2025-11-13",
            "count": 1
          },
          {
            "date": "2025-12-25",
            "count": 1
          },
          {
            "date": "2026-01-10",
            "count": 1
          },
          {
            "date": "2026-02-05",
            "count": 1
          },
          {
            "date": "2026-03-16",
            "count": 1
          },
          {
            "date": "2026-04-14",
            "count": 1
          },
          {
            "date": "2026-04-15",
            "count": 1
          },
          {
            "date": "2026-04-28",
            "count": 1
          },
          {
            "date": "2026-05-01",
            "count": 1
          },
          {
            "date": "2026-05-20",
            "count": 1
          },
          {
            "date": "2026-05-27",
            "count": 1
          },
          {
            "date": "2026-06-19",
            "count": 1
          },
          {
            "date": "2026-06-29",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          },
          {
            "date": "2026-07-23",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 289,
        "total_forks": 291
      },
      "star_history": null,
      "open_issues_and_prs": 22
    },
    "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": [
        "go.mod"
      ],
      "largest_source_bytes": 34413,
      "source_files_sampled": 15,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "go.mod"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 1,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "go"
      ],
      "dependencies": [
        {
          "name": "go.mongodb.org/mongo-driver",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.17.9"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "go.mongodb.org/mongo-driver",
            "direct": true,
            "version": "v1.17.9",
            "ecosystem": "go"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 1,
        "direct_count": 1,
        "indirect_count": 0
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 11,
        "merged_prs": 73,
        "open_issues": 11,
        "closed_ratio": 0.869,
        "closed_issues": 73,
        "closed_unmerged_prs": 23
      },
      "bus_factor": 2,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "deckarep",
          "commits": 92,
          "avatar_url": "https://avatars.githubusercontent.com/u/200686?v=4"
        },
        {
          "type": "User",
          "login": "rcaraveo",
          "commits": 17,
          "avatar_url": "https://avatars.githubusercontent.com/u/6844867?v=4"
        },
        {
          "type": "User",
          "login": "sjakobi",
          "commits": 11,
          "avatar_url": "https://avatars.githubusercontent.com/u/3664523?v=4"
        },
        {
          "type": "User",
          "login": "spakin",
          "commits": 10,
          "avatar_url": "https://avatars.githubusercontent.com/u/650041?v=4"
        },
        {
          "type": "User",
          "login": "ashkang",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/828401?v=4"
        },
        {
          "type": "User",
          "login": "mai7star",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/1502776?v=4"
        },
        {
          "type": "User",
          "login": "jeffwidman",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/483314?v=4"
        },
        {
          "type": "User",
          "login": "flrdv",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/97134096?v=4"
        },
        {
          "type": "User",
          "login": "ryclarke",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/16803587?v=4"
        },
        {
          "type": "User",
          "login": "joshlf",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/1046063?v=4"
        }
      ],
      "contributors_sampled": 43,
      "top_contributor_share": 0.472
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "go.sum"
      ],
      "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": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 4,
            "reason": "11 out of 27 merged PRs checked by a CI test -- score normalized to 4",
            "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": 7,
            "reason": "Found 22/30 approved changesets -- score normalized to 7",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 17 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": 0,
            "reason": "no 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": 9,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 3,
            "reason": "3 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 3",
            "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": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "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": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "da03b7639be5170e7b8fc7183b2d4663a4133419",
        "ran_at": "2026-07-25T06:06:54Z",
        "aggregate_score": 4.5,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-06-27T15:24:18Z",
      "oldest_open_prs": [
        {
          "number": 146,
          "created_at": "2024-09-23T20:04:00Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 154,
          "created_at": "2025-01-03T11:24:34Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 155,
          "created_at": "2025-01-15T14:09:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 157,
          "created_at": "2025-01-16T17:39:58Z",
          "last_comment_at": "2025-01-16T17:43:29Z",
          "last_comment_author": "wangzhione"
        },
        {
          "number": 179,
          "created_at": "2026-04-28T14:33:44Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 181,
          "created_at": "2026-05-06T06:58:05Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 183,
          "created_at": "2026-05-20T21:33:26Z",
          "last_comment_at": "2026-05-21T17:33:34Z",
          "last_comment_author": "deckarep"
        },
        {
          "number": 184,
          "created_at": "2026-05-27T14:24:56Z",
          "last_comment_at": "2026-05-27T16:35:27Z",
          "last_comment_author": "deckarep"
        },
        {
          "number": 185,
          "created_at": "2026-05-27T21:13:41Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 187,
          "created_at": "2026-06-29T12:48:37Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 188,
          "created_at": "2026-07-02T03:59:14Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-06-27T15:23:47Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 11,
          "created_at": "2014-04-28T13:53:24Z",
          "last_comment_at": "2022-03-27T07:34:52Z",
          "last_comment_author": "jeffwidman"
        },
        {
          "number": 128,
          "created_at": "2023-09-16T21:52:08Z",
          "last_comment_at": "2023-12-10T10:28:12Z",
          "last_comment_author": "Frassle"
        },
        {
          "number": 136,
          "created_at": "2024-04-09T21:31:07Z",
          "last_comment_at": "2024-04-10T01:21:38Z",
          "last_comment_author": "deckarep"
        },
        {
          "number": 139,
          "created_at": "2024-07-10T21:26:49Z",
          "last_comment_at": "2025-12-10T03:57:14Z",
          "last_comment_author": "lazychanger"
        },
        {
          "number": 147,
          "created_at": "2024-10-02T16:13:32Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 162,
          "created_at": "2025-03-28T07:18:43Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 163,
          "created_at": "2025-05-17T16:47:41Z",
          "last_comment_at": "2025-06-06T19:17:30Z",
          "last_comment_author": "deckarep"
        },
        {
          "number": 167,
          "created_at": "2025-07-29T21:21:26Z",
          "last_comment_at": "2025-11-13T22:43:43Z",
          "last_comment_author": "ssannkkallpp"
        },
        {
          "number": 169,
          "created_at": "2025-12-30T08:59:16Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 172,
          "created_at": "2026-03-31T12:28:41Z",
          "last_comment_at": "2026-07-06T03:53:02Z",
          "last_comment_author": "deckarep"
        },
        {
          "number": 182,
          "created_at": "2026-05-06T12:18:28Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/deckarep/golang-set",
    "host": "github.com",
    "name": "golang-set",
    "owner": "deckarep"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": "High-Risk Jurisdiction Policy applies a 50% multiplier to weighted overall health and gives it an At risk ceiling of 49.",
      "notes": [
        {
          "code": "jurisdiction_overall_adjustment",
          "params": {
            "cap": 49,
            "pct": 50
          }
        }
      ],
      "value": 30,
      "inputs": {
        "security": 38,
        "vitality": 57,
        "community": 68,
        "governance": 75,
        "engineering": 54,
        "high_risk_jurisdiction_cap": 49,
        "high_risk_jurisdiction_multiplier": 50,
        "weighted_overall_before_jurisdiction": 60,
        "overall_after_jurisdiction_multiplier": 30
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 57,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "at_risk",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 45,
            "inputs": {
              "commits_last_year": 11,
              "human_commit_share": 1,
              "days_since_last_push": 27,
              "active_weeks_last_year": 5
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 27 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 27
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "5/52 weeks with commits",
                "points": 3.5,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "11 commits in the last year",
                "points": 9.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "3 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 74,
            "inputs": {
              "releases_count": 14,
              "latest_release_tag": "v2.9.0",
              "releases_from_tags": false,
              "days_since_latest_release": 95,
              "mean_days_between_releases": 164.2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "14 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 95 days ago",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 95
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~164.2 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 164.2
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": 27,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 27 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 27
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 68,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "excellent",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 89,
            "inputs": {
              "forks": 291,
              "stars": 4703,
              "watchers": 48,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "4,703 stars",
                "points": 59.6,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 4703
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "291 forks",
                "points": 20.5,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 291
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "48 watchers",
                "points": 9.3,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 48
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "at_risk",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 44,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "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": "license file present, not a recognized license",
                "points": 16.9,
                "status": "partial",
                "details": [
                  {
                    "code": "license_custom",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 75,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 43,
              "top_contributor_share": 0.472
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 47% of commits",
                "points": 11.9,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 47
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "43 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 43
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 17 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "merged_prs": 73,
              "open_issues": 11,
              "closed_issues": 73,
              "issue_closed_ratio": 0.869,
              "closed_unmerged_prs": 23
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "87% of issues closed",
                "points": 40.6,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 87
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "73/96 decided PRs merged",
                "points": 29.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 73,
                      "decided": 96
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 22/30 approved changesets -- score normalized to 7",
                "points": 10.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 65,
            "inputs": {
              "followers": 245,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "deckarep",
              "public_repos": 154,
              "account_age_days": 6009
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "245 followers of deckarep",
                "points": 17.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 245,
                      "login": "deckarep"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "154 public repos, account ~16 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 154
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 16
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "github.com/deckarep/golang-set/v2"
              ],
              "ecosystems": "go",
              "any_deprecated": false,
              "min_days_since_publish": 95
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on go",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "go"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 95 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 95
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "11 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "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": 54,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 56,
            "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": "1 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "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": "11 out of 27 merged PRs checked by a CI test -- score normalized to 4",
                "points": 8,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "topics": [
                "go",
                "set",
                "threadsafe",
                "datastructures",
                "concurrency",
                "golang",
                "generics"
              ],
              "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": "7 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "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": "at_risk",
        "name": "Security",
        "value": 38,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "critical",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized. High-Risk Jurisdiction Policy applies a 50% multiplier to Security posture and gives it an At risk ceiling of 49.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "jurisdiction_posture_adjustment",
                "params": {
                  "cap": 49,
                  "pct": 50
                }
              }
            ],
            "value": 22,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 15,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 3,
              "scorecard_aggregate": 4.5,
              "high_risk_jurisdiction_cap": 49,
              "high_risk_jurisdiction_multiplier": 50,
              "security_posture_after_multiplier": 22,
              "security_posture_before_jurisdiction": 45
            },
            "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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "11 out of 27 merged PRs checked by a CI test -- score normalized to 4",
                "points": 1,
                "status": "partial",
                "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 22/30 approved changesets -- score normalized to 7",
                "points": 5.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 17 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": "no update tool detected",
                "points": 0,
                "status": "missed",
                "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.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "3 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 3",
                "points": 2.2,
                "status": "partial",
                "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 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "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 1 resolved dependencies against OSV. 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": 1
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 1,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "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": 1,
              "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": "moderate",
            "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": 50,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": true,
              "exposures": [
                {
                  "role": "top_contributor",
                  "count": 1,
                  "country": "Iran"
                }
              ],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 17
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "Iran: top_contributor (1)",
                "points": 50,
                "status": "partial",
                "details": [
                  {
                    "code": "jurisdiction_exposure",
                    "params": {
                      "role": "top_contributor",
                      "count": 1,
                      "country": "Iran"
                    }
                  }
                ],
                "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": "moderate",
        "name": "AI Readiness",
        "value": 52,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 22,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.41,
              "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": "41 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 21.9,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 41,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 56,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "go.sum"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "go.mod"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "go.mod (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "go.mod"
                    }
                  }
                ],
                "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": "Go (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "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": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "Go",
              "largest_source_bytes": 34413,
              "source_files_sampled": 15,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Go (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/15 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 15,
                      "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": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-25T06:07:18.242814Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/d/deckarep/golang-set.svg",
  "full_name": "deckarep/golang-set",
  "license_state": "custom",
  "license_spdx": null
}

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

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

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