Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 1.13.0 · 2026-07-27 21:42 UTC

christophhart / HISE

The open source framework for sample based instruments

C++Eigene Lizenz★ 1.411 Sterne⑂ 164 Forksseit Aug. 2016Auf GitHub ansehen ↗

christophhart/HISE erreicht einen Gesundheitsindex von 58 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei Vitality (74/100) ab, am schwächsten bei Security (33/100). Zuletzt vor 2 Tagen aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

58
gesamt / 100
Mittel

Software-Gesundheitsindex

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

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

Bewertungsprofil

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

Eigentümerschaft

christophhartOrganisation
60 Follower11 öffentliche Reposseit Nov. 2021

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

Metriken nach Kategorie

Vitalität

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

74Gut · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 2 Tagen
28.4/36Commit-Rhythmus — 41/52 Wochen mit Commits
18/18Commit-Volumen — 481 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year481
human_commit_share1
days_since_last_push2
active_weeks_last_year41

Release-Disziplin

47Gefährdet
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 14 Releases veröffentlicht
7.2/36Release-Aktualität — letztes Release vor 636 Tagen
12.6/27Release-Rhythmus — ein Release etwa alle 241,2 Tage
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Verwendete Eingangsdaten
releases_count14
latest_release_tag4.1.0
releases_from_tagsnein
days_since_latest_release636
mean_days_between_releases241,2

Community & Verbreitung

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

72Gut · 18 % des Gesamtindex
Wie die Bewertung erfolgt
51.1/60Stars — 1.411 Stars
18.4/25Forks — 164 Forks
9.9/15Watcher — 62 Watcher
Verwendete Eingangsdaten
forks164
stars1.411
watchers62
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
16.9/22.5Lizenz — Lizenzdatei vorhanden, keine anerkannte Lizenz
18/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingja
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templatenein

Nachhaltigkeit & Governance

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

49Gefährdet · 24 % des Gesamtindex
Wie die Bewertung erfolgt
9/54Bus-Faktor — 1 Beitragende decken die Hälfte aller Commits ab
1.5/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 94 % der Commits
13.5/13.5Breite der Beitragenden — 14 Beitragende
6/10OpenSSF Scorecard: Contributors — project has 2 contributing companies or organizations -- score normalized to 6
Verwendete Eingangsdaten
bus_factor1
contributors_sampled14
top_contributor_share0,935
Wie die Bewertung erfolgt
28.8/46.8Issue-Lösungsquote — 62 % der Issues geschlossen
27.8/38.3PR-Annahme — 247/340 entschiedene PRs gemergt
4.5/15OpenSSF Scorecard: Code-Review — Found 10/30 approved changesets -- score normalized to 3
Verwendete Eingangsdaten
merged_prs247
open_issues207
closed_issues331
issue_closed_ratio0,615
closed_unmerged_prs93
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
12.8/25Reichweite des Inhabers — 60 Follower von christophhart
17.2/25Kontohistorie — 11 öffentliche Repos, Kontoalter ca. 4 Jahre
Verwendete Eingangsdaten
followers60
owner_typeOrganization
is_verified
owner_loginchristophhart
public_repos11
account_age_days1.711

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

59Mittel · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 2 Workflow(s)
24/24Tests vorhanden
0/16Linter-Konfiguration
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — 0 out of 10 merged PRs checked by a CI test -- score normalized to 0
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_confignein
has_precommit_confignein
Wie die Bewertung erfolgt
30/30README
0/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — http://hise.audio
10/10Repository-Beschreibung
10/10Topics — 5 Topics
10/10Wiki
Verwendete Eingangsdaten
topicssampler-engine, juce, audio-plugin-export, cpp, vsts
has_wikija
homepagehttp://hise.audio
has_readmeja
has_docs_dirnein
has_descriptionja

Sicherheit

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

33Gefährdet · 16 % des Gesamtindex

Sicherheitslage

33Gefährdet
Wie die Bewertung erfolgt
0/7.5Binary-Artifacts — binaries present in source code
0/7.5Branch-Protection — keine Daten
0/2.5CI-Tests — 0 out of 10 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
2.2/7.5Code-Review — Found 10/30 approved changesets -- score normalized to 3
1.5/2.5Contributors — project has 2 contributing companies or organizations -- score normalized to 6
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.2/2.5Lizenz — license file detected
7.5/7.5Maintained — 30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — keine Daten
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate3,4
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): branch_protection, packaging. Die verbleibenden Gewichte wurden renormalisiert.

AI Readiness

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

66Mittel · 0 % des Gesamtindex
Wie die Bewertung erfolgt
45/45Agentenanweisungen — CLAUDE.md
0/15Maschinenlesbare Doku (llms.txt)
6.4/40Lesbare Commit-Historie — 12 von 100 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,12
agent_instruction_filesCLAUDE.md
agent_instruction_max_bytes8.259
Wie die Bewertung erfolgt
18/18Bootstrap mit einem Befehl — justfile, projects/standalone/TravisCI/LinuxMakefile/Makefile
22/22Automatisierte Tests
0/11Lint-/Format-Konfiguration
11/11Statische Typprüfung — C++ (statisch typisiert)
0/10Reproduzierbare Umgebung
10/10Belegte Agentenpraxis — 8 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
0/8Automatisierte Wartung — keine automatisierten Abhängigkeits-Updates beobachtet
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfiles
has_dockerfilenein
typed_languageja
bootstrap_filesjustfile, projects/standalone/TravisCI/LinuxMakefile/Makefile
has_devcontainernein
has_linter_confignein
typecheck_configs
agent_commit_share0,08
toolchain_manifests
dependency_bot_commit_share0
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — C++ (statisch typisiert)
52.5/55Handhabbare Dateigrößen — 125/2.722 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageC++
largest_source_bytes7.710.500
source_files_sampled2.722
oversized_source_files125
Wie die Bewertung erfolgt
40/40API-Schema (OpenAPI/GraphQL/proto) — guidelines/api/openapi.json
0/20MCP-Server
40/40Lauffähige Beispiele — samples
Verwendete Eingangsdaten
example_dirssamples
has_mcp_signalnein
api_schema_filesguidelines/api/openapi.json

Eckdaten

1.411GitHub-Sterne
14Mitwirkende
481Commits, letzte 12 Monate
2Tage seit letztem Push
14Releases
1Bus-Faktor
207offene Issues
Paket-Ökosysteme

Warnungen zur Datenerhebung

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

Weitere Details

Stern- und Fork-Verlauf 0 ★ / 164 ⇿
0Sterne
164Forks
14Releases

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

0408012016016042016-122021-102026-07
Major 4Minor 4Patch 6

Jeder Punkt umfasst 9 Tage.

OpenSSF Scorecard 3.4 / 10
3.4Gesamtwert

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

0Binary-Artifactsbinaries present in source code
k. A.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 10 merged PRs checked by a CI test -- score normalized to 0
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
3Code-ReviewFound 10/30 approved changesets -- score normalized to 3
6Contributorsproject has 2 contributing companies or organizations -- score normalized to 6
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
9Licenselicense file detected
10Maintained30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10
k. A.Packagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Alle Abhängigkeiten 0

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

RegistryPaketVersionBeziehung
Abhängigkeits-Advisories nicht bewertet

Der Advisory-Abgleich konnte für diesen Bericht nicht ausgeführt werden: No resolved dependencies to assess

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [
        "sampler-engine",
        "juce",
        "audio-plugin-export",
        "cpp",
        "vsts"
      ],
      "is_fork": false,
      "size_kb": 245004,
      "has_wiki": true,
      "homepage": "http://hise.audio",
      "languages": {
        "C": 4529962,
        "C++": 55237045,
        "CSS": 173790,
        "HTML": 15999,
        "Just": 884,
        "CMake": 1436,
        "Shell": 9583,
        "Python": 38405,
        "Assembly": 19930,
        "Makefile": 96188,
        "Batchfile": 17121,
        "Inno Setup": 2645,
        "JavaScript": 40300,
        "Objective-C++": 228,
        "Rich Text Format": 752
      },
      "pushed_at": "2026-07-25T18:47:24Z",
      "created_at": "2016-08-16T16:23:25Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-27T01:32:20Z",
      "description": "The open source framework for sample based instruments",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "develop",
      "license_spdx_raw": "NOASSERTION",
      "primary_language": "C++",
      "significant_languages": [
        "C++"
      ]
    },
    "owner": {
      "blog": null,
      "name": null,
      "type": "Organization",
      "login": "christophhart",
      "company": null,
      "location": null,
      "followers": 60,
      "avatar_url": "https://avatars.githubusercontent.com/u/94693328?v=4",
      "created_at": "2021-11-19T13:19:53Z",
      "is_verified": null,
      "public_repos": 11,
      "account_age_days": 1711
    },
    "license": {
      "state": "custom",
      "spdx_id": null,
      "raw_spdx": "NOASSERTION",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "4.1.0",
          "kind": "minor",
          "published_at": "2024-10-29T00:26:17Z"
        },
        {
          "tag": "4.0.0",
          "kind": "major",
          "published_at": "2024-06-12T21:53:53Z"
        },
        {
          "tag": "3.6.2",
          "kind": "patch",
          "published_at": "2023-09-23T12:54:40Z"
        },
        {
          "tag": "3.6.1",
          "kind": "patch",
          "published_at": "2023-09-13T11:11:05Z"
        },
        {
          "tag": "3.6.0",
          "kind": "minor",
          "published_at": "2023-08-11T12:41:56Z"
        },
        {
          "tag": "3.5.0",
          "kind": "minor",
          "published_at": "2023-07-17T20:41:20Z"
        },
        {
          "tag": "3.0.3",
          "kind": "patch",
          "published_at": "2023-03-27T08:56:09Z"
        },
        {
          "tag": "3.0.1",
          "kind": "patch",
          "published_at": "2022-11-22T13:18:43Z"
        },
        {
          "tag": "3.0.0",
          "kind": "major",
          "published_at": "2022-11-01T19:10:05Z"
        },
        {
          "tag": "2.0.0",
          "kind": "major",
          "published_at": "2018-11-19T08:52:20Z"
        },
        {
          "tag": "1.5.0",
          "kind": "minor",
          "published_at": "2017-12-30T15:16:10Z"
        },
        {
          "tag": "1.1.2",
          "kind": "patch",
          "published_at": "2017-11-08T13:05:03Z"
        },
        {
          "tag": "1.1.1",
          "kind": "patch",
          "published_at": "2017-10-19T12:59:19Z"
        },
        {
          "tag": "1.0.0",
          "kind": "major",
          "published_at": "2017-06-08T18:13:16Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "7d4faae2f7a155c7413de92dee10e79e7aa85c8a",
          "body": null,
          "is_bot": false,
          "headline": "- fix compilation on ... Linux!",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-07-25T18:47:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08c31685c8e972a82591cae7734cc05f47f50b4f",
          "body": null,
          "is_bot": false,
          "headline": "- unused fix for namespace parsing issue",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-07-25T18:37:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "755f6397469a38a004e1717c417b2a11ec47fe92",
          "body": null,
          "is_bot": false,
          "headline": "- fixed compilation on ... Linux???",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-07-25T18:37:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc28e67a23feee9dc45a8eac804c77066ef0b6b2",
          "body": "* Fix MIDI learn/CC assign menu disappearing after macro assignment\n\nMacroControlledObject::enableMidiLearnWithPopup() gated the entire\nCC-learn/assign section behind getMacroIndex() == -1, so once a\ncontrol was connected to a macro, the \"Learn CC\" / \"Assign CC\" menu\nitems were omitted entirely on e\n[…]\n is removed.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01MkL919ogy79J573k1rJTWq\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Midi learn popup (#996)",
          "author_name": "David Healey",
          "author_login": "davidhealey",
          "committed_at": "2026-07-25T18:25:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ecf2564fb674bfb84eb7403447b80fa501eabc31",
          "body": "Adds ScriptUserPresetHandler.setPatchLoadedCallback(), which wires up\nthe existing MainController::LockFreeDispatcher::PresetLoadListener\ninterface (already used internally by preset/patch browser UI) to a\nHiseScript callback.\n\nUnlike setPostCallback (tied to UserPresetHandler::loadUserPresetInterna\n[…]\n this same signal.\n\nNo existing behavior is changed: this only adds a new listener onto an\nalready-unconditional, already-correctly-ordered broadcaster.\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Expose patch/expansion load completion to scripting (#1001)",
          "author_name": "David Healey",
          "author_login": "davidhealey",
          "committed_at": "2026-07-25T18:22:28Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0a3887881c67bd00bffbe33aa80906b5adedfd2f",
          "body": "…en (#1003)\n\nStreamingSamplerSound::setPreloadSize() opened a file handle to read\nthe preload buffer but never closed it afterward, so every sample in\nevery loaded sample map kept its own OS file handle open for the\nentire session, regardless of whether it was ever played. Large\nprojects with many i\n[…]\ny held\nopen transiently during preload and again only while a note using\nthat sample is actually sounding, instead of for the sampler's entire\nlifetime.\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Close streaming file handles after preload instead of holding them op…",
          "author_name": "David Healey",
          "author_login": "davidhealey",
          "committed_at": "2026-07-25T18:20:13Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e82a06beff63cb643dbe94e6617845dda453e3a3",
          "body": "… inside a namespace\n\n- fixed (immiediate) recursive inline function calls crash the JS engine",
          "is_bot": false,
          "headline": "- fixed warning when using var declarations within anonymous function…",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-07-22T14:12:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "528ccf712722db6bb213470e40a0b4cb47f9775b",
          "body": null,
          "is_bot": false,
          "headline": "added UserPresetHandler::setStateManagerProperties",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-07-20T16:26:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "588a8dcb62e6ce77d18249b4222220c668dd14d9",
          "body": null,
          "is_bot": false,
          "headline": "- fix DLL compilation on Windows",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-07-16T16:38:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c1c57c4f4f2f2929524eb855713fd4c208466fe",
          "body": null,
          "is_bot": false,
          "headline": "- added Security framework on macOS",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-07-16T16:14:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba646ac6fae0f4e8a1b7c5898d0bb86c9bd0e9fa",
          "body": null,
          "is_bot": false,
          "headline": "- added moonbase unlocker",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-07-16T14:18:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea3e9db8ff64d3f52fa828f6bccc993f5ad8f568",
          "body": null,
          "is_bot": false,
          "headline": "bump version to 4.9.3",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-07-15T13:15:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ef4fb2bb4d1ec200445dd0e06a922ff914e33dd",
          "body": "- added warning messages when defining var or standard JS functions within namespace definition",
          "is_bot": false,
          "headline": "- added live diagnostics to code editor",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-07-15T13:14:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "48d8de565d041cb8824adcc363af7e796910cfc0",
          "body": null,
          "is_bot": false,
          "headline": "- scripting engine: fix qualified access for namespaced properties",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-07-15T13:13:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51e3972efc541b443504481608b4faf93c6d7326",
          "body": null,
          "is_bot": false,
          "headline": "- fixed encoded location not working in shadow parser diagnostics",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-07-15T13:12:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f788a69635c84c5861b4a49f1e303a68962734b",
          "body": null,
          "is_bot": false,
          "headline": "- fix weird compile issues",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-07-15T13:10:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3657a12c0049cfe0ce5fd24d32f938633ee708aa",
          "body": null,
          "is_bot": false,
          "headline": "- Rest API: fix dsp screenshot not working if workspace isn't visible",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-07-15T13:09:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ad80f27c287c4dbe843529c6f22a84c2c4a6a8f",
          "body": null,
          "is_bot": false,
          "headline": "Fix wrong math for peak meter UpDecayTime (#985)",
          "author_name": "ustk",
          "author_login": "ustk",
          "committed_at": "2026-07-15T09:49:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2832c17cc1042eac1fcd02433d50b462e2a06be",
          "body": "The Plotter's context menu hardcoded PopupLookAndFeel, bypassing any\nscript look-and-feel functions (drawPopupMenuBackground, drawPopupMenuItem,\netc.) set by the user via global or local script LAF.\n\n- Add HiseColourScheme::createPopupMenuLookAndFeel(void* mc, Component* c)\n  alongside createAlertWi\n[…]\nPlotter it creates.\n- Plotter::mouseDown uses createPopupMenuLookAndFeel(mainController, this).\n\nhttps://claude.ai/code/session_01DH4Kk8EVDrjZNjpdBBc8CC\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Make Plotter right-click menu respect script look-and-feel (#986)",
          "author_name": "David Healey",
          "author_login": "davidhealey",
          "committed_at": "2026-07-15T09:45:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "0b420c6dfc60456f152da8b03e5a451b4b379108",
          "body": null,
          "is_bot": false,
          "headline": "Fix MIDI Learn keeping the previous assigned CC# (#988)",
          "author_name": "ustk",
          "author_login": "ustk",
          "committed_at": "2026-07-15T09:43:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50eeb69390ffb2d57e6c4b8748e75f41b9037215",
          "body": "…romDynamicObject (#992)\n\nThe isInt64() check was duplicated instead of checking isInt(), so a\nplain int var (e.g. the return value of Colours.withMultipliedBrightness\nand similar HISEScript API calls) never matched and the colour silently\nfell back to transparent black.\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix int colour values dropped in FloatingTileContent::ColourHolder::f…",
          "author_name": "David Healey",
          "author_login": "davidhealey",
          "committed_at": "2026-07-15T09:43:17Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "dcf5417c0e2afdd23e7b59d24600aff3ca7acfb5",
          "body": "…quote (#993)\n\nThe string-skipping loop in the SNEX preprocessor only special-cased\nan escaped quote (\\\") when scanning over string literals. A literal\ncontaining an escaped backslash directly before the closing quote,\ne.g. \"\\\\\", was therefore treated as an escaped quote, so the scanner\nskipped past\n[…]\nter escape sequence instead of only\n\\\", which also removes an unchecked read past the end of the buffer\nwhen a backslash was the last character.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix preprocessor string scanner mishandling escaped backslash before …",
          "author_name": "Dan Weaver",
          "author_login": "weavermedia",
          "committed_at": "2026-07-15T09:42:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "18e5d815ee8cc5c48542e8f9c573f17647eab23e",
          "body": "The Min/Max cell sliders in TableFloatingTileBase (MidiLearnPanel and\nFrontendMacroPanel) set their value before the row's ValueToTextConverter\nis assigned, so the text box initially painted the raw normalized value\n(0.0/1.0) instead of the converted text (0%/100%). This misled users into\ntyping nor\n[…]\nh were then parsed in display units.\n\nCall updateText() after assigning the converter functions so the first\npaint already shows converted text.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix MIDI Learn Min/Max cells showing raw values until first edit (#994)",
          "author_name": "Dan Weaver",
          "author_login": "weavermedia",
          "committed_at": "2026-07-15T09:41:25Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a472d4ad1a86ed0ca4bb83c0416f84968adb2a6a",
          "body": "…list (#999)",
          "is_bot": false,
          "headline": "fixed quadratic memory growth when building the patch browser module …",
          "author_name": "DHPLUGS",
          "author_login": "DHPLUGS",
          "committed_at": "2026-07-15T09:38:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6446c4ab64ba27c189f5d1ad31ecace25d02a292",
          "body": null,
          "is_bot": false,
          "headline": "fix unit tests",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-31T22:24:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8606dea6f2d9ca5f42187bd14db8ecb8757d86a6",
          "body": null,
          "is_bot": false,
          "headline": "bump version to 4.9.2",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-31T22:06:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "488ad099eeb20a0f14073fefb1971689ae8578d4",
          "body": null,
          "is_bot": false,
          "headline": "fixed Webview crash on FL Studio",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-31T21:24:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03c6cec96cce08e7d5651044dfd8d2714d1f4059",
          "body": null,
          "is_bot": false,
          "headline": "added NAM model metadata for gain matching",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-31T21:23:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d3d9866b162a2d6d82ed9cae04d6876a51742452",
          "body": null,
          "is_bot": false,
          "headline": "fixed NAM loader in compiled plugin",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-23T13:07:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a05158de9526a2a8a819fcb3cf2c013c65cdd974",
          "body": null,
          "is_bot": false,
          "headline": "added neural network DLL workflow",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-22T16:24:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5410a26fcce0d4d0c0b1673aa2cd9b6e383c2df5",
          "body": null,
          "is_bot": false,
          "headline": "increased error reporting when exporting RTNeural models",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-20T21:43:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6881d63e14b210a8e4287a96ab5cfc7915958467",
          "body": "…le them",
          "is_bot": false,
          "headline": "improved compatibility for NAM files, added ability to directly compi…",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-20T21:28:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4f7ceaea56854211cfc396488945a9548d7e7064",
          "body": null,
          "is_bot": false,
          "headline": "refactored RTNeural codegen to use CppBase helper",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-20T21:04:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4024b0748c3ca5aaf71980e2add5671e933f1bfa",
          "body": null,
          "is_bot": false,
          "headline": "added RTNeural codegenerator (minus DLL factory)",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-20T20:18:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da0c3829441dca413d87eb4144924aa60f4a1a30",
          "body": "…ics for codegen",
          "is_bot": false,
          "headline": "RTNeural change: added function to extract compile-time layer statist…",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-20T19:42:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61fddf84b4f0d62fcda3849722203bbeeb2de16b",
          "body": null,
          "is_bot": false,
          "headline": "RT Neural static compile workflow pt. I",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-20T15:22:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc68ffa2ebc6a0787ecd0c50fe6f32858a873fc3",
          "body": null,
          "is_bot": false,
          "headline": "added SharedWildcard to AssetManager",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-19T14:17:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e363bf6f36bd42c08c72f9757a10ff89791efdf",
          "body": null,
          "is_bot": false,
          "headline": "added Rest API endpoint /api/dsp/runtime_status",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-16T20:53:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "32d33cdb611db57447360d7f06db1298c6f12d04",
          "body": null,
          "is_bot": false,
          "headline": "fixed unit tests, hardened OpenAPI specs",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-15T19:51:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "141d055be29f06e030af042a9b9d45e9e0d82ec0",
          "body": null,
          "is_bot": false,
          "headline": "bump version to 4.9.1",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-15T16:55:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "087be61ac7d1e900d83d37db9edc72473a9eda02",
          "body": null,
          "is_bot": false,
          "headline": "added parameters to injectAndProbe system",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-15T16:55:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d81f15d2780da1cf239c1b7ceaf6a970b09b480",
          "body": null,
          "is_bot": false,
          "headline": "better fix for convolution fade in after reset",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-15T11:00:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "505b6940c96c673495ed63d1c855621fef63bf53",
          "body": null,
          "is_bot": false,
          "headline": "fixed fade in at convolution reverb when resetting processing state",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-15T10:48:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8661601f4d25b5bc2b882c080808f51760811c5d",
          "body": null,
          "is_bot": false,
          "headline": "added recursive injectAndProbe mode",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-14T15:29:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7711162270373adde04af4b8240f8176b2adc665",
          "body": null,
          "is_bot": false,
          "headline": "added /api/dsp/probe REST API endpoint",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-13T19:50:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91fca78a2aa7440f3f91074a501d6f893468a8f0",
          "body": null,
          "is_bot": false,
          "headline": "added DspNetwork::injectAndProbe",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-13T18:41:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "906bd2e1699fdc57c57a875c6261a9546ebeda87",
          "body": null,
          "is_bot": false,
          "headline": "reduced shadow parser noise",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-13T15:55:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f8e2b42ae7f8c2adcdaac701ce2df266043d1a8a",
          "body": null,
          "is_bot": false,
          "headline": "fixed code editor being redrawn in non UI thread on code editor change",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-12T08:57:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da9c4dd0e57444fdd41a52851cda956d0df6f219",
          "body": null,
          "is_bot": false,
          "headline": "fixed CSS error when * selector is not included in nested components",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-12T08:57:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b042a55c6700c8dc9ead142bcd7dc5adfba8144",
          "body": null,
          "is_bot": false,
          "headline": "added script/tree endpoint",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-12T08:56:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9cf736fa034f23ee19cd0569f9b94620242f7f7b",
          "body": null,
          "is_bot": false,
          "headline": "fixed DSP disconnect",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-10T12:01:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5a87cdfbd867b1d6ae450afe21fa8dd622d251e",
          "body": null,
          "is_bot": false,
          "headline": "added move op to /api/builder/apply",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-07T12:20:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80bc49342ce6328a290836e2e6f4ca9b7e48c0dd",
          "body": null,
          "is_bot": false,
          "headline": "Added routing matrix builder op to Rest API",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-07T07:12:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9127ae4165e04569f6425fc28dd87e1cd6eec8e8",
          "body": null,
          "is_bot": false,
          "headline": "bump version to 4.9.0",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-05T14:05:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9cccf44f21c41486b91cfcb22907d2edb6bee98f",
          "body": null,
          "is_bot": false,
          "headline": "added more chain indexes to ScriptBuilder constants",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-05T13:45:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d0f76791b9098010fcc1eec0902b9078b575d6e",
          "body": null,
          "is_bot": false,
          "headline": "fixed crashes when initialising script FX modules with extra_mods",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-04T15:43:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1fb546957b5a9f74b1d2fef22c543bf966b6a35",
          "body": "…ide HISE",
          "is_bot": false,
          "headline": "fixed macro controller controlling first plugin parameter control ins…",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-04T15:41:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6c5d9dd7028f16a68983fd8425e9d580e4702db",
          "body": null,
          "is_bot": false,
          "headline": "fixed HISE controller audio playback & latency check",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-04T15:40:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a21269afe11ec5b511b03117a8724c9504abecea",
          "body": null,
          "is_bot": false,
          "headline": "fixed API browser popup being blank",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-05-03T20:37:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d46ea44dce2fe485b7338c640d062e56fa0574f4",
          "body": null,
          "is_bot": false,
          "headline": "fix unit tests",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-05-02T15:32:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3adb781ebe9d7aa375371bc796e6593a40708a80",
          "body": null,
          "is_bot": false,
          "headline": "some asset manager fixes",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-05-02T11:52:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a29ff4523ebb39b23e3d9db00711e7bef86386cf",
          "body": null,
          "is_bot": false,
          "headline": "updated git hash",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-01T14:06:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "716d713235dfa2277dfa43a33679e4cd1818d466",
          "body": null,
          "is_bot": false,
          "headline": "fixed non-dense parameter indexes at Arpeggiator & hardcoded modules",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-01T14:05:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "454221c0f76ac2738fc425041e40bd41ea38c2de",
          "body": null,
          "is_bot": false,
          "headline": "fixed a few issues with the RestApi /dsp/ endpoints",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-05-01T13:58:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6be3a969a3823f3e85777363b0f21ccf16b01541",
          "body": null,
          "is_bot": false,
          "headline": "update git hash",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-04-29T21:46:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf9d3dd4479af4877ce0c12aa56503e53e13afe0",
          "body": null,
          "is_bot": false,
          "headline": "extract SDKs at CI build step",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-04-29T21:46:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "43274e05f41c73de247dfa2c64e18ab320913819",
          "body": null,
          "is_bot": false,
          "headline": "- update git hash",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-29T12:58:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "802bceb2250d831f905cdb6fa4259646b284535d",
          "body": "- fixed pan ranges in metadata definition",
          "is_bot": false,
          "headline": "- fixed old parameter ID typos breaking existing scripts",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-29T12:57:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b22036bc5e517143ee88deffe9e9c748838e38a3",
          "body": null,
          "is_bot": false,
          "headline": "fix dll_export with CI configuration",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-28T22:10:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09339e18ed47a50863d334d231045dfc2cc2221d",
          "body": null,
          "is_bot": false,
          "headline": "fixed crashes at compile_dll wizard",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-28T21:10:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad6d73d164d5c1a14f07867584ef0b0d35963225",
          "body": null,
          "is_bot": false,
          "headline": "added compile_dll wizard",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-28T19:34:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "678f40e1ac0136817202ea3577213374df6b0c82",
          "body": null,
          "is_bot": false,
          "headline": "added `alwaysOnTop` field to getModulatorDragData() LAF function",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-28T15:06:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc5bb89e68c917505e4a5fa70ff6db8d8a490c22",
          "body": null,
          "is_bot": false,
          "headline": "fixed extra_mods not being initialised correctly in FX plugins",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-28T12:32:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b3d9bc0b3cb5817dcda1f5bd6366aba123531ab",
          "body": null,
          "is_bot": false,
          "headline": "added git commit hash",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-27T16:40:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23c6ae5c03977a217f23cdcdd7639d23c6880cec",
          "body": null,
          "is_bot": false,
          "headline": "rest-api: added dsp work",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-27T16:34:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b43eeb32b5a42b433153e45ac255e0c0844cfbdf",
          "body": null,
          "is_bot": false,
          "headline": "updated git hash",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-04-27T07:17:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36046c23616f2ecf23cc8d4678dda6dcc2d3a4b9",
          "body": null,
          "is_bot": false,
          "headline": "added RestServer API version in each response, fixed unit tests",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-04-27T07:17:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86c89b6d8a39657612b780a80f441a468af4a727",
          "body": null,
          "is_bot": false,
          "headline": "added /api/snippet_browser endpoint to launch Snippet browser from API",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-04-26T12:49:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f779e6a2618431bc4c1bdec7c0fadc9206847334",
          "body": null,
          "is_bot": false,
          "headline": "added CORS headers to Rest API",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-04-26T10:42:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "34bcf4aed3c44b62cf4f6ea2c7408dae5906e6a8",
          "body": null,
          "is_bot": false,
          "headline": "added Tools-Launch HISE CLI in Terminal",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-04-25T16:02:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4d1eec61bdbf23250e3f44e3db5f3198ae6b032",
          "body": "- removed brittle unit test",
          "is_bot": false,
          "headline": "- added commit SHA to /api/status endpoint",
          "author_name": "Christoph Hart",
          "author_login": null,
          "committed_at": "2026-04-23T19:07:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf2cb9d33a6958c5aa67aa237b60adc5f2e9f7b5",
          "body": "* Add SourceBPM parameter to TimestretchOptions as alternative to NumQuarters\n\nWhen SourceBPM is set, numQuarters is derived from the sample duration and\nthe supplied BPM instead of requiring the user to calculate it manually.\nNumQuarters and the guessing fallback are still used when SourceBPM is ze\n[…]\nit was coincidentally hiding the\noverread as uninitialised data rather than a crash.\n\nhttps://claude.ai/code/session_01YaNTMkZitgzfdnzjRVT9RC\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix tempo sync time stretch (#933)",
          "author_name": "David Healey",
          "author_login": "davidhealey",
          "committed_at": "2026-04-23T13:15:18Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "98a75d8ee4ff0db43e3de4b3aca3f4e53d16785c",
          "body": null,
          "is_bot": false,
          "headline": "added ability to set the channel routing for filter module",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-23T11:35:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae49c588982437b8b1665ac156733c1cd8dec8ed",
          "body": "…e nodes",
          "is_bot": false,
          "headline": "fix compilation on macOS, fix /api/dsp/apply/connect with send/receiv…",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-22T15:32:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ed981e76b07220c7e6e43db8d41ed4ea3955e72",
          "body": null,
          "is_bot": false,
          "headline": "fix build on macOS?",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-22T11:17:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9211dfe44621ece4d6a441566e58ca3d72492d8a",
          "body": null,
          "is_bot": false,
          "headline": "fixed build & various issues",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-22T11:01:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "243e0d2d50ae67ae05ed4119fd964f0f909087a8",
          "body": null,
          "is_bot": false,
          "headline": "added /api/dsp/screenshot",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-22T11:01:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e1deee9eefdaedaee20e6286c4bd092f468d8ff",
          "body": null,
          "is_bot": false,
          "headline": "updated openAPI spec",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-22T08:40:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "42c5a64519000529ac77182f4cdf692038720ff2",
          "body": null,
          "is_bot": false,
          "headline": "added /api/project endpoints",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-22T08:40:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c1ce58f44441a3ccd3b07f154497e7ea50ad86b4",
          "body": null,
          "is_bot": false,
          "headline": "fix compilation on Windows",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-20T09:09:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4cac7fea8af8ce24110ca356dfefbc3bc0edc65",
          "body": null,
          "is_bot": false,
          "headline": "added Wizard async system & added project exporter wizard code",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-20T08:59:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "409ed178ce9acee60d9d843b66a83ba3b55b024d",
          "body": null,
          "is_bot": false,
          "headline": "added RestServer API dsp validation",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-20T08:59:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a13ec8ea57cbb5b860073a163823e11a6abbb23",
          "body": null,
          "is_bot": false,
          "headline": "implemented scriptnode Rest API endpoints",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-20T08:59:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca90585f874870d1129cd1de834dc2c2ec4c1cca",
          "body": null,
          "is_bot": false,
          "headline": "added scriptnode Rest API endpoints",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-20T08:59:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44f721525e3d1d8c74df09eff00dd0d8253f50c7",
          "body": null,
          "is_bot": false,
          "headline": "fix restserver not starting with start_server",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-20T08:59:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "621cf5b13cac9b42cab7c94751ef165503c3bc42",
          "body": null,
          "is_bot": false,
          "headline": "add success/logs/errors description to openapi spec",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-20T08:59:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e4a697f7d8e1646a8266e1a80a50c16dfdf5d63",
          "body": null,
          "is_bot": false,
          "headline": "redesigned Rest API to match OpenAPI spec",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-20T08:59:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1dc2ff24b52c6e0a9c40a5c60d19fb8e4656b2f6",
          "body": null,
          "is_bot": false,
          "headline": "removed migration guide",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-20T08:59:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "00192f95a799711d28c22b2f409a074674876fa3",
          "body": "…wn parser",
          "is_bot": false,
          "headline": "removed ReplServer & fixed startup time because of API browser markdo…",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-20T08:59:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae5caf1c0959758a336a3e54befb119e4a65f23e",
          "body": null,
          "is_bot": false,
          "headline": "update REST API to OpenAPI standard",
          "author_name": "Christoph Hart",
          "author_login": "christoph-hart",
          "committed_at": "2026-04-20T08:59:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 14,
      "commits_last_year": 481,
      "latest_release_at": "2024-10-29T00:26:17Z",
      "latest_release_tag": "4.1.0",
      "releases_from_tags": false,
      "days_since_last_push": 2,
      "active_weeks_last_year": 41,
      "days_since_latest_release": 636,
      "mean_days_between_releases": 241.2
    },
    "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": 164,
      "stars": 1411,
      "watchers": 62,
      "fork_history": {
        "days": [
          {
            "date": "2016-12-30",
            "count": 1
          },
          {
            "date": "2017-01-06",
            "count": 1
          },
          {
            "date": "2017-02-11",
            "count": 1
          },
          {
            "date": "2017-06-08",
            "count": 1
          },
          {
            "date": "2017-06-11",
            "count": 1
          },
          {
            "date": "2017-06-16",
            "count": 1
          },
          {
            "date": "2017-08-16",
            "count": 1
          },
          {
            "date": "2017-11-02",
            "count": 1
          },
          {
            "date": "2017-11-08",
            "count": 1
          },
          {
            "date": "2017-11-09",
            "count": 1
          },
          {
            "date": "2018-01-14",
            "count": 1
          },
          {
            "date": "2018-03-27",
            "count": 1
          },
          {
            "date": "2018-04-22",
            "count": 1
          },
          {
            "date": "2018-04-24",
            "count": 1
          },
          {
            "date": "2018-05-04",
            "count": 1
          },
          {
            "date": "2018-05-22",
            "count": 1
          },
          {
            "date": "2018-06-27",
            "count": 1
          },
          {
            "date": "2018-08-24",
            "count": 1
          },
          {
            "date": "2018-09-03",
            "count": 1
          },
          {
            "date": "2018-10-07",
            "count": 1
          },
          {
            "date": "2018-11-22",
            "count": 1
          },
          {
            "date": "2019-01-08",
            "count": 1
          },
          {
            "date": "2019-02-16",
            "count": 1
          },
          {
            "date": "2019-03-31",
            "count": 1
          },
          {
            "date": "2019-05-04",
            "count": 1
          },
          {
            "date": "2019-05-26",
            "count": 1
          },
          {
            "date": "2019-06-11",
            "count": 1
          },
          {
            "date": "2019-06-26",
            "count": 1
          },
          {
            "date": "2019-06-28",
            "count": 1
          },
          {
            "date": "2019-07-02",
            "count": 1
          },
          {
            "date": "2019-07-23",
            "count": 1
          },
          {
            "date": "2019-08-01",
            "count": 1
          },
          {
            "date": "2019-08-25",
            "count": 1
          },
          {
            "date": "2019-11-10",
            "count": 1
          },
          {
            "date": "2019-11-28",
            "count": 1
          },
          {
            "date": "2020-01-04",
            "count": 1
          },
          {
            "date": "2020-04-24",
            "count": 1
          },
          {
            "date": "2020-04-28",
            "count": 1
          },
          {
            "date": "2020-04-29",
            "count": 1
          },
          {
            "date": "2020-06-05",
            "count": 1
          },
          {
            "date": "2020-06-12",
            "count": 1
          },
          {
            "date": "2020-06-28",
            "count": 1
          },
          {
            "date": "2020-06-30",
            "count": 1
          },
          {
            "date": "2020-11-19",
            "count": 1
          },
          {
            "date": "2020-12-23",
            "count": 1
          },
          {
            "date": "2020-12-24",
            "count": 1
          },
          {
            "date": "2021-01-06",
            "count": 1
          },
          {
            "date": "2021-01-08",
            "count": 1
          },
          {
            "date": "2021-02-10",
            "count": 1
          },
          {
            "date": "2021-05-08",
            "count": 1
          },
          {
            "date": "2021-07-11",
            "count": 1
          },
          {
            "date": "2021-07-23",
            "count": 1
          },
          {
            "date": "2021-08-03",
            "count": 1
          },
          {
            "date": "2021-09-28",
            "count": 1
          },
          {
            "date": "2021-10-30",
            "count": 1
          },
          {
            "date": "2021-11-25",
            "count": 1
          },
          {
            "date": "2021-12-21",
            "count": 1
          },
          {
            "date": "2022-01-17",
            "count": 1
          },
          {
            "date": "2022-01-18",
            "count": 1
          },
          {
            "date": "2022-01-22",
            "count": 1
          },
          {
            "date": "2022-01-31",
            "count": 1
          },
          {
            "date": "2022-02-09",
            "count": 1
          },
          {
            "date": "2022-03-05",
            "count": 1
          },
          {
            "date": "2022-03-13",
            "count": 1
          },
          {
            "date": "2022-03-26",
            "count": 1
          },
          {
            "date": "2022-03-30",
            "count": 1
          },
          {
            "date": "2022-05-16",
            "count": 1
          },
          {
            "date": "2022-05-18",
            "count": 1
          },
          {
            "date": "2022-10-30",
            "count": 1
          },
          {
            "date": "2022-12-16",
            "count": 1
          },
          {
            "date": "2023-01-05",
            "count": 1
          },
          {
            "date": "2023-03-27",
            "count": 1
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-04-04",
            "count": 1
          },
          {
            "date": "2023-04-10",
            "count": 1
          },
          {
            "date": "2023-04-18",
            "count": 1
          },
          {
            "date": "2023-05-31",
            "count": 1
          },
          {
            "date": "2023-06-09",
            "count": 1
          },
          {
            "date": "2023-06-26",
            "count": 1
          },
          {
            "date": "2023-08-24",
            "count": 1
          },
          {
            "date": "2023-09-05",
            "count": 1
          },
          {
            "date": "2023-09-26",
            "count": 1
          },
          {
            "date": "2023-10-12",
            "count": 1
          },
          {
            "date": "2023-10-19",
            "count": 1
          },
          {
            "date": "2023-10-21",
            "count": 1
          },
          {
            "date": "2023-11-22",
            "count": 1
          },
          {
            "date": "2023-12-18",
            "count": 1
          },
          {
            "date": "2024-01-04",
            "count": 1
          },
          {
            "date": "2024-01-21",
            "count": 1
          },
          {
            "date": "2024-01-31",
            "count": 1
          },
          {
            "date": "2024-03-05",
            "count": 1
          },
          {
            "date": "2024-03-06",
            "count": 1
          },
          {
            "date": "2024-04-09",
            "count": 1
          },
          {
            "date": "2024-04-25",
            "count": 1
          },
          {
            "date": "2024-06-01",
            "count": 1
          },
          {
            "date": "2024-06-06",
            "count": 1
          },
          {
            "date": "2024-06-24",
            "count": 2
          },
          {
            "date": "2024-07-07",
            "count": 1
          },
          {
            "date": "2024-08-23",
            "count": 2
          },
          {
            "date": "2024-09-04",
            "count": 1
          },
          {
            "date": "2024-09-28",
            "count": 1
          },
          {
            "date": "2024-09-30",
            "count": 1
          },
          {
            "date": "2024-10-18",
            "count": 1
          },
          {
            "date": "2024-10-21",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 1
          },
          {
            "date": "2024-10-27",
            "count": 1
          },
          {
            "date": "2024-10-31",
            "count": 1
          },
          {
            "date": "2024-11-20",
            "count": 1
          },
          {
            "date": "2024-12-12",
            "count": 1
          },
          {
            "date": "2024-12-21",
            "count": 1
          },
          {
            "date": "2025-01-09",
            "count": 1
          },
          {
            "date": "2025-01-10",
            "count": 1
          },
          {
            "date": "2025-01-16",
            "count": 1
          },
          {
            "date": "2025-01-17",
            "count": 1
          },
          {
            "date": "2025-02-20",
            "count": 1
          },
          {
            "date": "2025-02-23",
            "count": 1
          },
          {
            "date": "2025-03-27",
            "count": 1
          },
          {
            "date": "2025-03-30",
            "count": 1
          },
          {
            "date": "2025-04-14",
            "count": 1
          },
          {
            "date": "2025-05-18",
            "count": 1
          },
          {
            "date": "2025-05-29",
            "count": 1
          },
          {
            "date": "2025-06-19",
            "count": 1
          },
          {
            "date": "2025-06-25",
            "count": 1
          },
          {
            "date": "2025-08-01",
            "count": 1
          },
          {
            "date": "2025-08-04",
            "count": 1
          },
          {
            "date": "2025-08-14",
            "count": 1
          },
          {
            "date": "2025-08-22",
            "count": 1
          },
          {
            "date": "2025-08-31",
            "count": 1
          },
          {
            "date": "2025-09-02",
            "count": 1
          },
          {
            "date": "2025-10-14",
            "count": 1
          },
          {
            "date": "2025-10-22",
            "count": 1
          },
          {
            "date": "2025-10-24",
            "count": 1
          },
          {
            "date": "2025-11-15",
            "count": 1
          },
          {
            "date": "2025-12-01",
            "count": 1
          },
          {
            "date": "2025-12-04",
            "count": 1
          },
          {
            "date": "2025-12-26",
            "count": 1
          },
          {
            "date": "2026-01-06",
            "count": 1
          },
          {
            "date": "2026-01-11",
            "count": 1
          },
          {
            "date": "2026-01-14",
            "count": 1
          },
          {
            "date": "2026-01-21",
            "count": 1
          },
          {
            "date": "2026-01-28",
            "count": 1
          },
          {
            "date": "2026-02-14",
            "count": 1
          },
          {
            "date": "2026-02-16",
            "count": 1
          },
          {
            "date": "2026-02-20",
            "count": 1
          },
          {
            "date": "2026-02-22",
            "count": 1
          },
          {
            "date": "2026-02-24",
            "count": 1
          },
          {
            "date": "2026-02-28",
            "count": 1
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-05-05",
            "count": 1
          },
          {
            "date": "2026-05-08",
            "count": 1
          },
          {
            "date": "2026-05-09",
            "count": 1
          },
          {
            "date": "2026-05-29",
            "count": 1
          },
          {
            "date": "2026-06-04",
            "count": 1
          },
          {
            "date": "2026-06-10",
            "count": 1
          },
          {
            "date": "2026-06-14",
            "count": 1
          },
          {
            "date": "2026-06-29",
            "count": 1
          },
          {
            "date": "2026-07-18",
            "count": 1
          },
          {
            "date": "2026-07-22",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 160,
        "total_forks": 164
      },
      "star_history": null,
      "open_issues_and_prs": 337
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "samples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "justfile",
        "projects/standalone/TravisCI/LinuxMakefile/Makefile"
      ],
      "api_schema_files": [
        "guidelines/api/openapi.json"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 7710500,
      "source_files_sampled": 2722,
      "oversized_source_files": 125,
      "agent_instruction_files": [
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 8259
    },
    "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": 130,
        "merged_prs": 247,
        "open_issues": 207,
        "closed_ratio": 0.615,
        "closed_issues": 331,
        "closed_unmerged_prs": 93
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "christoph-hart",
          "commits": 6091,
          "avatar_url": "https://avatars.githubusercontent.com/u/6277426?v=4"
        },
        {
          "type": "User",
          "login": "davidhealey",
          "commits": 273,
          "avatar_url": "https://avatars.githubusercontent.com/u/14021202?v=4"
        },
        {
          "type": "User",
          "login": "ustk",
          "commits": 81,
          "avatar_url": "https://avatars.githubusercontent.com/u/50467457?v=4"
        },
        {
          "type": "User",
          "login": "romsom",
          "commits": 30,
          "avatar_url": "https://avatars.githubusercontent.com/u/4031395?v=4"
        },
        {
          "type": "User",
          "login": "weavermedia",
          "commits": 26,
          "avatar_url": "https://avatars.githubusercontent.com/u/3027787?v=4"
        },
        {
          "type": "User",
          "login": "psobot",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/213293?v=4"
        },
        {
          "type": "User",
          "login": "lunacyaudio",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/62113627?v=4"
        },
        {
          "type": "User",
          "login": "claude",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/81847?v=4"
        },
        {
          "type": "User",
          "login": "DHPLUGS",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/78897383?v=4"
        },
        {
          "type": "User",
          "login": "dustbro",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/9417887?v=4"
        }
      ],
      "contributors_sampled": 14,
      "top_contributor_share": 0.935
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build_installer.yml",
        "ci_mac.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 0,
            "reason": "binaries present in source code",
            "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 10 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": 3,
            "reason": "Found 10/30 approved changesets -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 6,
            "reason": "project has 2 contributing companies or organizations -- score normalized to 6",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 9,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 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": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "7d4faae2f7a155c7413de92dee10e79e7aa85c8a",
        "ran_at": "2026-07-27T21:42:18Z",
        "aggregate_score": 3.4,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-25T18:51:41Z",
      "oldest_open_prs": [
        {
          "number": 30,
          "created_at": "2017-06-13T17:09:22Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 31,
          "created_at": "2017-06-16T11:01:55Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 83,
          "created_at": "2018-01-14T20:13:06Z",
          "last_comment_at": "2018-01-14T20:16:26Z",
          "last_comment_author": "christoph-hart"
        },
        {
          "number": 84,
          "created_at": "2018-01-14T22:32:19Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 85,
          "created_at": "2018-01-15T04:08:25Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 86,
          "created_at": "2018-01-15T15:55:12Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 92,
          "created_at": "2018-03-27T14:50:10Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 190,
          "created_at": "2021-06-18T07:45:31Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 206,
          "created_at": "2021-09-22T17:08:50Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 208,
          "created_at": "2021-09-22T17:20:37Z",
          "last_comment_at": "2021-09-22T19:04:07Z",
          "last_comment_author": "ustk"
        },
        {
          "number": 209,
          "created_at": "2021-09-22T17:35:19Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 212,
          "created_at": "2021-10-19T08:15:54Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 287,
          "created_at": "2022-03-24T23:54:02Z",
          "last_comment_at": "2022-04-24T14:17:07Z",
          "last_comment_author": "christoph-hart"
        },
        {
          "number": 289,
          "created_at": "2022-03-26T00:23:49Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 327,
          "created_at": "2022-05-25T19:42:47Z",
          "last_comment_at": "2022-05-25T22:39:02Z",
          "last_comment_author": "ustk"
        },
        {
          "number": 328,
          "created_at": "2022-05-26T11:50:00Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 377,
          "created_at": "2023-01-22T18:37:02Z",
          "last_comment_at": "2023-01-23T01:01:29Z",
          "last_comment_author": "ustk"
        },
        {
          "number": 403,
          "created_at": "2023-07-20T00:43:00Z",
          "last_comment_at": "2023-07-20T11:09:23Z",
          "last_comment_author": "davidhealey"
        },
        {
          "number": 629,
          "created_at": "2024-12-04T20:48:04Z",
          "last_comment_at": "2025-04-05T21:32:02Z",
          "last_comment_author": "davidhealey"
        },
        {
          "number": 633,
          "created_at": "2024-12-07T16:31:46Z",
          "last_comment_at": "2025-01-26T23:48:16Z",
          "last_comment_author": "davidhealey"
        }
      ],
      "last_merged_pr_at": "2026-07-25T18:25:39Z",
      "ci_last_conclusion": "FAILURE",
      "oldest_open_issues": [
        {
          "number": 144,
          "created_at": "2019-08-26T17:38:44Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 148,
          "created_at": "2019-09-28T15:47:34Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 172,
          "created_at": "2021-02-06T14:39:47Z",
          "last_comment_at": "2022-04-10T14:03:27Z",
          "last_comment_author": "davidhealey"
        },
        {
          "number": 224,
          "created_at": "2021-12-26T16:45:46Z",
          "last_comment_at": "2022-11-20T09:50:58Z",
          "last_comment_author": "dromer"
        },
        {
          "number": 251,
          "created_at": "2022-02-16T17:48:57Z",
          "last_comment_at": "2022-02-16T19:11:56Z",
          "last_comment_author": "christoph-hart"
        },
        {
          "number": 265,
          "created_at": "2022-03-05T14:47:58Z",
          "last_comment_at": "2022-05-05T07:02:34Z",
          "last_comment_author": "christoph-hart"
        },
        {
          "number": 269,
          "created_at": "2022-03-06T12:54:03Z",
          "last_comment_at": "2022-05-05T06:38:44Z",
          "last_comment_author": "christoph-hart"
        },
        {
          "number": 271,
          "created_at": "2022-03-06T13:36:10Z",
          "last_comment_at": "2022-05-10T10:33:52Z",
          "last_comment_author": "ustk"
        },
        {
          "number": 272,
          "created_at": "2022-03-06T14:45:33Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 273,
          "created_at": "2022-03-06T20:13:40Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 279,
          "created_at": "2022-03-15T10:14:45Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 281,
          "created_at": "2022-03-17T16:03:07Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 301,
          "created_at": "2022-04-10T13:12:33Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 302,
          "created_at": "2022-04-10T13:18:58Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 303,
          "created_at": "2022-04-10T14:38:01Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 315,
          "created_at": "2022-04-29T17:17:04Z",
          "last_comment_at": "2025-08-14T21:03:47Z",
          "last_comment_author": "bmalumphy"
        },
        {
          "number": 322,
          "created_at": "2022-05-07T16:54:24Z",
          "last_comment_at": "2022-05-07T20:55:54Z",
          "last_comment_author": "minosimo"
        },
        {
          "number": 324,
          "created_at": "2022-05-12T00:47:26Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 329,
          "created_at": "2022-05-30T12:49:49Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 333,
          "created_at": "2022-06-14T08:03:50Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/christophhart/HISE",
    "host": "github.com",
    "name": "HISE",
    "owner": "christophhart"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 58,
      "inputs": {
        "security": 33,
        "vitality": 74,
        "community": 72,
        "governance": 49,
        "engineering": 59
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 74,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "commits_last_year": 481,
              "human_commit_share": 1,
              "days_since_last_push": 2,
              "active_weeks_last_year": 41
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 2 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "41/52 weeks with commits",
                "points": 28.4,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 41
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "481 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 481
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "at_risk",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 47,
            "inputs": {
              "releases_count": 14,
              "latest_release_tag": "4.1.0",
              "releases_from_tags": false,
              "days_since_latest_release": 636,
              "mean_days_between_releases": 241.2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "14 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 636 days ago",
                "points": 7.2,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 636
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~241.2 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 241.2
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 2,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 2 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 72,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "good",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 79,
            "inputs": {
              "forks": 164,
              "stars": 1411,
              "watchers": 62,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "1,411 stars",
                "points": 51.1,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 1411
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "164 forks",
                "points": 18.4,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 164
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "62 watchers",
                "points": 9.9,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 62
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 64,
            "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": "license file present, not a recognized license",
                "points": 16.9,
                "status": "partial",
                "details": [
                  {
                    "code": "license_custom",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 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": "at_risk",
        "name": "Sustainability & Governance",
        "value": 49,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 30,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 14,
              "top_contributor_share": 0.935
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 94% of commits",
                "points": 1.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 94
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "14 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "merged_prs": 247,
              "open_issues": 207,
              "closed_issues": 331,
              "issue_closed_ratio": 0.615,
              "closed_unmerged_prs": 93
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "62% of issues closed",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 62
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "247/340 decided PRs merged",
                "points": 27.8,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 247,
                      "decided": 340
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 10/30 approved changesets -- score normalized to 3",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "followers": 60,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "christophhart",
              "public_repos": 11,
              "account_age_days": 1711
            },
            "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": "60 followers of christophhart",
                "points": 12.8,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 60,
                      "login": "christophhart"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "11 public repos, account ~4 yr old",
                "points": 17.2,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 11
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 4
                    }
                  }
                ],
                "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": 59,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "at_risk",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 48,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "0 out of 10 merged PRs checked by a CI test -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "good",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "topics": [
                "sampler-engine",
                "juce",
                "audio-plugin-export",
                "cpp",
                "vsts"
              ],
              "has_wiki": true,
              "homepage": "http://hise.audio",
              "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": "http://hise.audio",
                "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": "5 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 33,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 33,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 3.4
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 0,
                "status": "missed",
                "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 10 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 10/30 approved changesets -- score normalized to 3",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "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": 7
            },
            "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": "moderate",
        "name": "AI Readiness",
        "value": 66,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "moderate",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 51,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.12,
              "agent_instruction_files": [
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 8259
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "CLAUDE.md"
                    }
                  }
                ],
                "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": "12 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 6.4,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 12,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [
                "justfile",
                "projects/standalone/TravisCI/LinuxMakefile/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0.08,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "justfile, projects/standalone/TravisCI/LinuxMakefile/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "justfile, projects/standalone/TravisCI/LinuxMakefile/Makefile"
                    }
                  }
                ],
                "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": "8 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 8,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "primary_language": "C++",
              "largest_source_bytes": 7710500,
              "source_files_sampled": 2722,
              "oversized_source_files": 125
            },
            "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": "125/2722 source files over 60KB",
                "points": 52.5,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 2722,
                      "oversized": 125
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "good",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "example_dirs": [
                "samples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": [
                "guidelines/api/openapi.json"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "guidelines/api/openapi.json",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "guidelines/api/openapi.json"
                    }
                  }
                ],
                "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": "samples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "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-27T21:42:40.271389Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/c/christophhart/HISE.svg",
  "full_name": "christophhart/HISE",
  "license_state": "custom",
  "license_spdx": null
}

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

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

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistiken.