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

sfztools / sfizz

SFZ parser and synth c++ library, providing a JACK standalone client

C++ · CBSD-2-Clause★ 532 зірки⑂ 87 форківз лип. 2019 р.архівнийПереглянути на GitHub ↗

sfztools/sfizz має індекс здоров’я 21 зі 100, що відповідає смузі «Критичний». Найвищий показник — Sustainability & Governance (69/100), найнижчий — Vitality (17/100). Репозиторій заархівовано, тож подальшої підтримки не очікується.

21
загалом / 100
Критичний

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

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

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

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

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

Abandonment Policy applies a 40% multiplier to weighted overall health and gives it a ceiling of 29.

Власність

SFZ ToolsОрганізація
52 підписники39 публічних репозиторіївз черв. 2019 р.

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

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

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

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

17Критичний · 22% загального індексу
Як обчислюється оцінка
0/36Свіжість push — останній push 492 дн. тому
0/36Ритм комітів — 0/52 тижнів із комітами
0/18Обсяг комітів — 0 комітів за останній рік
0/10OpenSSF Scorecard: Maintained — project is archived
Використані вхідні дані
commits_last_year0
human_commit_share0,99
days_since_last_push492
active_weeks_last_year0

Дисципліна релізів

40У зоні ризику
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 14 релізів
0/36Свіжість релізів — останній реліз 920 дн. тому
12.6/27Ритм релізів — реліз кожні ~141,1 дн.
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Використані вхідні дані
releases_count14
latest_release_tag1.2.3
releases_from_tagsні
days_since_latest_release920
mean_days_between_releases141,1

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

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

68Помірний · 18% загального індексу
Як обчислюється оцінка
44.2/60Зірки — 532 зірок
16.1/25Форки — 87 форків
7.1/15Спостерігачі — 20 спостерігачів
Використані вхідні дані
forks87
stars532
watchers20
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (BSD-2-Clause)
18/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ні

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

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

69Помірний · 24% загального індексу
Як обчислюється оцінка
25.2/54Бас-фактор — на 2 контриб’ютор(ів) припадає половина всіх комітів
11.4/22.5Розподіл комітів — головний контриб’ютор — автор 50% комітів
13.5/13.5Широта контриб’юторів — 24 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 17 contributing companies or organizations
Використані вхідні дані
bus_factor2
contributors_sampled24
top_contributor_share0,495
Як обчислюється оцінка
39.6/46.8Вирішення issue — закрито 85% issue
35.2/38.3Прийняття PR — злито 740/803 вирішених PR
9/15OpenSSF Scorecard: Code-Review — Found 11/18 approved changesets -- score normalized to 6
Використані вхідні дані
merged_prs740
open_issues59
closed_issues323
issue_closed_ratio0,846
closed_unmerged_prs63
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
12.4/25Охоплення власника — 52 підписників у sfztools
23.7/25Послужний список — 39 публічних репозиторіїв, вік облікового запису ~7 р.
Використані вхідні дані
followers52
owner_typeOrganization
is_verified
owner_loginsfztools
public_repos39
account_age_days2 605

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

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

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

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

65Помірний
Як обчислюється оцінка
30/30README
0/25Каталог документації
15/15Сайт документації / домашня сторінка — https://sfz.tools/sfizz/
10/10Опис репозиторію
10/10Теми — 10 тем
0/10Wiki
Використані вхідні дані
topicsjack, jack-client, sfz, sfz-files, sfz-format, sample-player, musical-instrument, sampler, sampler-engine, sfz-library
has_wikiні
homepagehttps://sfz.tools/sfizz/
has_readmeтак
has_docs_dirні
has_descriptionтак

Безпека

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

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

Стан безпеки

46У зоні ризику
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — немає даних
0/2.5CI-Tests — 0 out of 14 merged PRs checked by a CI test -- score normalized to 0
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
4.5/7.5Code-Review — Found 11/18 approved changesets -- score normalized to 6
2.5/2.5Contributors — project has 17 contributing companies or organizations
0/10Dangerous-Workflow — немає даних
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
0/7.5Maintained — project is archived
0/5Packaging — немає даних
0/5Pinned-Dependencies — немає даних
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 — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — немає даних
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated13
scorecard_versionv5.5.0
checks_inconclusive5
scorecard_aggregate4,6
Виключено з оцінювання (немає даних або не застосовно): branch_protection, dangerous_workflow, packaging, pinned_dependencies, token_permissions. Залишкові ваги перенормовано.

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

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

42У зоні ризику · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
10.2/40Читабельна історія комітів — намір зазначено у 19 з 99 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,192
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
0/18Розгортання однією командою
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — C++ (статично типізована)
0/10Відтворюване середовище
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
8/8Автоматизоване супроводження — 1 з останніх 100 комітів — автоматичні оновлення залежностей
0/10OpenSSF Scorecard: Pinned-Dependencies — немає даних
Використані вхідні дані
has_nixні
has_testsтак
lockfiles
has_dockerfileні
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0,01
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Pinned-Dependencies. Залишкові ваги перенормовано.
Як обчислюється оцінка
45/45Типізований код — C++ (статично типізована)
53.5/55Керовані розміри файлів — 11/412 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageC++
largest_source_bytes657 276
source_files_sampled412
oversized_source_files11
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
0/20Сервер MCP
40/40Придатні до запуску приклади — demos, samples
Використані вхідні дані
example_dirsdemos, samples
has_mcp_signalні
api_schema_files

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

532зірок GitHub
24контриб'юторів
0комітів за останні 12 місяців
492днів від останнього пушу
14релізів
2бас-фактор
59відкритих issue
пакетних екосистем

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

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

Докладніше

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

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

0204060801008432019-092023-022026-07
Мажорні 1Мінорні 6Патчі 7

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

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

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-23 14:32 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
0CI-Tests0 out of 14 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
6Code-ReviewFound 11/18 approved changesets -- score normalized to 6
10Contributorsproject has 17 contributing companies or organizations
н/дDangerous-Workflowno workflows found
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject is archived
н/дPackagingpackaging workflow not detected
н/дPinned-Dependenciesno dependencies found
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
н/дToken-PermissionsNo tokens found
10Vulnerabilities0 existing vulnerabilities detected
Усі залежності 0

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

РеєстрПакетВерсіяЗв'язок
Сповіщення про залежності не оцінено

Звірка сповіщень не відбулася для цього звіту: No resolved dependencies to assess

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "jack",
        "jack-client",
        "sfz",
        "sfz-files",
        "sfz-format",
        "sample-player",
        "musical-instrument",
        "sampler",
        "sampler-engine",
        "sfz-library"
      ],
      "is_fork": false,
      "size_kb": 22647,
      "has_wiki": false,
      "homepage": "https://sfz.tools/sfizz/",
      "languages": {
        "C": 743526,
        "D": 10284,
        "C++": 3225043,
        "Roff": 2548,
        "CMake": 72676,
        "Faust": 31890,
        "Shell": 2809,
        "Python": 24615,
        "Makefile": 20295
      },
      "pushed_at": "2025-03-17T20:18:36Z",
      "created_at": "2019-07-29T00:12:15Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-22T11:29:03Z",
      "description": "SFZ parser and synth c++ library, providing a JACK standalone client",
      "is_archived": true,
      "is_disabled": false,
      "license_spdx": "BSD-2-Clause",
      "default_branch": "develop",
      "license_spdx_raw": "BSD-2-Clause",
      "primary_language": "C++",
      "significant_languages": [
        "C++",
        "C"
      ]
    },
    "owner": {
      "blog": "https://sfztools.github.io",
      "name": "SFZ Tools",
      "type": "Organization",
      "login": "sfztools",
      "company": null,
      "location": null,
      "followers": 52,
      "avatar_url": "https://avatars.githubusercontent.com/u/51408767?v=4",
      "created_at": "2019-06-05T13:02:50Z",
      "is_verified": null,
      "public_repos": 39,
      "account_age_days": 2605
    },
    "license": {
      "state": "standard",
      "spdx_id": "BSD-2-Clause",
      "raw_spdx": "BSD-2-Clause",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "1.2.3",
          "kind": "patch",
          "published_at": "2024-01-14T21:32:13Z"
        },
        {
          "tag": "1.2.2",
          "kind": "patch",
          "published_at": "2023-08-26T13:50:54Z"
        },
        {
          "tag": "1.2.1",
          "kind": "patch",
          "published_at": "2023-04-15T00:06:30Z"
        },
        {
          "tag": "1.2.0",
          "kind": "minor",
          "published_at": "2022-01-15T22:59:19Z"
        },
        {
          "tag": "1.1.1",
          "kind": "patch",
          "published_at": "2021-11-08T15:13:36Z"
        },
        {
          "tag": "1.1.0",
          "kind": "minor",
          "published_at": "2021-10-23T21:38:57Z"
        },
        {
          "tag": "1.0.0",
          "kind": "major",
          "published_at": "2021-04-16T15:31:49Z"
        },
        {
          "tag": "0.5.1",
          "kind": "patch",
          "published_at": "2020-10-25T10:33:35Z"
        },
        {
          "tag": "0.5.0",
          "kind": "minor",
          "published_at": "2020-10-15T20:11:56Z"
        },
        {
          "tag": "0.4.0",
          "kind": "minor",
          "published_at": "2020-07-23T22:04:34Z"
        },
        {
          "tag": "0.3.2",
          "kind": "patch",
          "published_at": "2020-04-02T22:57:18Z"
        },
        {
          "tag": "0.3.1",
          "kind": "patch",
          "published_at": "2020-03-14T14:32:44Z"
        },
        {
          "tag": "0.3.0",
          "kind": "minor",
          "published_at": "2020-02-29T13:06:08Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2020-01-30T19:09:22Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "f5c6e29f23b8057867c08e88f5f6ac6738baa30b",
          "body": "…nd of the command by looking for both spaces and tabs",
          "is_bot": false,
          "headline": "skip over spaces and tabs to find a command fed to it, and find the e…",
          "author_name": "Ambrose Li",
          "author_login": "acli",
          "committed_at": "2025-03-17T20:18:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c52e2d6f3391f3f19786bc78b78f53439b0a7f8c",
          "body": "…ing spaces would confuse the interpreter",
          "is_bot": false,
          "headline": "skip over leading spaces of any command. Fixes the problem where lead…",
          "author_name": "Ambrose Li",
          "author_login": "acli",
          "committed_at": "2025-03-17T20:18:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb8c104b05d6a7166503efde327adbebfad9da37",
          "body": "The SFIZZ_RELEASE_ASSERTS option was ignored and always in effect.",
          "is_bot": false,
          "headline": "Fix SFIZZ_RELEASE_ASSERTS option",
          "author_name": "chucknology",
          "author_login": "chucknology",
          "committed_at": "2025-03-17T20:16:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d2b50fa2404c607a1b6f2685599dfb72bb6e719",
          "body": null,
          "is_bot": false,
          "headline": "consistency fix",
          "author_name": "Ambrose Li",
          "author_login": "acli",
          "committed_at": "2025-03-17T20:14:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5657be03df8bcaaa2d5c1c281fde89f2f98f8d1",
          "body": "… for set_oversampling",
          "is_bot": false,
          "headline": "Various minor formatting and wording fixes. Added missing description…",
          "author_name": "Ambrose Li",
          "author_login": "acli",
          "committed_at": "2025-03-17T20:14:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e62e7035052ab01258d48a505185e317f9f4a26c",
          "body": null,
          "is_bot": false,
          "headline": "least disruptive fix to the EOF problem",
          "author_name": "Ambrose Li",
          "author_login": "acli",
          "committed_at": "2025-03-17T20:14:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d885ee5043fe65929eb4e310bb37458295c61858",
          "body": "AppleClang does not support those arguments anymore:\n\n```\nc++: error: unsupported option '-mfpu=' for target 'arm64-apple-darwin23.6.0'\nc++: error: unsupported option '-mfloat-abi=' for target 'arm64-apple-darwin23.6.0'\ncc: error: unsupported option '-mfpu=' for target 'arm64-apple-darwin23.6.0'\ncc: error: unsupported option '-mfloat-abi=' for target 'arm64-apple-darwin23.6.0'\n```\n\nseealso: https://stackoverflow.com/questions/29851128/gcc-arm64-aarch64-unrecognized-command-line-option-mfpu-neon",
          "is_bot": false,
          "headline": "Do not add -mfpu and -mfloat-abi arguments if build target is Apple.",
          "author_name": "Atsushi Eno",
          "author_login": "atsushieno",
          "committed_at": "2025-03-17T20:12:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "720dcecb120c792495b44826462cdbc648a9e84f",
          "body": "Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7.\n- [Release notes](https://github.com/actions/download-artifact/releases)\n- [Commits](https://github.com/actions/download-artifact/compare/v3...v4.1.7)\n\n---\nupdated-dependencies:\n- dependency-name: actions/download-artifact\n  dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2025-03-17T20:11:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f623db6b15c6e610279321b896af446e63f2013a",
          "body": null,
          "is_bot": false,
          "headline": "Change website",
          "author_name": "Paul Ferrand",
          "author_login": "paulfd",
          "committed_at": "2025-03-17T20:06:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a708acbe8e82805d60f084d2c3fce64abed1280d",
          "body": "Fixes #1023.",
          "is_bot": false,
          "headline": "Update atomic_queue to v1.6.1",
          "author_name": "taylor.fish",
          "author_login": "taylordotfish",
          "committed_at": "2024-07-20T12:31:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "806bf1dde49621d08c50a6a496b25c42b1afa8b8",
          "body": "The project name was changed during the repository split but the pkgconfig file template wasn't updated",
          "is_bot": false,
          "headline": "Fix sfizz.pc.in",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2024-04-25T18:40:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "342cd99dd9eec2cab8f750db23f32f77492177df",
          "body": null,
          "is_bot": false,
          "headline": "Fix to pass a Polyphony test.",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-03-20T07:59:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4055582671d2d4071d5977fe2f8c02aac9f9114f",
          "body": "Fixes an issue that caused a crash when using a loop.",
          "is_bot": false,
          "headline": "Fixes an issue that caused stuck notes.",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-03-20T07:59:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4cafa3755d800cf744f36514eade87d9693cc5b9",
          "body": null,
          "is_bot": false,
          "headline": "dr_libs update",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2024-03-20T07:58:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b5d45f86768f9de97fae13c51c98a0d8b69863d",
          "body": null,
          "is_bot": false,
          "headline": "Dependencies update: cpuid 9, cxxopts 3.2.1 and pugixml 1.14",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2024-03-20T07:57:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "28e5130f446827f75f9e58d41e194023cf8139ff",
          "body": null,
          "is_bot": false,
          "headline": "Improved process for maxOffset in FilePool::setPreloadSize()",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-03-20T07:51:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3205fb4807a0dba71708a223bf93db5df4f64a05",
          "body": null,
          "is_bot": false,
          "headline": "Fixed a error in garbage collection",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-03-20T07:51:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6ba83466911bc6bf917aec6f8ae1bec15f09c28",
          "body": null,
          "is_bot": false,
          "headline": "Improved check in garbage collection",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-03-20T07:51:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ffaed1581a8645d0346a22b15b8cca8aa6a96600",
          "body": null,
          "is_bot": false,
          "headline": "Improved check for garbage collection",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-03-20T07:51:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c566631379a70544fb1f81455547bf35d88f2cde",
          "body": null,
          "is_bot": false,
          "headline": "FullyLoaded status becomes independent. Added GarbageCollecting status.",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-03-20T07:51:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f8f13f464ca71c4f9158da5f84a81a81d4c6e08d",
          "body": null,
          "is_bot": false,
          "headline": "Fixed status check order in garbage collection process",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-03-20T07:51:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3164a6c502e657bbbbb6158e7ba4c8f162cbce7a",
          "body": null,
          "is_bot": false,
          "headline": "Improved status check in garbage collection process",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-03-20T07:51:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e570dd9ff6270ece9b0e30fb5c6869d0808111c",
          "body": null,
          "is_bot": false,
          "headline": "Improved setting FilData::Status",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-03-20T07:51:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "40e726c12afb1cb4e49235511bf9fcf8a5a61b54",
          "body": null,
          "is_bot": false,
          "headline": "Added FileData::Status::FullLoaded",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-03-20T07:51:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85a275223a250dbe783f315dcba0096236b94924",
          "body": null,
          "is_bot": false,
          "headline": "Updated Changelog",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2024-02-23T15:14:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53917ec8f204fa073eec8612bace2598a867b5a3",
          "body": "release-test branch is intended to be used on a user repository, not upstream, to test builds before tagging.",
          "is_bot": false,
          "headline": "CI: simplified if conditional expressions, added release-test branch",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2024-02-20T12:47:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9392c2d9b2c2d140b571de08dd9929a42f142466",
          "body": null,
          "is_bot": false,
          "headline": "CI: clang-tidy on PR",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2024-02-20T12:17:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "698e27f6a0764eb88177c4bd2f56579688096593",
          "body": null,
          "is_bot": false,
          "headline": "C++20 Support",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-02-15T20:18:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc33ed160f49ba49ada5d74c9137a634c15fbb2d",
          "body": null,
          "is_bot": false,
          "headline": "Fixed a bug that causes invalid effect output",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-02-13T07:11:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d5f7bf4aa69bf68c2f535b83cb4a66740253fbb",
          "body": null,
          "is_bot": false,
          "headline": "Update abseil to the latest LTS",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2024-02-10T21:18:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f501666b17cb54ac9380ccc4edcd13adda2f028",
          "body": "We took a reference to a target member, while possibly moving the vector of all targets.",
          "is_bot": false,
          "headline": "Fix a used-after-free bug",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2024-02-10T21:18:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7beeffd2ad8e72044d624a416315010cd3109e2",
          "body": null,
          "is_bot": false,
          "headline": "Tweak SynthMessaging",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2024-02-10T13:06:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ca5a6c8cf241216e16f5a7f144fe7dbc726852f",
          "body": "10 minutes as default, 15 for macOS and Windows, 2 for source code package",
          "is_bot": false,
          "headline": "CI: added build timeout",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2024-02-08T20:23:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "753087fe2ea7375e650de864668d733d775298fb",
          "body": null,
          "is_bot": false,
          "headline": "Added invoke.hpp to git submodule check.",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-02-08T20:21:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f8fc628b3e6e2714add00379333d7c1002c3182c",
          "body": "- Compute the hash value on ModKey construction and memorize it\n- Fix missing region ID in the hash value of ModKey",
          "is_bot": false,
          "headline": "Improved note-on performance",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2024-02-04T07:45:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d7bcb49681bf47fbaa34c2bb27bfdf117c63b4e",
          "body": null,
          "is_bot": false,
          "headline": "Add setters",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2024-01-27T17:33:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad9c857513f5aeea88ee5793b2fff8a203f94ec0",
          "body": null,
          "is_bot": false,
          "headline": "Fix a fallthrough?",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2024-01-27T17:33:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df0806f1576c1a9eae529cf8fea9edb80506552c",
          "body": null,
          "is_bot": false,
          "headline": "Truncate MIDI values when denormalizing",
          "author_name": "essej",
          "author_login": "essej",
          "committed_at": "2024-01-27T17:33:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb50adc882363d6e9230ab3320b6cd8a8bedafcd",
          "body": "Trading off complexity when parsing/replying to the messages for complexity\nin some templated and overloaded code blocks.",
          "is_bot": false,
          "headline": "Refactor the messaging system",
          "author_name": "Paul Ferrand",
          "author_login": "paulfd",
          "committed_at": "2024-01-27T17:33:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e70dc0bef53b41f2853ed46e26f5911114c92d0",
          "body": null,
          "is_bot": false,
          "headline": "Update version",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2024-01-14T20:23:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d029431ae9d88d3477cc7f4196860f68c0a620e",
          "body": null,
          "is_bot": false,
          "headline": "Added release and date to changelog",
          "author_name": "Paul Ferrand",
          "author_login": "paulfd",
          "committed_at": "2024-01-14T20:56:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6a4add37cbdabe4cf3a40a9a971d5a5e61071a1a",
          "body": null,
          "is_bot": false,
          "headline": "Update CHANGELOG.md",
          "author_name": "Paul Ferrand",
          "author_login": "paulfd",
          "committed_at": "2024-01-14T20:54:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a927c5982101f00c90b67983e146265c9ce79de3",
          "body": "This reverts commit a2f62eab0435e67f42f2dfc8746dce7944cc0f57.",
          "is_bot": false,
          "headline": "Revert \"Changed GitBuildID.cmake to work as function\"",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2024-01-07T17:21:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2f62eab0435e67f42f2dfc8746dce7944cc0f57",
          "body": null,
          "is_bot": false,
          "headline": "Changed GitBuildID.cmake to work as function",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2024-01-04T12:00:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7633785567dfd9bd10c01250a7550292f5762f03",
          "body": "…tants names",
          "is_bot": false,
          "headline": "Added a PREFIX optional parameter to GitBuildId to use different cons…",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2024-01-04T08:38:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2490ef63a2e4c7c3c8315f88628cad0b022fc03",
          "body": "this flag it's necessary when updating a submodule, to avoid CMake to restore the previous state\nwhen configuring before a test build.",
          "is_bot": false,
          "headline": "Added SFIZZ_GIT_SUBMODULE_CHECK flag",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2024-01-04T08:35:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd042c84e83b4075819d8ba992e34e7ca47dfcfd",
          "body": null,
          "is_bot": false,
          "headline": "Updated wavpack",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2024-01-03T22:53:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "749e5c284556dca4d5485b726ec4639b4614fed3",
          "body": null,
          "is_bot": false,
          "headline": "Fix CMake for older versions",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2024-01-02T11:14:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49699de043d911f46a6c01c8f09a12e39ea870bc",
          "body": null,
          "is_bot": false,
          "headline": "Add parsing tests",
          "author_name": "Paul Ferrand",
          "author_login": "paulfd",
          "committed_at": "2024-01-01T11:19:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b45dcc70cfe7d403d23b68f9f737a33e328e8a3",
          "body": null,
          "is_bot": false,
          "headline": "Cleanup region parsing",
          "author_name": "Paul Ferrand",
          "author_login": "paulfd",
          "committed_at": "2024-01-01T11:19:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "adefb7d60e7d183a24317d33736828dfcd91a734",
          "body": null,
          "is_bot": false,
          "headline": "Add support for `curvecc` opcodes on v1 EGs",
          "author_name": "Python Blue",
          "author_login": "PythonBlue",
          "committed_at": "2024-01-01T11:19:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "000b26334418836840f0e8917b2a025da19462cc",
          "body": null,
          "is_bot": false,
          "headline": "Don't send note offs when CCs are choking",
          "author_name": "Paul Ferrand",
          "author_login": "paulfd",
          "committed_at": "2023-12-27T09:41:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "689200f8107efb195e93f6a8177c41dcc9860a78",
          "body": "- Test triggering with note information\n- Test choking\n- Fix logic: don't check that the new CC value changed on polyaftertouch\n    cc130 messages (hopefully e-drums don't send multiple polyafts for\n    the same note like some controllers do for the pedals...)",
          "is_bot": false,
          "headline": "Add tests for note-aware polyaft",
          "author_name": "Paul Ferrand",
          "author_login": "paulfd",
          "committed_at": "2023-12-27T09:41:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4224b57924e121eb3a5b4d4b5f853c629b1a4ea",
          "body": "…y useful when used as trigger with on_lo/hicc130 opcodes, so that the key range can be used select appropriate regions independently.",
          "is_bot": false,
          "headline": "allow polyaftertouch extended CC (130) to respect note num, especiall…",
          "author_name": "essej",
          "author_login": "essej",
          "committed_at": "2023-12-27T09:41:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85832f2baf3b44bdcd11e5a4a79560a1c891bd8b",
          "body": null,
          "is_bot": false,
          "headline": "Allow simultaneous notes to choke properly",
          "author_name": "Paul Ferrand",
          "author_login": "pferrand-soundhound",
          "committed_at": "2023-12-26T19:48:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a51e0b985bee3db501bf631f341aef81d5bf591",
          "body": null,
          "is_bot": false,
          "headline": "Use the standard opcode value read for `hint_ram_based`",
          "author_name": "Paul Ferrand",
          "author_login": "pferrand-soundhound",
          "committed_at": "2023-12-26T15:25:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1c77b96d2f86376e68fd1196649d04347d8aac13",
          "body": null,
          "is_bot": false,
          "headline": "Don't start loading jobs if hint_ram_based is set",
          "author_name": "Paul Ferrand",
          "author_login": "pferrand-soundhound",
          "committed_at": "2023-12-26T09:23:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be7c5264951bd0bbccc7dee102732bc7ceb67dc2",
          "body": null,
          "is_bot": false,
          "headline": "README: fixed broken links",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-12-18T19:06:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf2d49ccfc3dc8488dbdb3dc60389f6a8319f79c",
          "body": "Cakewalk opcodes have been merged with sfz v2 opcodes into the sfzformat upstream database",
          "is_bot": false,
          "headline": "README: Removed Cakewalk opcodes support badge",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-12-18T17:38:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "652ccb9059603d244b104568a9abf829f63f1d93",
          "body": "multiplied by the number of the WavPack file's channels.",
          "is_bot": false,
          "headline": "Fix a bug that st_read_s16 and st_read_f32 reterned the number of frames",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2023-12-10T14:05:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be202a3b8a7006d354db99b09b6dbe171852a084",
          "body": null,
          "is_bot": false,
          "headline": "fix tuning root",
          "author_name": "KIRA Ryouta",
          "author_login": "KKQ-KKQ",
          "committed_at": "2023-12-10T11:02:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d91b338e1b6dcc600b481cfd79a011e174624913",
          "body": null,
          "is_bot": false,
          "headline": "Added GitSubmoduleCheck.cmake module",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-12-10T10:46:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6287a121da6d97318e563aea9035ec11adf469f",
          "body": "The voice manager may select a voice that is\ncurrently audible, so its state has to be cleaned\nup before starting over.\n\nFixes: https://github.com/sfztools/sfizz/issues/1180",
          "is_bot": false,
          "headline": "synth: Reset the voice before starting it",
          "author_name": "Ivan A. Melnikov",
          "author_login": "iv-m",
          "committed_at": "2023-12-10T10:46:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9dac3cbd6089b95b1ad17b29c39440d597f163a0",
          "body": "…ages (Issue #1086)",
          "is_bot": false,
          "headline": "Adjusted the gain compensation to not lose gain due to applied pan st…",
          "author_name": "cvde",
          "author_login": "cvde",
          "committed_at": "2023-12-10T10:45:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b38c0bbc2b1f16e6e55bcd5e2d4007e321e6132",
          "body": null,
          "is_bot": false,
          "headline": "Add lotimer/hitimer tests",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2023-12-10T09:49:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "621b4c2415139008c659a21a4f2376589848668c",
          "body": "While not widely supported or well documented, is very useful especially when\ntriggering a note with on_locc/on_hicc to prevent a bunch of retriggers.\n\nThe region will trigger as long as the elapsed time from the note-on of the most recently triggered region in\nthe current polyphony group is between lotimer and hitimer amount of seconds. lotimer default 0, hitimer default is\nmax_float.\n\nExample use: to preventing a region from retriggering too quickly, set lotimer=0.1",
          "is_bot": false,
          "headline": "Add support for opcodes lotimer/hitimer",
          "author_name": "essej",
          "author_login": "essej",
          "committed_at": "2023-12-10T09:49:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "276ab2ce68d0c09716578cd576d9f18b8ac85593",
          "body": null,
          "is_bot": false,
          "headline": "Updated Doxyfile.in template",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-11-14T10:25:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7cf5dd22a5c05cf41694bb537edd1d0e52f67cf3",
          "body": null,
          "is_bot": false,
          "headline": "Keep track of wavpack arm configuration issue",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-10-21T09:56:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1a7785f34d3a98499938db078bb06f8ed4c45dae",
          "body": null,
          "is_bot": false,
          "headline": "Further wavpack tweaks",
          "author_name": "Paul Ferrand",
          "author_login": "pferrand-soundhound",
          "committed_at": "2023-10-16T20:00:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e2952b69b9f5f9e4332b74928948ccb207ce8de",
          "body": null,
          "is_bot": false,
          "headline": "Fix some Apple build inconsistencies",
          "author_name": "Paul Ferrand",
          "author_login": "pferrand-soundhound",
          "committed_at": "2023-09-29T09:18:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afc6dbaa3bc6d75678dd0d096f8207828282e939",
          "body": null,
          "is_bot": false,
          "headline": "Explicitly disabled unwanted WavPack options",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-08-29T20:31:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2a4ded7386ccf30aa37f0c1a27199c897e222ac",
          "body": "this fixes an upstream CMake minimum version compatibility issue",
          "is_bot": false,
          "headline": "Updated wavpack submodule",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-08-29T18:56:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b27cc4e5360aeb79f63ab0d5b217f4772f6d1afd",
          "body": null,
          "is_bot": false,
          "headline": "CI: Fixed Windows release zip package",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-08-26T14:06:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c2783f1853067af933cdc8cc6e523d12a296b59d",
          "body": null,
          "is_bot": false,
          "headline": "Typo in CHANGELOG",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-08-26T13:29:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4174e8e00f998f4678547814c0108d74c210e9ad",
          "body": null,
          "is_bot": false,
          "headline": "Updated CHANGELOG",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-08-25T11:16:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "69896109e7121b8a1ab47f53f6f6eaeac0571b3a",
          "body": null,
          "is_bot": false,
          "headline": "modifications to support univeral x86_64/ARM builds on Mac",
          "author_name": "essej",
          "author_login": "essej",
          "committed_at": "2023-08-24T08:19:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c25f9546b0fe27e4ff5f48e2d805196434d9fe4a",
          "body": null,
          "is_bot": false,
          "headline": "Add a test for #1077",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2023-08-08T08:32:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0dc79ff1002a83c0597c5a305896c4871d24e47b",
          "body": "Still failing sometimes",
          "is_bot": false,
          "headline": "Disable the audiofiles checks",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2023-08-07T21:12:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09c9256b921fae672a8623f0dc563a57321030ed",
          "body": null,
          "is_bot": false,
          "headline": "Enable the <sample> test",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2023-08-07T20:48:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e771a45e7ce9d7a35e7a7e89b9da27b765be5e3",
          "body": "- Add ASAN workflows\n- Remove flag messages from configure; these are misleading as they exclude `COMPILE_OPTIONS`\n- Fix non-working tests\n- Fix WavPack file loading on Windows\n- Fix ASAN traps in LoFi code due to a SIMD `loadu` call in HIIR resamplers\n- Add tests for st_audiofile\n-",
          "is_bot": false,
          "headline": "Reenable and fix tests",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2023-08-07T20:48:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "507c61d458598907a59d9b4d51e33aa498b85cd3",
          "body": null,
          "is_bot": false,
          "headline": "Fix modulation matrix when CC modulations are per voice",
          "author_name": "Python Blue",
          "author_login": "PythonBlue",
          "committed_at": "2023-08-07T20:03:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d470f7004ec29956a987a50dd6a937e0f1577c94",
          "body": "- C/CXX should not be passed to MASM\n- Fix CMAKE_BUILD_TYPE",
          "is_bot": false,
          "headline": "Fix build on Windows",
          "author_name": "Paul Fd",
          "author_login": "paulfd",
          "committed_at": "2023-08-07T09:44:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "27228226f94270a89742779a3d11516f226d6a51",
          "body": "Fix FlexEGs shape",
          "is_bot": false,
          "headline": "Merge pull request #1177 from sfztools/issue-1176",
          "author_name": "Paul Ferrand",
          "author_login": "paulfd",
          "committed_at": "2023-08-03T15:19:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d8c780df8ef0ce32873fe330b91cf548b64e588",
          "body": null,
          "is_bot": false,
          "headline": "Fix FlexEGs shape",
          "author_name": "Paul Ferrand",
          "author_login": "paulfd",
          "committed_at": "2023-08-03T11:26:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2248de38682cd90b5d9dfaff5367ed03bdeac3d3",
          "body": "Unclamp the cutoff and add OSC queries for the cutoff modifiers",
          "is_bot": false,
          "headline": "Merge pull request #1100 from paulfd/cutoff-cc",
          "author_name": "Paul Ferrand",
          "author_login": "paulfd",
          "committed_at": "2023-06-07T06:58:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cfc39ca724ad077cf57c8b64fd5dc4e6ec816689",
          "body": "Add WavPack audio files support",
          "is_bot": false,
          "headline": "Merge pull request #1129 from lucianoiam/wavpack",
          "author_name": "Paul Ferrand",
          "author_login": "paulfd",
          "committed_at": "2023-05-31T15:25:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d2a16c3157a4a9d05ffc2f44c0fe958ba395dd2",
          "body": null,
          "is_bot": false,
          "headline": "CI: Removed MinGW builds",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-05-30T08:53:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1fb62d5043dd04eb21e0fc99fc3faa745c068f89",
          "body": null,
          "is_bot": false,
          "headline": "Removed VCPKG option",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-05-30T08:41:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3c416496f26b41b27c82d8e1adf750e4e24ed27",
          "body": null,
          "is_bot": false,
          "headline": "Move define",
          "author_name": "Paul Ferrand",
          "author_login": "pferrand-soundhound",
          "committed_at": "2023-05-30T07:23:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "17584a414a60e489dae1328c2d7959590aceece1",
          "body": null,
          "is_bot": false,
          "headline": "Fix makefile",
          "author_name": "Paul Ferrand",
          "author_login": "pferrand-soundhound",
          "committed_at": "2023-05-29T12:59:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "121d7955599fcb1404a8bf963afde3163d5a2271",
          "body": null,
          "is_bot": false,
          "headline": "Cover flac since we're at it",
          "author_name": "Paul Ferrand",
          "author_login": "pferrand-soundhound",
          "committed_at": "2023-05-29T12:02:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e4e6460d8fd505feec47cf57b7cdbb27b46b345",
          "body": null,
          "is_bot": false,
          "headline": "Add a test",
          "author_name": "Paul Ferrand",
          "author_login": "pferrand-soundhound",
          "committed_at": "2023-05-28T14:37:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e59a41be6994ae0b9dca6e82b688a74d21e87638",
          "body": null,
          "is_bot": false,
          "headline": "Properly load float WavPack audio",
          "author_name": "Luciano Iam",
          "author_login": null,
          "committed_at": "2023-05-28T14:05:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1158bae66a96b5287c3af30ed939c827afc31a1",
          "body": null,
          "is_bot": false,
          "headline": "Deal with multichannel WavPack files",
          "author_name": "Luciano Iam",
          "author_login": null,
          "committed_at": "2023-05-28T14:05:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e388848d3d5090ec618de4ddf7c4b37d4327bfd",
          "body": null,
          "is_bot": false,
          "headline": "Support audio files with .wv extension",
          "author_name": "Luciano Iam",
          "author_login": null,
          "committed_at": "2023-05-28T14:05:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a35110c70666e7471fffd6baf8eb1dc8b744f0f3",
          "body": null,
          "is_bot": false,
          "headline": "Support WavPack in st_audiofile",
          "author_name": "Luciano Iam",
          "author_login": null,
          "committed_at": "2023-05-28T14:05:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bca192de54d68c1bf21563ca6768725617291521",
          "body": null,
          "is_bot": false,
          "headline": "Add WavPack library",
          "author_name": "Luciano Iam",
          "author_login": null,
          "committed_at": "2023-05-28T14:05:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b4ef10bcfd326c0f9a18016bd8156fdd73f08b1",
          "body": "Remove CXX standard switches on CI to use the default config",
          "is_bot": false,
          "headline": "Merge pull request #1171 from sfztools/remove-cxx-switches-ci",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-05-28T08:58:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "28c3b10c172a0ee446cbb5ef801f5bb3fb303add",
          "body": "Crash fix for reloading SFZ : needed to copy preloadCallCount in FilePool copy constructors",
          "is_bot": false,
          "headline": "Merge pull request #1170 from essej/filepool-copy-fix",
          "author_name": "redtide",
          "author_login": "redtide",
          "committed_at": "2023-05-28T08:36:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c5ba3de7a02c253b94c470d7d5f16f04b7ab4cd",
          "body": null,
          "is_bot": false,
          "headline": "Remove CXX standard switches on CI to use the default config",
          "author_name": "Paul Ferrand",
          "author_login": "pferrand-soundhound",
          "committed_at": "2023-05-28T08:21:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 14,
      "commits_last_year": 0,
      "latest_release_at": "2024-01-14T21:32:13Z",
      "latest_release_tag": "1.2.3",
      "releases_from_tags": false,
      "days_since_last_push": 492,
      "active_weeks_last_year": 0,
      "days_since_latest_release": 920,
      "mean_days_between_releases": 141.1
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 87,
      "stars": 532,
      "watchers": 20,
      "fork_history": {
        "days": [
          {
            "date": "2019-09-10",
            "count": 1
          },
          {
            "date": "2019-12-29",
            "count": 1
          },
          {
            "date": "2020-01-19",
            "count": 1
          },
          {
            "date": "2020-01-28",
            "count": 1
          },
          {
            "date": "2020-02-12",
            "count": 1
          },
          {
            "date": "2020-02-27",
            "count": 2
          },
          {
            "date": "2020-03-11",
            "count": 1
          },
          {
            "date": "2020-04-08",
            "count": 1
          },
          {
            "date": "2020-04-13",
            "count": 1
          },
          {
            "date": "2020-04-22",
            "count": 1
          },
          {
            "date": "2020-07-10",
            "count": 1
          },
          {
            "date": "2020-07-18",
            "count": 1
          },
          {
            "date": "2021-02-02",
            "count": 1
          },
          {
            "date": "2021-05-07",
            "count": 1
          },
          {
            "date": "2021-06-07",
            "count": 1
          },
          {
            "date": "2021-07-18",
            "count": 1
          },
          {
            "date": "2021-07-22",
            "count": 1
          },
          {
            "date": "2021-08-19",
            "count": 1
          },
          {
            "date": "2021-08-22",
            "count": 1
          },
          {
            "date": "2021-11-12",
            "count": 1
          },
          {
            "date": "2022-02-03",
            "count": 1
          },
          {
            "date": "2022-02-26",
            "count": 1
          },
          {
            "date": "2022-05-09",
            "count": 1
          },
          {
            "date": "2022-07-09",
            "count": 1
          },
          {
            "date": "2022-07-10",
            "count": 1
          },
          {
            "date": "2022-08-23",
            "count": 1
          },
          {
            "date": "2022-08-24",
            "count": 1
          },
          {
            "date": "2022-09-27",
            "count": 1
          },
          {
            "date": "2022-09-28",
            "count": 1
          },
          {
            "date": "2022-10-02",
            "count": 1
          },
          {
            "date": "2022-11-10",
            "count": 1
          },
          {
            "date": "2022-12-21",
            "count": 1
          },
          {
            "date": "2023-02-03",
            "count": 1
          },
          {
            "date": "2023-03-28",
            "count": 1
          },
          {
            "date": "2023-05-07",
            "count": 1
          },
          {
            "date": "2023-05-10",
            "count": 1
          },
          {
            "date": "2023-06-12",
            "count": 1
          },
          {
            "date": "2023-07-05",
            "count": 1
          },
          {
            "date": "2023-07-18",
            "count": 1
          },
          {
            "date": "2023-07-20",
            "count": 1
          },
          {
            "date": "2023-08-09",
            "count": 1
          },
          {
            "date": "2023-08-14",
            "count": 1
          },
          {
            "date": "2023-10-17",
            "count": 1
          },
          {
            "date": "2023-10-24",
            "count": 1
          },
          {
            "date": "2023-10-29",
            "count": 1
          },
          {
            "date": "2023-12-09",
            "count": 1
          },
          {
            "date": "2024-01-10",
            "count": 1
          },
          {
            "date": "2024-02-23",
            "count": 1
          },
          {
            "date": "2024-02-27",
            "count": 1
          },
          {
            "date": "2024-05-27",
            "count": 1
          },
          {
            "date": "2024-06-20",
            "count": 1
          },
          {
            "date": "2024-10-29",
            "count": 1
          },
          {
            "date": "2024-11-28",
            "count": 1
          },
          {
            "date": "2024-12-14",
            "count": 1
          },
          {
            "date": "2025-02-07",
            "count": 1
          },
          {
            "date": "2025-03-09",
            "count": 1
          },
          {
            "date": "2025-04-09",
            "count": 1
          },
          {
            "date": "2025-04-10",
            "count": 1
          },
          {
            "date": "2025-04-24",
            "count": 1
          },
          {
            "date": "2025-05-05",
            "count": 1
          },
          {
            "date": "2025-05-21",
            "count": 1
          },
          {
            "date": "2025-06-07",
            "count": 1
          },
          {
            "date": "2025-06-11",
            "count": 1
          },
          {
            "date": "2025-07-08",
            "count": 1
          },
          {
            "date": "2025-07-15",
            "count": 1
          },
          {
            "date": "2025-10-07",
            "count": 1
          },
          {
            "date": "2025-10-11",
            "count": 1
          },
          {
            "date": "2025-10-22",
            "count": 1
          },
          {
            "date": "2026-01-18",
            "count": 1
          },
          {
            "date": "2026-03-07",
            "count": 1
          },
          {
            "date": "2026-03-10",
            "count": 1
          },
          {
            "date": "2026-04-15",
            "count": 1
          },
          {
            "date": "2026-05-06",
            "count": 1
          },
          {
            "date": "2026-05-07",
            "count": 1
          },
          {
            "date": "2026-05-17",
            "count": 2
          },
          {
            "date": "2026-05-26",
            "count": 1
          },
          {
            "date": "2026-06-11",
            "count": 1
          },
          {
            "date": "2026-06-19",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 1
          },
          {
            "date": "2026-07-02",
            "count": 1
          },
          {
            "date": "2026-07-04",
            "count": 1
          },
          {
            "date": "2026-07-16",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 84,
        "total_forks": 87
      },
      "star_history": null,
      "open_issues_and_prs": 73
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "demos",
        "samples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 657276,
      "source_files_sampled": 412,
      "oversized_source_files": 11,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [],
      "advisories": {
        "error": "No resolved dependencies to assess",
        "scope": "repository_graph",
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [],
        "collected": true,
        "truncated": false,
        "total_count": 0,
        "direct_count": 0,
        "indirect_count": 0
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 14,
        "merged_prs": 740,
        "open_issues": 59,
        "closed_ratio": 0.846,
        "closed_issues": 323,
        "closed_unmerged_prs": 63
      },
      "bus_factor": 2,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "jpcima",
          "commits": 1840,
          "avatar_url": "https://avatars.githubusercontent.com/u/17614485?v=4"
        },
        {
          "type": "User",
          "login": "paulfd",
          "commits": 1504,
          "avatar_url": "https://avatars.githubusercontent.com/u/15227713?v=4"
        },
        {
          "type": "User",
          "login": "redtide",
          "commits": 270,
          "avatar_url": "https://avatars.githubusercontent.com/u/1171962?v=4"
        },
        {
          "type": "User",
          "login": "pferrand-soundhound",
          "commits": 22,
          "avatar_url": "https://avatars.githubusercontent.com/u/164353193?v=4"
        },
        {
          "type": "User",
          "login": "KKQ-KKQ",
          "commits": 17,
          "avatar_url": "https://avatars.githubusercontent.com/u/23325395?v=4"
        },
        {
          "type": "User",
          "login": "psav",
          "commits": 13,
          "avatar_url": "https://avatars.githubusercontent.com/u/5639745?v=4"
        },
        {
          "type": "User",
          "login": "atsushieno",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/53929?v=4"
        },
        {
          "type": "User",
          "login": "jofemodo",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/834765?v=4"
        },
        {
          "type": "User",
          "login": "acli",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/1517117?v=4"
        },
        {
          "type": "User",
          "login": "AlexMitchellMus",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/12004932?v=4"
        }
      ],
      "contributors_sampled": 24,
      "top_contributor_share": 0.495
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": true,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "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": 0,
            "reason": "0 out of 14 merged PRs checked by a CI test -- score normalized to 0",
            "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": 6,
            "reason": "Found 11/18 approved changesets -- score normalized to 6",
            "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": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project is archived",
            "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": null,
            "reason": "no dependencies found",
            "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": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "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": "f5c6e29f23b8057867c08e88f5f6ac6738baa30b",
        "ran_at": "2026-07-23T14:32:36Z",
        "aggregate_score": 4.6,
        "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": null,
      "oldest_open_prs": [
        {
          "number": 340,
          "created_at": "2020-08-01T10:13:19Z",
          "last_comment_at": "2020-12-26T17:33:21Z",
          "last_comment_author": "paulfd"
        },
        {
          "number": 569,
          "created_at": "2020-12-06T06:22:03Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1020,
          "created_at": "2021-11-10T10:10:07Z",
          "last_comment_at": "2022-11-11T18:24:04Z",
          "last_comment_author": "ephemer"
        },
        {
          "number": 1172,
          "created_at": "2023-05-28T09:26:21Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1229,
          "created_at": "2024-01-15T06:55:16Z",
          "last_comment_at": "2024-01-15T08:21:16Z",
          "last_comment_author": "redtide"
        },
        {
          "number": 1253,
          "created_at": "2024-02-28T09:43:17Z",
          "last_comment_at": "2024-02-28T10:31:09Z",
          "last_comment_author": "redtide"
        },
        {
          "number": 1280,
          "created_at": "2024-06-21T01:52:05Z",
          "last_comment_at": "2025-07-03T20:20:55Z",
          "last_comment_author": "paulfd"
        },
        {
          "number": 1283,
          "created_at": "2024-07-09T09:33:46Z",
          "last_comment_at": "2025-03-17T20:13:38Z",
          "last_comment_author": "paulfd"
        },
        {
          "number": 1284,
          "created_at": "2024-07-14T01:34:26Z",
          "last_comment_at": "2025-03-17T22:13:51Z",
          "last_comment_author": "KKQ-KKQ"
        },
        {
          "number": 1312,
          "created_at": "2025-03-17T20:19:20Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1314,
          "created_at": "2025-04-09T10:58:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1315,
          "created_at": "2025-04-10T22:19:05Z",
          "last_comment_at": "2026-05-10T21:14:45Z",
          "last_comment_author": "paulfd"
        },
        {
          "number": 1320,
          "created_at": "2025-10-07T21:43:51Z",
          "last_comment_at": "2025-10-15T20:57:30Z",
          "last_comment_author": "essej"
        },
        {
          "number": 1321,
          "created_at": "2025-10-09T21:30:26Z",
          "last_comment_at": "2026-05-10T21:13:05Z",
          "last_comment_author": "paulfd"
        }
      ],
      "last_merged_pr_at": "2025-03-17T20:18:36Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 73,
          "created_at": "2020-02-21T10:22:39Z",
          "last_comment_at": "2021-11-09T14:30:57Z",
          "last_comment_author": "paulfd"
        },
        {
          "number": 90,
          "created_at": "2020-02-29T07:58:19Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 91,
          "created_at": "2020-02-29T08:07:37Z",
          "last_comment_at": "2021-11-24T12:05:44Z",
          "last_comment_author": "paulfd"
        },
        {
          "number": 150,
          "created_at": "2020-04-02T11:47:49Z",
          "last_comment_at": "2020-10-09T02:51:18Z",
          "last_comment_author": "AlexMitchellMus"
        },
        {
          "number": 207,
          "created_at": "2020-05-03T08:03:10Z",
          "last_comment_at": "2020-05-29T16:39:57Z",
          "last_comment_author": "paulfd"
        },
        {
          "number": 225,
          "created_at": "2020-05-13T18:43:01Z",
          "last_comment_at": "2021-12-29T00:24:34Z",
          "last_comment_author": "paulfd"
        },
        {
          "number": 329,
          "created_at": "2020-07-24T11:06:59Z",
          "last_comment_at": "2023-08-04T16:58:51Z",
          "last_comment_author": "tank-trax"
        },
        {
          "number": 330,
          "created_at": "2020-07-24T18:33:02Z",
          "last_comment_at": "2020-07-25T17:44:02Z",
          "last_comment_author": "jpcima"
        },
        {
          "number": 383,
          "created_at": "2020-08-19T20:31:15Z",
          "last_comment_at": "2020-09-22T22:24:33Z",
          "last_comment_author": "jpcima"
        },
        {
          "number": 503,
          "created_at": "2020-10-15T22:02:35Z",
          "last_comment_at": "2021-07-16T15:10:51Z",
          "last_comment_author": "paulfd"
        },
        {
          "number": 510,
          "created_at": "2020-10-20T20:13:28Z",
          "last_comment_at": "2020-11-01T06:01:04Z",
          "last_comment_author": "jpcima"
        },
        {
          "number": 860,
          "created_at": "2021-04-26T12:58:12Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 903,
          "created_at": "2021-05-23T12:55:30Z",
          "last_comment_at": "2021-05-23T13:27:28Z",
          "last_comment_author": "jpcima"
        },
        {
          "number": 936,
          "created_at": "2021-06-28T08:31:29Z",
          "last_comment_at": "2021-08-29T19:57:04Z",
          "last_comment_author": "paulfd"
        },
        {
          "number": 974,
          "created_at": "2021-08-20T10:33:20Z",
          "last_comment_at": "2021-10-30T20:41:51Z",
          "last_comment_author": "paulfd"
        },
        {
          "number": 1009,
          "created_at": "2021-11-09T14:09:23Z",
          "last_comment_at": "2022-10-03T22:48:20Z",
          "last_comment_author": "6-AND-9"
        },
        {
          "number": 1012,
          "created_at": "2021-11-09T14:15:35Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1013,
          "created_at": "2021-11-09T14:17:47Z",
          "last_comment_at": "2021-11-09T21:43:15Z",
          "last_comment_author": "PythonBlue"
        },
        {
          "number": 1015,
          "created_at": "2021-11-09T14:31:18Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 1043,
          "created_at": "2021-11-24T16:01:33Z",
          "last_comment_at": "2021-12-15T09:20:19Z",
          "last_comment_author": "paulfd"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/sfztools/sfizz",
    "host": "github.com",
    "name": "sfizz",
    "owner": "sfztools"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "critical",
      "name": "Overall health",
      "note": "Abandonment Policy applies a 40% multiplier to weighted overall health and gives it a ceiling of 29.",
      "notes": [
        {
          "code": "abandonment_overall_adjustment",
          "params": {
            "cap": 29,
            "pct": 40
          }
        }
      ],
      "value": 21,
      "inputs": {
        "security": 46,
        "vitality": 17,
        "community": 68,
        "governance": 69,
        "engineering": 58,
        "abandonment_cap": 29,
        "abandonment_state": "declared",
        "abandonment_multiplier": 40,
        "weighted_overall_before_abandonment": 52,
        "overall_after_abandonment_multiplier": 21
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "critical",
        "name": "Vitality",
        "value": 17,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "critical",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "commits_last_year": 0,
              "human_commit_share": 0.99,
              "days_since_last_push": 492,
              "active_weeks_last_year": 0
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 492 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 492
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "0/52 weeks with commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "0 commits in the last year",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project is archived",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "at_risk",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "releases_count": 14,
              "latest_release_tag": "1.2.3",
              "releases_from_tags": false,
              "days_since_latest_release": 920,
              "mean_days_between_releases": 141.1
            },
            "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 920 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 920
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~141.1 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 141.1
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "at_risk",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "cap": 29,
              "state": "declared",
              "guards": [],
              "signals": [],
              "red_flag": true,
              "multiplier_pct": 40,
              "declared_reason": "archived",
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "the repository is archived on GitHub",
                "points": 40,
                "status": "partial",
                "details": [
                  {
                    "code": "abandonment_archived",
                    "params": {}
                  }
                ],
                "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": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 67,
            "inputs": {
              "forks": 87,
              "stars": 532,
              "watchers": 20,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "532 stars",
                "points": 44.2,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 532
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "87 forks",
                "points": 16.1,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 87
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "20 watchers",
                "points": 7.1,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 20
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "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": "recognized license (BSD-2-Clause)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "BSD-2-Clause"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 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": "moderate",
        "name": "Sustainability & Governance",
        "value": 69,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 24,
              "top_contributor_share": 0.495
            },
            "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 50% of commits",
                "points": 11.4,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 50
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "24 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 24
                    }
                  }
                ],
                "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": 84,
            "inputs": {
              "merged_prs": 740,
              "open_issues": 59,
              "closed_issues": 323,
              "issue_closed_ratio": 0.846,
              "closed_unmerged_prs": 63
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "85% of issues closed",
                "points": 39.6,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 85
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "740/803 decided PRs merged",
                "points": 35.2,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 740,
                      "decided": 803
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 11/18 approved changesets -- score normalized to 6",
                "points": 9,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 66,
            "inputs": {
              "followers": 52,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "sfztools",
              "public_repos": 39,
              "account_age_days": 2605
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "52 followers of sfztools",
                "points": 12.4,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 52,
                      "login": "sfztools"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "39 public repos, account ~7 yr old",
                "points": 23.7,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 39
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 7
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 58,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 54,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "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": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "0 out of 14 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "topics": [
                "jack",
                "jack-client",
                "sfz",
                "sfz-files",
                "sfz-format",
                "sample-player",
                "musical-instrument",
                "sampler",
                "sampler-engine",
                "sfz-library"
              ],
              "has_wiki": false,
              "homepage": "https://sfz.tools/sfizz/",
              "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": "https://sfz.tools/sfizz/",
                "points": 15,
                "status": "met",
                "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": "10 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "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": 46,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Dangerous-Workflow, Packaging, Pinned-Dependencies, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 46,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 13,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 5,
              "scorecard_aggregate": 4.6
            },
            "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": "0 out of 14 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "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 11/18 approved changesets -- score normalized to 6",
                "points": 4.5,
                "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 workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project is archived",
                "points": 0,
                "status": "missed",
                "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": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 10
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 42,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 10,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.192,
              "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": "19 of 99 human commits state their intent (structured subject or explanatory body)",
                "points": 10.2,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 19,
                      "sampled": 99
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 46,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.01
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "C++ (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C++"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "1 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "primary_language": "C++",
              "largest_source_bytes": 657276,
              "source_files_sampled": 412,
              "oversized_source_files": 11
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "C++ (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C++"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "11/412 source files over 60KB",
                "points": 53.5,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 412,
                      "oversized": 11
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "demos",
                "samples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "demos, samples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "demos, samples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "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-23T14:33:04.574042Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/sfztools/sfizz.svg",
  "full_name": "sfztools/sfizz",
  "license_state": "standard",
  "license_spdx": "BSD-2-Clause"
}

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

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

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