Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 1.13.0 · 2026-07-27 10:18 UTC

Brille24 / SyliusTierpricePlugin

A plugin for Sylius that implements tier pricing

PHPMIT★ 47 Sterne⑂ 38 Forksseit Jan. 2018Auf GitHub ansehen ↗

Brille24/SyliusTierpricePlugin erreicht einen Gesundheitsindex von 46 von 100 und liegt damit im Bereich Gefährdet. Am stärksten schneidet es bei Engineering Quality (72/100) ab, am schwächsten bei Security (34/100). Zuletzt heute aktualisiert. 2 Mitwirkende tragen den Großteil der jüngsten Arbeit.

46
gesamt / 100
Gefährdet

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.

46
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.

Abandonment Policy applies a 85% multiplier to weighted overall health.

Eigentümerschaft

Brille24Organisation
2 Follower7 öffentliche Reposseit Juli 2016

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

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlicht
Packagistbrille24/sylius-tierprice-pluginv4.0.02.19742vor 497 Tagen

Metriken nach Kategorie

Vitalität

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

46Gefährdet · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 0 Tagen
0/36Commit-Rhythmus — 0/52 Wochen mit Commits
0/18Commit-Volumen — 0 Commits im letzten Jahr
0/10OpenSSF Scorecard: Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Verwendete Eingangsdaten
commits_last_year0
human_commit_share1
days_since_last_push0
active_weeks_last_year0
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 42 Releases veröffentlicht
7.2/36Release-Aktualität — letztes Release vor 497 Tagen
19.8/27Release-Rhythmus — ein Release etwa alle 61,7 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count42
latest_release_tagv4.0.0
releases_from_tagsnein
days_since_latest_release497
mean_days_between_releases61,7
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: Signed-Releases. Die verbleibenden Gewichte wurden renormalisiert.

Community & Verbreitung

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

46Gefährdet · 18 % des Gesamtindex
Wie die Bewertung erfolgt
27/60Stars — 47 Stars
13.1/25Forks — 38 Forks
1.7/15Watcher — 3 Watcher
Verwendete Eingangsdaten
forks38
stars47
watchers3
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (MIT)
0/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingnein
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templatenein
Wie die Bewertung erfolgt
44.6/80Downloads pro Monat — 2.197 Downloads/Monat über packagist
2/20Abhängige in der Registry — 1 Pakete hängen davon ab
Verwendete Eingangsdaten
packagesbrille24/sylius-tierprice-plugin
dependents1
ecosystemspackagist
total_downloads181.244
monthly_downloads2.197

Nachhaltigkeit & Governance

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

67Mittel · 24 % des Gesamtindex
Wie die Bewertung erfolgt
25.2/54Bus-Faktor — 2 Beitragende decken die Hälfte aller Commits ab
14.1/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 38 % der Commits
13.5/13.5Breite der Beitragenden — 27 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 18 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor2
contributors_sampled27
top_contributor_share0,375
Wie die Bewertung erfolgt
39.9/46.8Issue-Lösungsquote — 85 % der Issues geschlossen
32.7/38.3PR-Annahme — 53/62 entschiedene PRs gemergt
3/15OpenSSF Scorecard: Code-Review — Found 7/28 approved changesets -- score normalized to 2
Verwendete Eingangsdaten
merged_prs53
open_issues5
closed_issues29
issue_closed_ratio0,853
closed_unmerged_prs9
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
3.4/25Reichweite des Inhabers — 2 Follower von Brille24
18.6/25Kontohistorie — 7 öffentliche Repos, Kontoalter ca. 10 Jahre
Verwendete Eingangsdaten
followers2
owner_typeOrganization
is_verified
owner_loginBrille24
public_repos7
account_age_days3.658
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf packagist
14/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 497 Tagen
20/20Versionshistorie — 42 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagesbrille24/sylius-tierprice-plugin
ecosystemspackagist
any_deprecatednein
min_days_since_publish497

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

72Gut · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 1 Workflow(s)
24/24Tests vorhanden
16/16Linter-Konfiguration — .eslintrc.js, phpstan.neon
0/9.6Pre-Commit-Hooks
6.4/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_editorconfigja
has_linter_configja
has_precommit_confignein
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
0/15Dokumentations-/Homepage-Site
10/10Repository-Beschreibung
10/10Topics — 5 Topics
0/10Wiki
Verwendete Eingangsdaten
topicssylius, tier-prices, variants, product-variant, price
has_wikinein
homepage
has_readmeja
has_docs_dirja
has_descriptionja

Sicherheit

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

34Gefährdet · 16 % des Gesamtindex

Sicherheitslage

34Gefährdet
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
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
1.5/7.5Code-Review — Found 7/28 approved changesets -- score normalized to 2
2.5/2.5Contributors — project has 18 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
0/7.5Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
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 — keine Daten
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 39 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): packaging, signed_releases. 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.

47Gefährdet · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
19.2/40Lesbare Commit-Historie — 36 von 100 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,36
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
18/18Bootstrap mit einem Befehl — Makefile
22/22Automatisierte Tests
11/11Lint-/Format-Konfiguration — .eslintrc.js, phpstan.neon
0/11Statische Typprüfung
10/10Reproduzierbare Umgebung — Dockerfile
0/10Belegte Agentenpraxis — keine von Agenten verfassten Commits unter den letzten 100
5/8Automatisierte Wartung — Abhängigkeits-Automatisierung konfiguriert, in den erfassten Commits nicht beobachtet
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfiles
has_dockerfileja
typed_languagenein
bootstrap_filesMakefile
has_devcontainernein
has_linter_configja
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Wie die Bewertung erfolgt
0/45Typprüfbarer Code — PHP ohne Typprüfungs-Konfiguration
55/55Handhabbare Dateigrößen — 0/52 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languagePHP
largest_source_bytes5.486
source_files_sampled52
oversized_source_files0

Eckdaten

47GitHub-Sterne
27Mitwirkende
0Commits, letzte 12 Monate
0Tage seit letztem Push
42Releases
2Bus-Faktor
5offene Issues
PackagistPaket-Ökosysteme

Warnungen zur Datenerhebung

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • No resolved dependencies carried a version and a supported ecosystem

Weitere Details

Stern- und Fork-Verlauf 0 ★ / 38 ⇿
0Sterne
38Forks
40Releases

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.

0102030403822018-042022-012025-11
Major 3Minor 5Patch 13

Jeder Punkt umfasst 7 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 10:18 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
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
2Code-ReviewFound 7/28 approved changesets -- score normalized to 2
10Contributorsproject has 18 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintained0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
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
k. A.Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities39 existing vulnerabilities detected
Direkte Abhängigkeiten 1
RegistryPaketVersionsvorgabeManifest
Packagistsylius/sylius~2.0.0composer.json
Alle Abhängigkeiten 35

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

RegistryPaketVersionBeziehung
Packagistsylius/syliusdirekt
npm@hotwired/stimulus^3.0.0indirekt
npm@symfony/stimulus-bridge^3.2.0indirekt
npm@symfony/webpack-encore^5.0.1indirekt
npmtom-select^2.2.2indirekt
Packagistbehat/behatindirekt
Packagistdmore/behat-chrome-extensionindirekt
Packagistdmore/chrome-mink-driverindirekt
Packagistfriends-of-behat/minkindirekt
Packagistfriends-of-behat/mink-browserkit-driverindirekt
Packagistfriends-of-behat/mink-debug-extensionindirekt
Packagistfriends-of-behat/mink-extensionindirekt
Packagistfriends-of-behat/page-object-extensionindirekt
Packagistfriends-of-behat/suite-settings-extensionindirekt
Packagistfriends-of-behat/symfony-extensionindirekt
Packagistfriends-of-behat/variadic-extensionindirekt
Packagistnyholm/psr7indirekt
Packagistphpindirekt
Packagistphpspec/phpspecindirekt
Packagistphpstan/phpstanindirekt
Packagistphpstan/phpstan-doctrineindirekt
Packagistphpstan/phpstan-webmozart-assertindirekt
Packagistphpunit/phpunitindirekt
Packagistrobertfausk/behat-panther-extensionindirekt
Packagistsylius-labs/coding-standardindirekt
Packagistsylius-labs/suite-tags-extensionindirekt
Packagistsylius/sylius-rectorindirekt
Packagistsymfony/browser-kitindirekt
Packagistsymfony/debug-bundleindirekt
Packagistsymfony/dotenvindirekt
Packagistsymfony/flexindirekt
Packagistsymfony/http-clientindirekt
Packagistsymfony/intlindirekt
Packagistsymfony/web-profiler-bundleindirekt
Packagistsymfony/webpack-encore-bundleindirekt
Abhängigkeits-Advisories nicht bewertet

Der Advisory-Abgleich konnte für diesen Bericht nicht ausgeführt werden: No resolved dependencies carried a version and a supported ecosystem

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [
        "sylius",
        "tier-prices",
        "variants",
        "product-variant",
        "price"
      ],
      "is_fork": false,
      "size_kb": 1116,
      "has_wiki": false,
      "homepage": null,
      "languages": {
        "CSS": 42,
        "PHP": 78211,
        "Twig": 4763,
        "Gherkin": 917,
        "Makefile": 688,
        "JavaScript": 5634
      },
      "pushed_at": "2026-07-27T10:09:19Z",
      "created_at": "2018-01-12T10:02:57Z",
      "owner_type": "Organization",
      "updated_at": "2025-12-22T09:23:12Z",
      "description": "A plugin for Sylius that implements tier pricing",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "master",
      "license_spdx_raw": "MIT",
      "primary_language": "PHP",
      "significant_languages": [
        "PHP"
      ]
    },
    "owner": {
      "blog": null,
      "name": "Brille24",
      "type": "Organization",
      "login": "Brille24",
      "company": null,
      "location": null,
      "followers": 2,
      "avatar_url": "https://avatars.githubusercontent.com/u/20574008?v=4",
      "created_at": "2016-07-21T07:36:44Z",
      "is_verified": null,
      "public_repos": 7,
      "account_age_days": 3658
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v4.0.0",
          "kind": "major",
          "published_at": "2025-03-16T11:11:48Z"
        },
        {
          "tag": "v4.0.0-alpha",
          "kind": "prerelease",
          "published_at": "2025-01-24T17:08:17Z"
        },
        {
          "tag": "3.0.2",
          "kind": "patch",
          "published_at": "2024-12-13T12:09:22Z"
        },
        {
          "tag": "3.0.1",
          "kind": "patch",
          "published_at": "2024-10-21T09:12:42Z"
        },
        {
          "tag": "3.0.0",
          "kind": "major",
          "published_at": "2024-10-14T17:47:14Z"
        },
        {
          "tag": "2.4.2",
          "kind": "patch",
          "published_at": "2024-07-31T01:13:56Z"
        },
        {
          "tag": "2.4.1",
          "kind": "patch",
          "published_at": "2024-02-07T13:57:33Z"
        },
        {
          "tag": "2.4.0",
          "kind": "minor",
          "published_at": "2023-12-29T18:30:15Z"
        },
        {
          "tag": "2.3.2",
          "kind": "patch",
          "published_at": "2023-10-24T09:06:53Z"
        },
        {
          "tag": "2.3.1",
          "kind": "patch",
          "published_at": "2023-09-07T21:26:02Z"
        },
        {
          "tag": "2.3.0",
          "kind": "minor",
          "published_at": "2023-07-10T22:40:05Z"
        },
        {
          "tag": "2.3.0-ALPHA",
          "kind": "prerelease",
          "published_at": "2023-06-10T18:48:03Z"
        },
        {
          "tag": "2.2.0",
          "kind": "minor",
          "published_at": "2022-12-03T17:10:55Z"
        },
        {
          "tag": "2.1.0",
          "kind": "minor",
          "published_at": "2021-08-20T13:03:08Z"
        },
        {
          "tag": "2.0.1",
          "kind": "patch",
          "published_at": "2021-06-03T10:18:07Z"
        },
        {
          "tag": "2.0.0",
          "kind": "major",
          "published_at": "2021-03-05T02:23:22Z"
        },
        {
          "tag": "1.8",
          "kind": "other",
          "published_at": "2020-10-14T20:45:45Z"
        },
        {
          "tag": "v1.7.4",
          "kind": "patch",
          "published_at": "2020-06-02T20:03:24Z"
        },
        {
          "tag": "v1.7.3",
          "kind": "patch",
          "published_at": "2020-05-22T00:23:38Z"
        },
        {
          "tag": "v1.7.2.2",
          "kind": "other",
          "published_at": "2020-05-21T20:52:40Z"
        },
        {
          "tag": "v1.7.2.1",
          "kind": "other",
          "published_at": "2020-05-21T20:51:44Z"
        },
        {
          "tag": "v1.7.1",
          "kind": "patch",
          "published_at": "2020-03-28T17:18:23Z"
        },
        {
          "tag": "v1.7",
          "kind": "other",
          "published_at": "2020-03-26T16:36:55Z"
        },
        {
          "tag": "v1.6",
          "kind": "other",
          "published_at": "2019-11-22T18:54:43Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2019-08-01T11:58:55Z"
        },
        {
          "tag": "v1.4.5",
          "kind": "patch",
          "published_at": "2019-06-07T08:39:26Z"
        },
        {
          "tag": "v1.4.1",
          "kind": "patch",
          "published_at": "2019-05-29T12:30:24Z"
        },
        {
          "tag": "v1.4",
          "kind": "other",
          "published_at": "2019-05-23T14:47:32Z"
        },
        {
          "tag": "1.3.1",
          "kind": "patch",
          "published_at": "2019-05-23T09:43:54Z"
        },
        {
          "tag": "v1.3",
          "kind": "other",
          "published_at": "2019-05-22T15:56:28Z"
        },
        {
          "tag": "v1.2",
          "kind": "other",
          "published_at": "2019-05-16T09:56:07Z"
        },
        {
          "tag": "v0.10",
          "kind": "other",
          "published_at": "2019-04-03T16:20:38Z"
        },
        {
          "tag": "v1.1",
          "kind": "other",
          "published_at": "2019-04-03T15:00:14Z"
        },
        {
          "tag": "v0.9",
          "kind": "other",
          "published_at": "2019-04-03T10:19:49Z"
        },
        {
          "tag": "v1.0",
          "kind": "other",
          "published_at": "2019-03-02T09:59:04Z"
        },
        {
          "tag": "v0.8",
          "kind": "other",
          "published_at": "2019-02-14T13:27:34Z"
        },
        {
          "tag": "v0.7",
          "kind": "other",
          "published_at": "2018-11-08T08:55:29Z"
        },
        {
          "tag": "v0.6",
          "kind": "other",
          "published_at": "2018-09-20T08:58:23Z"
        },
        {
          "tag": "v0.5",
          "kind": "other",
          "published_at": "2018-08-23T07:52:56Z"
        },
        {
          "tag": "v0.4",
          "kind": "other",
          "published_at": "2018-04-12T14:45:48Z"
        },
        {
          "tag": "0.3",
          "kind": "other",
          "published_at": "2018-03-06T16:04:25Z"
        },
        {
          "tag": "v.0.2",
          "kind": "other",
          "published_at": "2018-01-15T09:16:34Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "b9604a700a39feb6ba858ec9cbf153e0fd8285ec",
          "body": null,
          "is_bot": false,
          "headline": "Fixing the currency situation in the form",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2025-05-08T23:08:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f93d081fafd260d30826385e74ba4cafcc341de",
          "body": null,
          "is_bot": false,
          "headline": "Removing unused index.php",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2025-05-08T22:33:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a6289de59ea3747e296ed936decfd2e3f247435",
          "body": "fix: remove PrependDoctrineMigrationsTrait from bundles extension",
          "is_bot": false,
          "headline": "Merge pull request #92 from tuxes3/master",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2025-03-17T20:23:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50d00313954a1fe8d9eaa636eaa36ea84ffd7d39",
          "body": null,
          "is_bot": false,
          "headline": "fix: remove PrependDoctrineMigrationsTrait from bundles extension",
          "author_name": "Nicolo Singer",
          "author_login": "tuxes3",
          "committed_at": "2025-03-17T19:16:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c941c37eba43644bf26ebc7de4200dbef05859ac",
          "body": "* Still not working\n\n* First working version\n\n* Testing something\n\n* Supporting Sylius 2\n\n* Updating the readme to be acurate\n\n* Removing non-working code\n\n* Removing brille24 from the licence",
          "is_bot": false,
          "headline": "Supporting Sylius 2 (#91)",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2025-03-16T11:06:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b956731efbca8e6b7fe9ac4ee1bfe72fe5454782",
          "body": "The plugin uses Attributes now",
          "is_bot": false,
          "headline": "Removing outdated advice",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2024-12-13T13:10:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "003ffc140a78517ad8d0219daae5a6c038ac777c",
          "body": null,
          "is_bot": false,
          "headline": "Adding support for all Sylius 1 versions",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2024-12-13T12:07:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1788ae4e3991a37e3cfe71caadc1df9b660c1eb0",
          "body": null,
          "is_bot": false,
          "headline": "Adding calculateLowestPriceBeforeDiscount for price calculation (#85)",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2024-07-31T01:12:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c74a3c7b09466f51dec8a4fa207c552b3c830441",
          "body": null,
          "is_bot": false,
          "headline": "[README] Add proper interface to ProductVariant (#83)",
          "author_name": "Łukasz Chruściel",
          "author_login": "lchrusciel",
          "committed_at": "2024-07-25T13:39:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96fad20111aed8baef9ce1b648abc5918c580813",
          "body": null,
          "is_bot": false,
          "headline": "[README] Minor code improvements (#82)",
          "author_name": "Łukasz Chruściel",
          "author_login": "lchrusciel",
          "committed_at": "2024-07-25T13:12:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ee0f3e7bad6cc7a5953353eac4f449630d36116",
          "body": "Removing incorrect info about using Doctrine SQL mappings. We're using attributes now.",
          "is_bot": false,
          "headline": "Update README.md",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2024-04-24T10:30:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e3017965d16c0c926a82c76db767b49573a6e31",
          "body": null,
          "is_bot": false,
          "headline": "Fix small typo (#79)",
          "author_name": "JoppeDC",
          "author_login": "JoppeDC",
          "committed_at": "2024-04-07T21:06:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f0ed91aa8817eb838c10dc00f0494b40701d2f3",
          "body": "`mappedBy` is by default the first parameter passed to the `OneToMany` attribute. Therefore, putting an unnamed parameter first causes issues.\r\n\r\n> Named parameter $mappedBy overwrites previous argument",
          "is_bot": false,
          "headline": "Fix doctrine attribute error (#78)",
          "author_name": "JoppeDC",
          "author_login": "JoppeDC",
          "committed_at": "2024-02-07T13:55:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5fd8b30b955207bbd91ddf088840e147887becbd",
          "body": "* Attributes\r\n\r\n* Don't remove XML mappings",
          "is_bot": false,
          "headline": "Adding attribute configuration for Entities (#77)",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-12-29T18:28:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d781106e8970aa12bb3fb9a2f3c57c61aa59bd15",
          "body": null,
          "is_bot": false,
          "headline": "Mentioning that this plugin does not yet work with annotations.",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-11-30T23:42:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5844094b23043024b19cae8dd7dd978053aef939",
          "body": "It wasn't clear that you have to edit the ProductVariant override as well (since Sylius generates one by default)\r\n\r\nrefs #76",
          "is_bot": false,
          "headline": "Adding documentation for Entity Overrides",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-11-30T23:38:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3199bdb70280637ee89c20471fba244ecadd1368",
          "body": "Fix price recalculator service",
          "is_bot": false,
          "headline": "Merge pull request #74 from JakobTolkemit/fix_price_recalculator",
          "author_name": "Jakob Tolkemit",
          "author_login": "JakobTolkemit",
          "committed_at": "2023-10-13T06:50:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ba8e03d2188d42c7074ebe54e61a306ec83b7f0",
          "body": null,
          "is_bot": false,
          "headline": "Fix price recalculator service",
          "author_name": "Jakob Tolkemit",
          "author_login": null,
          "committed_at": "2023-10-13T06:45:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d53384653395907ef4d8f8f77cfabb64970166d3",
          "body": null,
          "is_bot": false,
          "headline": "Call the decorated processor in the OrderPricesRecalculator (#73)",
          "author_name": "Jakob Tolkemit",
          "author_login": "JakobTolkemit",
          "committed_at": "2023-09-24T12:11:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bcf88a10323d5c8ffc18fc66086cad55bc3328e",
          "body": null,
          "is_bot": false,
          "headline": "Fixing the menu of product variants",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-09-07T21:22:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2c2ecbeba74e633e0ff859466648acfd154a7613",
          "body": null,
          "is_bot": false,
          "headline": "Removing references to non-existing config file",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-07-10T09:52:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "433c11665add1076e45e4b0eea329911596d647b",
          "body": null,
          "is_bot": false,
          "headline": "Adding swiftmailer and routes back in",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-07-08T14:57:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90e56d851ef84677dead571b9b90d99c2f96452d",
          "body": null,
          "is_bot": false,
          "headline": "Skipping activation of swiftmailer",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-07-08T14:44:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c0a0120018fdb1842b0df87d13c04319bcc30af4",
          "body": null,
          "is_bot": false,
          "headline": "Moving some of the extension config to php",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-07-05T21:09:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fea944045a75f7e97b753387abfd3c846280dad1",
          "body": null,
          "is_bot": false,
          "headline": "Using imports instead of FQN",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-07-05T20:28:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "34460ed7dd6ba1724028fbb57bcf01ba4f393d2d",
          "body": null,
          "is_bot": false,
          "headline": "Using php for service configuration",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-07-05T20:22:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0418f7866ef5099861c36b438269cd4a21b46a56",
          "body": null,
          "is_bot": false,
          "headline": "Stuff",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-07-05T19:59:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "baf1b30eedb76e30097713c6f0743aa95c1b4835",
          "body": null,
          "is_bot": false,
          "headline": "Fixing the pipeline",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-06-13T11:42:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9693aa4cf520bc0e00e38cd5a2205e698f70006",
          "body": "This reverts commit 1f3e1ab38a2e497f8d5b89e10fc047bbf78075db.",
          "is_bot": false,
          "headline": "Revert \"Removing unused swiftmailer bundle\"",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-06-13T11:05:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f3e1ab38a2e497f8d5b89e10fc047bbf78075db",
          "body": null,
          "is_bot": false,
          "headline": "Removing unused swiftmailer bundle",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-06-13T10:49:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d53b7db3ef9c48c3a2e9cb5edb475b34c973c6f4",
          "body": null,
          "is_bot": false,
          "headline": "Updating to a better runner",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-06-13T10:36:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be4c0d31602b09ca4531f6bcf025d6c4ea954772",
          "body": null,
          "is_bot": false,
          "headline": "Welcome to php8",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-06-13T10:34:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d15f4a363ff970308aa89129a986b6b2140570e",
          "body": null,
          "is_bot": false,
          "headline": "Updating the phpstan config and fixing errors",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-06-13T10:34:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe1e23e49eeb22acf420cae10b2ce6fdc5b5c518",
          "body": null,
          "is_bot": false,
          "headline": "Using Sylius' codestyle instead of our own",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-06-13T10:34:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7e6cf6baf3c07fea7ed3031c146b4cf805d4c5d3",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md (#71)",
          "author_name": "Leclercq Guillaume",
          "author_login": "t-n-y",
          "committed_at": "2023-06-13T08:28:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b10cb091295d29e6d596a847c30e7ab5905dc5e4",
          "body": null,
          "is_bot": false,
          "headline": "Adding 1.12 back",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-06-10T18:46:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "55acb2013d3c2e71315364a20158f2718c1e230b",
          "body": null,
          "is_bot": false,
          "headline": "Updating the test app configuration",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-06-10T18:26:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31344943ea0c2105a1d00c374ac8fc540a63dfc0",
          "body": "* Fixing composer.json\r\n\r\n* Reducing test matrix\r\n\r\n* Reverting back to the Sylius Skeleton",
          "is_bot": false,
          "headline": "Support for Sylius 1.12 (#70)",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-06-10T11:47:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f337a97bd64451d0821595b8b38705a7983ce5d",
          "body": "First try at supporting 1.12",
          "is_bot": false,
          "headline": "Merge pull request #69 from Brille24/supporting-1.12",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-06-08T23:01:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c60e52e5d49fcb4b24849454d8c9d7cd85d215ae",
          "body": null,
          "is_bot": false,
          "headline": "First try at supporting 1.12",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2023-06-08T23:00:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ffe9f3f2ee84e160e888ba3eda2121dc54c88797",
          "body": "sylius 1.11 support",
          "is_bot": false,
          "headline": "Merge pull request #65 from tuxes3/master",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2022-04-07T12:11:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c41dafd582ed2bf6730d6311031e1346216a9e81",
          "body": null,
          "is_bot": false,
          "headline": "sylius ~1.11.0 in composer",
          "author_name": "tuxes3",
          "author_login": "tuxes3",
          "committed_at": "2022-04-05T15:55:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "762fbda0208c2a760382dc10d186b9249e2b7437",
          "body": "Update 1.10",
          "is_bot": false,
          "headline": "Merge pull request #64 from JakobTolkemit/update_1.10",
          "author_name": "Jakob Tolkemit",
          "author_login": "JakobTolkemit",
          "committed_at": "2021-08-20T12:54:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f363d75172823be740118cd361f5690774128a7",
          "body": null,
          "is_bot": false,
          "headline": "Fix phpunit execution",
          "author_name": "Jakob Tolkemit",
          "author_login": null,
          "committed_at": "2021-08-10T06:39:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8fb40a0845c587c50fccc5d7859bae89a3d06252",
          "body": null,
          "is_bot": false,
          "headline": "Fix behat",
          "author_name": "Jakob Tolkemit",
          "author_login": null,
          "committed_at": "2021-08-10T06:39:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eea660d512bc4fbfd333cbbe317c1f6606c22261",
          "body": null,
          "is_bot": false,
          "headline": "Fix psalm",
          "author_name": "Jakob Tolkemit",
          "author_login": null,
          "committed_at": "2021-08-09T13:51:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8d31e28ab74c1bbd4046f1a43fb5d55fd7f3e31",
          "body": null,
          "is_bot": false,
          "headline": "Fix phpstan",
          "author_name": "Jakob Tolkemit",
          "author_login": null,
          "committed_at": "2021-08-09T13:07:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c054352074f6a928f93c8d87b5b92eddd61930dc",
          "body": null,
          "is_bot": false,
          "headline": "Update 1.10",
          "author_name": "Jakob Tolkemit",
          "author_login": null,
          "committed_at": "2021-08-09T12:47:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da79c4ad3fc9ead942b213ac9ffc6035208c8b23",
          "body": null,
          "is_bot": false,
          "headline": "Fixing the Migration directory",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2021-06-29T13:47:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b844d3abc677c35330236dc0774da905c88a7e0",
          "body": "Thanks to @kevinbalicot for spotting and reporing a better version",
          "is_bot": false,
          "headline": "Fixing the migration path prepending",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2021-06-29T13:44:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "abdcea7b31b148fc7f802c455abea77b2276605d",
          "body": "Updates templates references",
          "is_bot": false,
          "headline": "Merge pull request #62 from webgriffe/fix-template-references",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2021-06-03T10:17:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "beac87e9270d8f6dbc0babd3a91557cc6cbf3aa7",
          "body": "Bundle notation has been removed in SyliusTheme 2: https://github.com/Sylius/SyliusThemeBundle/blob/master/UPGRADE.md#referencing-templates",
          "is_bot": false,
          "headline": "Updates templates references",
          "author_name": "Luca Gallinari",
          "author_login": "LucaGallinari",
          "committed_at": "2021-06-03T08:07:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74f0b9a1e76b39193bd3858d2c5bfc901c4e4156",
          "body": "* Replacing the sonata events with Sylius ones\r\n* Removing the translator from the menu listeners\r\n* Updating other packages that Sylius needs:\r\nJMS Serializer, Doctrine Cache",
          "is_bot": false,
          "headline": "Updating to Sylius 1.9",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2021-03-05T02:19:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "820500a90138f6a870e1ab636a3584aa600de24b",
          "body": "* Replacing the sonata events with Sylius ones\n* Removing the translator from the menu listeners\n* Updating other packages that Sylius needs:\nJMS Serializer, Doctrine Cache",
          "is_bot": false,
          "headline": "Updating to Sylius 1.9",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2021-03-05T02:06:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db18fb8d1027088a618a81cd58e3bc66af32cbe8",
          "body": "Update 1.8",
          "is_bot": false,
          "headline": "Merge pull request #59 from JakobTolkemit/update_1.8",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-10-14T20:43:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0097fa2b4007f822951b700011b866d81f054f6d",
          "body": null,
          "is_bot": false,
          "headline": "Fix phpstan",
          "author_name": "Jakob Tolkemit",
          "author_login": null,
          "committed_at": "2020-10-14T12:07:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c816e24dff39c79cccb6cf7714d594187bbdf1dd",
          "body": null,
          "is_bot": false,
          "headline": "Added migration",
          "author_name": "Jakob Tolkemit",
          "author_login": null,
          "committed_at": "2020-10-14T11:33:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac87da5ee0a0c8236601a2a146ea0dacebd884b6",
          "body": null,
          "is_bot": false,
          "headline": "Updated to Sylius 1.8",
          "author_name": "Jakob Tolkemit",
          "author_login": null,
          "committed_at": "2020-10-14T11:10:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b48b83db42fe645e040c59d46cbe332b2ccf0958",
          "body": null,
          "is_bot": false,
          "headline": "Updated travis",
          "author_name": "Jakob Tolkemit",
          "author_login": null,
          "committed_at": "2020-10-14T11:04:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "88ff166d1e4eb1cd14c95255ae2c2e45c407d544",
          "body": "Copying over the travis configuration from the main Plugin Skeleton to\nfix the builds again",
          "is_bot": false,
          "headline": "Synchronizing the travis configuration",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-06-20T14:56:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2db44fbc6380a9dabdc6dd9d55b441fd43baee6",
          "body": null,
          "is_bot": false,
          "headline": "Adding tests for php7.4",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-06-12T14:31:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f7ccb2e86e54d83771d4be9343eece540ac3b55",
          "body": null,
          "is_bot": false,
          "headline": "Adding some BC layer",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-06-02T19:56:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b30306a2bfb75a5b595c82564df5983b1cdf8469",
          "body": null,
          "is_bot": false,
          "headline": "Making the read me more descriptive",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-06-02T18:59:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3a96f1c3a7c8a89ceabd2db9e4d0b489c1b4943",
          "body": null,
          "is_bot": false,
          "headline": "Adding travis config for different sylius versions",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-06-02T18:56:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f95a42a937292bf6103f7f8c8273f65bb68e4965",
          "body": null,
          "is_bot": false,
          "headline": "Fixing codestyle",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-05-22T00:17:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "13599620a92fc4e90748723e0ba6a6f719db7978",
          "body": null,
          "is_bot": false,
          "headline": "Fixing the env ignore",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-05-21T23:58:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ae6b18655b9ee5ca7a035badbd390075f1cea61",
          "body": null,
          "is_bot": false,
          "headline": "Updating dependency definition",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-05-21T20:50:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "39f8bd4c500b50ed0b8c9649f407a02b3a6bd1f2",
          "body": null,
          "is_bot": false,
          "headline": "Fixing frontend service defintions",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-05-21T20:37:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "107d486ffff16ed4170680b9d8715284640d6600",
          "body": null,
          "is_bot": false,
          "headline": "Updating the test application",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-05-21T20:29:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2490aa131d512eddb28cf1f01936c4047de4dc36",
          "body": "Use CustomerGroupChoiceType instead of EntityType",
          "is_bot": false,
          "headline": "Merge pull request #51 from tavy315/master",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-03-28T17:11:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12b8c592ee838d5d5b2c98205b3463aeea72ff57",
          "body": null,
          "is_bot": false,
          "headline": "Remove unused EntityType import",
          "author_name": "Octav",
          "author_login": "tavy315",
          "committed_at": "2020-03-26T23:00:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b73ea698bf897d3d8f12a6a125b6b626eb67cf20",
          "body": "Fix form extension priority issue by adding priority tag",
          "is_bot": false,
          "headline": "Merge pull request #52 from Brille24/fix-form-extension-priority",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-03-26T14:45:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1a4828332916d79c7c6e89d89db8a75ef105e0a6",
          "body": null,
          "is_bot": false,
          "headline": "Fix form extension priority issue by adding priority tag",
          "author_name": "Thomas Ferney",
          "author_login": "antiseptikk",
          "committed_at": "2020-03-26T14:23:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75e8d2f7c6c6cdde4295423f0f5fa69e8306a3d2",
          "body": null,
          "is_bot": false,
          "headline": "Adding support for sylius 1.7",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-03-26T13:37:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac139d6d0500651fb8e70dbdfbe6bcd9fb85e58f",
          "body": "This should fix `Expected value of type \"App\\Entity\\Customer\\CustomerGroup\" for association field \"Brille24\\SyliusTierPricePlugin\\Entity\\TierPrice#$customerGroup\", got \"Sylius\\Component\\Customer\\Model\\CustomerGroup\" instead.` exception when using own CustomerGroup entity.",
          "is_bot": false,
          "headline": "Use CustomerGroupChoiceType instead of EntityType",
          "author_name": "Octav",
          "author_login": "tavy315",
          "committed_at": "2020-03-26T12:55:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57736980af9935949137c272f852ac0e1685fed6",
          "body": null,
          "is_bot": false,
          "headline": "Adding support for sylius 1.7",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-03-26T12:51:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3930ab395a288b7ad44ddb5a26d1bfc18a44042",
          "body": "Form admin ui improvement",
          "is_bot": false,
          "headline": "Merge pull request #50 from antiseptikk/form-admin-ui-improvements",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-03-08T14:15:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9cc6dc76535a8b68978f0e19a2119f2bdef4c64",
          "body": null,
          "is_bot": false,
          "headline": "Form admin ui improvement",
          "author_name": "Thomas Ferney",
          "author_login": "antiseptikk",
          "committed_at": "2020-03-06T11:10:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9428b2aeded720978188c690678e7d3d791e10c9",
          "body": "…ge. (#41)\n\n* Fix bug when adding tier price to simple product from product edit page.\r\n\r\n* Check for single variants only on simple product form.",
          "is_bot": false,
          "headline": "Fix bug when adding tier price to simple product from product edit pa…",
          "author_name": "markbeazley",
          "author_login": "markbeazley",
          "committed_at": "2020-02-25T13:18:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3d0a04ef66892d50bbe03dc54e4f5a45e8b57f6",
          "body": "…creation-plugin\n\nUse customer instance from OrderInterface where possible.",
          "is_bot": false,
          "headline": "Merge pull request #47 from markbeazley/fix-compatibility-with-order-…",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-02-25T10:30:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a09f11071c3506adb2fbb4a24bf5e16ac6213c1e",
          "body": "TASK: Update readme to fit to Sylius 1.6",
          "is_bot": false,
          "headline": "Merge pull request #46 from daniellienert/patch-1",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2020-02-25T08:22:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "58f1571967e6035a3533d6e843f59447a74f619f",
          "body": null,
          "is_bot": false,
          "headline": "Use customer instance from OrderInterface where possible.",
          "author_name": "Mark Beazley",
          "author_login": "markbeazley",
          "committed_at": "2020-02-24T14:29:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4cdb4b870b355891099f5db980589301eb41e46",
          "body": null,
          "is_bot": false,
          "headline": "TASK: Update readme to fit to Sylius 1.6",
          "author_name": "Daniel Lienert",
          "author_login": "daniellienert",
          "committed_at": "2020-02-18T14:37:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b998886e3d947ba80afc423ba53a54f607ecba5",
          "body": "fix price validation for TierPrice",
          "is_bot": false,
          "headline": "Merge pull request #45 from jdubuisson/master",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2019-12-20T19:11:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c467203514be5b7e77c949356481aad0f44afaa1",
          "body": null,
          "is_bot": false,
          "headline": "fix price validation for TierPrice",
          "author_name": "Julien Dubuisson Duplessis",
          "author_login": "jdubuisson",
          "committed_at": "2019-12-20T10:59:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90a195daca51ab355faf64f4225c851cf89f766b",
          "body": "resolve fixture options in TierPriceExampleFactory to load fixtures",
          "is_bot": false,
          "headline": "Merge pull request #43 from jdubuisson/fix-42/loading-fixtures",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2019-12-20T08:39:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad5c8bc0574950498f193b22e8eb0365bfc34617",
          "body": null,
          "is_bot": false,
          "headline": "resolve fixture options in TierPriceExampleFactory to load fixtures",
          "author_name": "Julien DD",
          "author_login": "julienTroopers",
          "committed_at": "2019-12-19T15:57:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70e47c4af9ec79a35b8a261763bd1d83557ed1a3",
          "body": "Change resource names in line with Symfony 4/5 resource loader",
          "is_bot": false,
          "headline": "Merge pull request #40 from olia-bn/master",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2019-11-27T13:55:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71c88ad827c91b8f85f32ae29f13a40b92167d13",
          "body": null,
          "is_bot": false,
          "headline": "Change resource names in line with Symfony 4/5 resource loader",
          "author_name": "Olga Banasinska",
          "author_login": "Olia",
          "committed_at": "2019-11-27T12:57:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90c2d4f461a4fd9a8eee305dfd5025d48f6ba47f",
          "body": "Add ability to set up tier prices for customer groups",
          "is_bot": false,
          "headline": "Merge pull request #37 from markbeazley/master",
          "author_name": "mamazu",
          "author_login": "mamazu",
          "committed_at": "2019-11-22T18:52:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7f66a3033c5d8458b48603d7ea67860f6df09de",
          "body": "…ards compatibility, by moving new optional Customer parameter to end.",
          "is_bot": false,
          "headline": "Change signature of TierPriceFinderInterface::find() for better backw…",
          "author_name": "Mark Beazley",
          "author_login": "markbeazley",
          "committed_at": "2019-10-15T15:57:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e59520f05088216db3178fe10d7714fb6a017e8c",
          "body": null,
          "is_bot": false,
          "headline": "Fix existing tests broken by signature changes.",
          "author_name": "Mark Beazley",
          "author_login": "markbeazley",
          "committed_at": "2019-10-15T15:42:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ba0254a297da278d774792c7eb82c28e1888200",
          "body": "…rPrices by adding null as default value to customer group parameter.\n\nAdd comments better explaining logic when filtering tier prices for customer group.",
          "is_bot": false,
          "headline": "Improve backwards compatibility for TierPriceRepository::getSortedTie…",
          "author_name": "Mark Beazley",
          "author_login": "markbeazley",
          "committed_at": "2019-10-15T14:36:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "acb388a3f7c9a762ed191ecdcefeb52dd371a4d7",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'orm-mapping-fix'",
          "author_name": "Mark Beazley",
          "author_login": "markbeazley",
          "committed_at": "2019-10-14T07:43:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6e1dff4b82c402e8b471ffe5c3f35ba874c8ca9",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'move-validator-config'",
          "author_name": "Mark Beazley",
          "author_login": "markbeazley",
          "committed_at": "2019-10-14T07:43:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1194c39300697afd34a9698194456ace295a8dce",
          "body": null,
          "is_bot": false,
          "headline": "Validator translations should be in validators.*.yml files by default.",
          "author_name": "Mark Beazley",
          "author_login": "markbeazley",
          "committed_at": "2019-10-11T12:55:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7cc9fe4fd23a2fe7a5e8a83359683e8370f8afec",
          "body": null,
          "is_bot": false,
          "headline": "Improve getting object values with reflection in validator.",
          "author_name": "Mark Beazley",
          "author_login": "markbeazley",
          "committed_at": "2019-10-11T12:44:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8dbd564e39347e4ef773d93e49d7b66828f95674",
          "body": null,
          "is_bot": false,
          "headline": "Update TierPrice mapping config to explicitly define column names.",
          "author_name": "Mark Beazley",
          "author_login": "markbeazley",
          "committed_at": "2019-10-10T15:19:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c01c14c2905bfc71713f5b374de6857ccd0112f",
          "body": null,
          "is_bot": false,
          "headline": "Move Validator config.",
          "author_name": "Mark Beazley",
          "author_login": "markbeazley",
          "committed_at": "2019-10-10T11:48:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "927fac79376319063ef49802448fc6562e17bfaf",
          "body": null,
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'upstream/master'",
          "author_name": "Mark Beazley",
          "author_login": "markbeazley",
          "committed_at": "2019-10-10T09:35:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 42,
      "commits_last_year": 0,
      "latest_release_at": "2025-03-16T11:11:48Z",
      "latest_release_tag": "v4.0.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 0,
      "days_since_latest_release": 497,
      "mean_days_between_releases": 61.7
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 37,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "brille24/sylius-tierprice-plugin",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "packagist",
          "matches_repo": true,
          "registry_url": "https://packagist.org/packages/brille24/sylius-tierprice-plugin",
          "is_deprecated": false,
          "latest_version": "v4.0.0",
          "repository_url": "https://github.com/Brille24/SyliusTierpricePlugin",
          "versions_count": 42,
          "total_downloads": 181244,
          "dependents_count": 1,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 2197,
          "first_published_at": null,
          "latest_published_at": "2025-03-16T11:06:36Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 497
        }
      ]
    },
    "popularity": {
      "forks": 38,
      "stars": 47,
      "watchers": 3,
      "fork_history": {
        "days": [
          {
            "date": "2018-04-10",
            "count": 1
          },
          {
            "date": "2018-07-12",
            "count": 1
          },
          {
            "date": "2018-08-09",
            "count": 1
          },
          {
            "date": "2018-08-16",
            "count": 1
          },
          {
            "date": "2018-09-10",
            "count": 1
          },
          {
            "date": "2018-10-19",
            "count": 1
          },
          {
            "date": "2018-10-23",
            "count": 1
          },
          {
            "date": "2018-11-06",
            "count": 1
          },
          {
            "date": "2019-03-02",
            "count": 1
          },
          {
            "date": "2019-05-14",
            "count": 1
          },
          {
            "date": "2019-07-05",
            "count": 1
          },
          {
            "date": "2019-08-01",
            "count": 1
          },
          {
            "date": "2019-10-21",
            "count": 1
          },
          {
            "date": "2019-11-27",
            "count": 1
          },
          {
            "date": "2019-12-04",
            "count": 1
          },
          {
            "date": "2019-12-20",
            "count": 1
          },
          {
            "date": "2020-02-18",
            "count": 1
          },
          {
            "date": "2020-03-06",
            "count": 1
          },
          {
            "date": "2020-03-27",
            "count": 1
          },
          {
            "date": "2020-10-05",
            "count": 1
          },
          {
            "date": "2021-06-03",
            "count": 1
          },
          {
            "date": "2021-06-28",
            "count": 1
          },
          {
            "date": "2022-06-26",
            "count": 1
          },
          {
            "date": "2022-08-12",
            "count": 1
          },
          {
            "date": "2022-11-28",
            "count": 1
          },
          {
            "date": "2022-12-09",
            "count": 1
          },
          {
            "date": "2023-01-13",
            "count": 1
          },
          {
            "date": "2023-02-17",
            "count": 1
          },
          {
            "date": "2023-05-02",
            "count": 1
          },
          {
            "date": "2023-05-05",
            "count": 1
          },
          {
            "date": "2023-05-22",
            "count": 1
          },
          {
            "date": "2023-06-12",
            "count": 1
          },
          {
            "date": "2024-02-07",
            "count": 1
          },
          {
            "date": "2024-07-25",
            "count": 1
          },
          {
            "date": "2024-10-18",
            "count": 1
          },
          {
            "date": "2024-12-09",
            "count": 1
          },
          {
            "date": "2025-07-10",
            "count": 1
          },
          {
            "date": "2025-11-10",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 38,
        "total_forks": 38
      },
      "star_history": null,
      "open_issues_and_prs": 7
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 5486,
      "source_files_sampled": 52,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "composer.json"
      ],
      "advisories": {
        "error": "No resolved dependencies carried a version and a supported ecosystem",
        "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": 35,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "packagist"
      ],
      "dependencies": [
        {
          "name": "sylius/sylius",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "~2.0.0"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "sylius/sylius",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "@hotwired/stimulus",
            "direct": false,
            "version": "^3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@symfony/stimulus-bridge",
            "direct": false,
            "version": "^3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@symfony/webpack-encore",
            "direct": false,
            "version": "^5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tom-select",
            "direct": false,
            "version": "^2.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "behat/behat",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "dmore/behat-chrome-extension",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "dmore/chrome-mink-driver",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "friends-of-behat/mink",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "friends-of-behat/mink-browserkit-driver",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "friends-of-behat/mink-debug-extension",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "friends-of-behat/mink-extension",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "friends-of-behat/page-object-extension",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "friends-of-behat/suite-settings-extension",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "friends-of-behat/symfony-extension",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "friends-of-behat/variadic-extension",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "nyholm/psr7",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "php",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "phpspec/phpspec",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "phpstan/phpstan",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "phpstan/phpstan-doctrine",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "phpstan/phpstan-webmozart-assert",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "phpunit/phpunit",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "robertfausk/behat-panther-extension",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "sylius-labs/coding-standard",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "sylius-labs/suite-tags-extension",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "sylius/sylius-rector",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/browser-kit",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/debug-bundle",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/dotenv",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/flex",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/http-client",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/intl",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/web-profiler-bundle",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/webpack-encore-bundle",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 35,
        "direct_count": 1,
        "indirect_count": 34
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 2,
        "merged_prs": 53,
        "open_issues": 5,
        "closed_ratio": 0.853,
        "closed_issues": 29,
        "closed_unmerged_prs": 9
      },
      "bus_factor": 2,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "pamil",
          "commits": 190,
          "avatar_url": "https://avatars.githubusercontent.com/u/1897953?v=4"
        },
        {
          "type": "User",
          "login": "mamazu",
          "commits": 179,
          "avatar_url": "https://avatars.githubusercontent.com/u/14860264?v=4"
        },
        {
          "type": "User",
          "login": "markbeazley",
          "commits": 22,
          "avatar_url": "https://avatars.githubusercontent.com/u/17005579?v=4"
        },
        {
          "type": "User",
          "login": "lchrusciel",
          "commits": 21,
          "avatar_url": "https://avatars.githubusercontent.com/u/6213903?v=4"
        },
        {
          "type": "User",
          "login": "Roshyo",
          "commits": 17,
          "avatar_url": "https://avatars.githubusercontent.com/u/9363039?v=4"
        },
        {
          "type": "User",
          "login": "bitbager",
          "commits": 12,
          "avatar_url": "https://avatars.githubusercontent.com/u/28542010?v=4"
        },
        {
          "type": "User",
          "login": "pjedrzejewski",
          "commits": 9,
          "avatar_url": "https://avatars.githubusercontent.com/u/614970?v=4"
        },
        {
          "type": "User",
          "login": "Zales0123",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/6212718?v=4"
        },
        {
          "type": "User",
          "login": "stefandoorn",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/4903082?v=4"
        },
        {
          "type": "User",
          "login": "teohhanhui",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/548843?v=4"
        }
      ],
      "contributors_sampled": 27,
      "top_contributor_share": 0.375
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".eslintrc.js",
        "phpstan.neon"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "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": 2,
            "reason": "Found 7/28 approved changesets -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 18 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "39 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "b9604a700a39feb6ba858ec9cbf153e0fd8285ec",
        "ran_at": "2026-07-27T10:18:30Z",
        "aggregate_score": 3.4,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-27T10:16:18Z",
      "oldest_open_prs": [
        {
          "number": 95,
          "created_at": "2026-05-01T11:39:10Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 98,
          "created_at": "2026-07-27T10:09:20Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2025-03-17T20:23:31Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 53,
          "created_at": "2020-03-31T22:30:46Z",
          "last_comment_at": "2020-04-23T14:51:41Z",
          "last_comment_author": "markbeazley"
        },
        {
          "number": 58,
          "created_at": "2020-09-28T00:00:59Z",
          "last_comment_at": "2020-09-28T07:28:12Z",
          "last_comment_author": "mamazu"
        },
        {
          "number": 67,
          "created_at": "2022-08-07T18:27:34Z",
          "last_comment_at": "2022-08-16T00:16:33Z",
          "last_comment_author": "mamazu"
        },
        {
          "number": 75,
          "created_at": "2023-10-31T13:32:00Z",
          "last_comment_at": "2025-03-17T20:26:59Z",
          "last_comment_author": "mamazu"
        },
        {
          "number": 93,
          "created_at": "2025-05-07T08:30:59Z",
          "last_comment_at": "2025-05-09T17:43:27Z",
          "last_comment_author": "mamazu"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Brille24/SyliusTierpricePlugin",
    "host": "github.com",
    "name": "SyliusTierpricePlugin",
    "owner": "Brille24"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": "Abandonment Policy applies a 85% multiplier to weighted overall health.",
      "notes": [
        {
          "code": "abandonment_overall_adjustment",
          "params": {
            "cap": 0,
            "pct": 85
          }
        }
      ],
      "value": 46,
      "inputs": {
        "security": 34,
        "vitality": 46,
        "community": 46,
        "governance": 67,
        "engineering": 72,
        "abandonment_cap": null,
        "abandonment_state": "at_risk",
        "abandonment_multiplier": 85,
        "weighted_overall_before_abandonment": 54,
        "overall_after_abandonment_multiplier": 46
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "at_risk",
        "name": "Vitality",
        "value": 46,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "at_risk",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 36,
            "inputs": {
              "commits_last_year": 0,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 0
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "0/52 weeks with commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "0 commits in the last year",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "moderate",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "releases_count": 42,
              "latest_release_tag": "v4.0.0",
              "releases_from_tags": false,
              "days_since_latest_release": 497,
              "mean_days_between_releases": 61.7
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "42 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 42
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 497 days ago",
                "points": 7.2,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 497
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~61.7 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 61.7
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "cap": null,
              "state": "at_risk",
              "guards": [],
              "signals": [
                "release_stall",
                "scorecard_unmaintained"
              ],
              "red_flag": true,
              "multiplier_pct": 85,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": 0,
              "unanswered_open_issues": 0,
              "days_since_last_merged_pr": 496,
              "days_since_last_human_commit": 444,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "no human commit for 444 days; 2 unmet obligation(s): releases stalled, Scorecard reports it unmaintained",
                "points": 85,
                "status": "partial",
                "details": [
                  {
                    "code": "abandonment_flagged",
                    "params": {
                      "days": 444,
                      "count": 2,
                      "signals": "releases stalled, Scorecard reports it unmaintained"
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 46,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "at_risk",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 42,
            "inputs": {
              "forks": 38,
              "stars": 47,
              "watchers": 3,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "47 stars",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 47
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "38 forks",
                "points": 13.1,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 38
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "3 watchers",
                "points": 1.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "at_risk",
            "name": "Ecosystem adoption (downloads)",
            "note": null,
            "notes": [],
            "value": 47,
            "inputs": {
              "packages": [
                "brille24/sylius-tierprice-plugin"
              ],
              "dependents": 1,
              "ecosystems": "packagist",
              "total_downloads": 181244,
              "monthly_downloads": 2197
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "2,197 downloads/month across packagist",
                "points": 44.6,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 2197,
                      "ecosystems": "packagist"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "1 packages depend on it",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "registry_dependents",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 67,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 63,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 27,
              "top_contributor_share": 0.375
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 38% of commits",
                "points": 14.1,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 38
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "27 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 27
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 18 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 76,
            "inputs": {
              "merged_prs": 53,
              "open_issues": 5,
              "closed_issues": 29,
              "issue_closed_ratio": 0.853,
              "closed_unmerged_prs": 9
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "85% of issues closed",
                "points": 39.9,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 85
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "53/62 decided PRs merged",
                "points": 32.7,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 53,
                      "decided": 62
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 7/28 approved changesets -- score normalized to 2",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 52,
            "inputs": {
              "followers": 2,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "Brille24",
              "public_repos": 7,
              "account_age_days": 3658
            },
            "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": "2 followers of Brille24",
                "points": 3.4,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 2,
                      "login": "Brille24"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "7 public repos, account ~10 yr old",
                "points": 18.6,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 7
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 10
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "good",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 79,
            "inputs": {
              "packages": [
                "brille24/sylius-tierprice-plugin"
              ],
              "ecosystems": "packagist",
              "any_deprecated": false,
              "min_days_since_publish": 497
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on packagist",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "packagist"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 497 days ago",
                "points": 14,
                "status": "partial",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 497
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "42 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 42
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 72,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "1 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc.js, phpstan.neon",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js, phpstan.neon"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "0 out of 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": [
                "sylius",
                "tier-prices",
                "variants",
                "product-variant",
                "price"
              ],
              "has_wiki": false,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "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": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "5 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 34,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 34,
            "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": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "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 7/28 approved changesets -- score normalized to 2",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 18 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "39 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "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": 14
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 47,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "critical",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 19,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.36,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "36 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 19.2,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 36,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 66,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "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": ".eslintrc.js, phpstan.neon",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js, phpstan.neon"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "dependency automation configured, none observed in the sampled commits",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "dependency_bot_config_only",
                    "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": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "PHP",
              "largest_source_bytes": 5486,
              "source_files_sampled": 52,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "PHP without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "PHP"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/52 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 52,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "No resolved dependencies carried a version and a supported ecosystem"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-27T10:18:51.299115Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/b/Brille24/SyliusTierpricePlugin.svg",
  "full_name": "Brille24/SyliusTierpricePlugin",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte StatistikenPackagist.