Öffentliches Register
Software-GesundheitsberichtSchema 0.30.0 · Metriken 2.5.0 · 2026-08-04 16:52 UTC

yiisoft / yii-debug

Yii debug panel extension

PHPBSD-3-Clause★ 32 Sterne⑂ 16 Forksseit Aug. 2018Auf GitHub ansehen ↗
ArtBibliothekKommandozeilenwerkzeugwie das ermittelt wird

yiisoft/yii-debug erreicht einen Gesundheitsindex von 34 von 100 und liegt damit im Bereich Gefährdet. Am stärksten schneidet es bei Engineering Quality (80/100) ab, am schwächsten bei Vitality (30/100). Zuletzt vor 2 Tagen aktualisiert. 2 Mitwirkende tragen den Großteil der jüngsten Arbeit.

34
gesamt / 100
Gefährdet

Software-Gesundheitsindex

Metriken werden auf einer standardisierten Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr gewichtetes Mittel, kalibriert auf die Verteilung des öffentlichen Registers, sodass die Stufen Perzentilbedeutung tragen; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze Gefährdet von 34.

34
Außergewöhnlich93-100Die Spitzengruppe des Registers (≈ obere 5 %); erfüllt im Wesentlichen alle geprüften Kriterien
Exzellent80-92Durchgehend stark; geringfügige Lücken
Gut65-79Gesund; Lücken sind begrenzt und beherrschbar
Mittel50-64Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Schwach35-49Wesentliche Schwächen in mehreren Bereichen
Gefährdet20-34Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-19Schwerwiegende 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.

Der gewichtete Gesamtwert 57 wird auf der veröffentlichten Indexskala auf 60 kalibriert (Register-Kalibrierung 2026-08-02). Die Richtlinie für Hochrisikojurisdiktionen wendet einen Multiplikator von 75 % auf die gewichtete Gesamtgesundheit an und begrenzt sie auf die Obergrenze Gefährdet von 34.

Eigentümerschaft

Yii SoftwareOrganisation
680 Follower213 öffentliche Reposseit Aug. 2011

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

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
Packagistyiisoft/yii-debugdev-master5.908-vor 2 Tagendebugdebuggeryii

Metriken nach Kategorie

Vitalität

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

30Gefährdet · 21 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 2 Tagen
2.8/36Commit-Rhythmus — 4/52 Wochen mit Commits
7.6/18Commit-Volumen — 6 Commits im letzten Jahr
4/10OpenSSF Scorecard: Maintained — 5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4
Verwendete Eingangsdaten
commits_last_year6
human_commit_share0,92
days_since_last_push2
active_weeks_last_year4
Wie die Bewertung erfolgt
0/27Liefert Releases aus — keine Releases veröffentlicht
0/36Release-Aktualität — keine Releases
0/27Release-Rhythmus — keine Releases
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count0
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?

63Mittel · 17 % des Gesamtindex
Wie die Bewertung erfolgt
24.2/60Stars — 32 Stars
9.8/25Forks — 16 Forks
6.5/15Watcher — 16 Watcher
Verwendete Eingangsdaten
forks16
stars32
watchers16
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (BSD-3-Clause)
18/18CONTRIBUTING-Leitfaden
13.5/13.5Verhaltenskodex
0/7.2Issue-Vorlage
6.3/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
readme_badges12
has_contributingja
has_issue_templatenein
has_code_of_conductja
readme_badge_servicescodecov.io, github.com, poser.pugx.org, shields.io
has_pull_request_templateja
Wie die Bewertung erfolgt
50.3/80Downloads pro Monat — 5.908 Downloads/Monat über packagist
9.8/20Abhängige in der Registry — 29 Pakete hängen davon ab
Verwendete Eingangsdaten
packagesyiisoft/yii-debug
dependents29
ecosystemspackagist
total_downloads394.539
monthly_downloads5.908

Nachhaltigkeit & Governance

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

77Gut · 23 % des Gesamtindex
Wie die Bewertung erfolgt
25.2/54Bus-Faktor — 2 Beitragende decken die Hälfte aller Commits ab
14.4/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 36 % der Commits
13.5/13.5Breite der Beitragenden — 26 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 26 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor2
contributors_sampled26
top_contributor_share0,361
Wie die Bewertung erfolgt
32.8/42Issue-Lösungsquote — 78 % der Issues geschlossen
25.7/30PR-Annahme — 226/264 entschiedene PRs gemergt
0/13Newcomer PR acceptance — kein PR eines Erstbeitragenden in 30 Tagen entschieden
10.5/15OpenSSF Scorecard: Code-Review — Found 23/29 approved changesets -- score normalized to 7
Verwendete Eingangsdaten
merged_prs226
open_issues11
closed_issues39
prs_merged_7d1
prs_decided_7d1
prs_merged_30d3
prs_decided_30d3
issue_closed_ratio0,78
closed_unmerged_prs38
first_time_authors_30d0
first_time_prs_merged_30d0
first_time_prs_decided_30d0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): newcomer_pr_acceptance. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
20.4/25Reichweite des Inhabers — 680 Follower von yiisoft
25/25Kontohistorie — 213 öffentliche Repos, Kontoalter ca. 14 Jahre
Verwendete Eingangsdaten
followers680
owner_typeOrganization
is_verified
owner_loginyiisoft
public_repos213
account_age_days5.462

Paketpflege

100Außergewöhnlich
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf packagist
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 2 Tagen
0/20Versionshistorie — keine Daten
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagesyiisoft/yii-debug
ecosystemspackagist
any_deprecatednein
min_days_since_publish2
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Versionshistorie. Die verbleibenden Gewichte wurden renormalisiert.

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

80Exzellent · 19 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 6 Workflow(s)
24/24Tests vorhanden
16/16Linter-Konfiguration — .php-cs-fixer.dist.php
0/9.6Pre-Commit-Hooks
6.4/6.4.editorconfig
4/20OpenSSF Scorecard: CI-Tests — 6 out of 30 merged PRs checked by a CI test -- score normalized to 2
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfigja
has_linter_configja
has_precommit_confignein

Dokumentation

90Exzellent
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — https://www.yiiframework.com/
10/10Repository-Beschreibung
10/10Topics — 4 Topics
0/10Wiki
Verwendete Eingangsdaten
topicsdebugbar, debug, yii3, hacktoberfest
has_wikinein
homepagehttps://www.yiiframework.com/
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 — keine Daten
0.5/2.5CI-Tests — 6 out of 30 merged PRs checked by a CI test -- score normalized to 2
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
5.2/7.5Code-Review — Found 23/29 approved changesets -- score normalized to 7
2.5/2.5Contributors — project has 26 contributing companies or organizations
0/10Dangerous-Workflow — keine Daten
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
3/7.5Maintained — 5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4
0/5Packaging — keine Daten
0/5Pinned-Dependencies — keine Daten
1/5SAST — SAST tool is not run on all commits -- score normalized to 2
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — keine Daten
0/7.5Token-Permissions — keine Daten
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated12
scorecard_versionv5.5.0
checks_inconclusive6
scorecard_aggregate6
high_risk_jurisdiction_cap34
high_risk_jurisdiction_multiplier75
security_posture_after_multiplier45
security_posture_before_jurisdiction60
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): branch_protection, dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions. Die verbleibenden Gewichte wurden renormalisiert. Die Richtlinie für Hochrisikojurisdiktionen wendet einen Multiplikator von 75 % an und begrenzt die Sicherheitslage auf die Obergrenze Gefährdet von 34.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Trägt ein bewusst kleines Gewicht (4 %): Agenten-Tooling ist ein echtes Pflegesignal, doch ein Repository ohne jedes Signal kann weiterhin 100/100 erreichen.

45Schwach · 4 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 86 von 92 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,935
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
11/11Lint-/Format-Konfiguration — .php-cs-fixer.dist.php
0/11Statische Typprüfung
0/10Reproduzierbare Umgebung
0/10Belegte Agentenpraxis — keine von Agenten verfassten Commits unter den letzten 100
8/8Automatisierte Wartung — 8 der letzten 100 Commits sind automatisierte Abhängigkeits-Updates
0/10OpenSSF Scorecard: Pinned-Dependencies — keine Daten
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfiles
has_dockerfilenein
typed_languagenein
bootstrap_files
has_devcontainernein
has_linter_configja
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0,08
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: Pinned-Dependencies. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
0/45Typprüfbarer Code — PHP ohne Typprüfungs-Konfiguration
55/55Handhabbare Dateigrößen — 0/122 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languagePHP
largest_source_bytes27.550
source_files_sampled122
oversized_source_files0

Eckdaten

32GitHub-Sterne
26Mitwirkende
6Commits, letzte 12 Monate
2Tage seit letztem Push
0Releases
2Bus-Faktor
11offene 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 ★ / 16 ⇿
0Sterne
16Forks

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.

03581013151522018-082022-072026-05

Jeder Punkt umfasst 8 Tage.

OpenSSF Scorecard 6.0 / 10
6.0Gesamtwert

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-08-04 16:51 UTC

10Binary-Artifactsno binaries found in the repo
k. A.Branch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
2CI-Tests6 out of 30 merged PRs checked by a CI test -- score normalized to 2
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
7Code-ReviewFound 23/29 approved changesets -- score normalized to 7
10Contributorsproject has 26 contributing companies or organizations
k. A.Dangerous-Workflowno workflows found
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
4Maintained5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4
k. A.Packagingpackaging workflow not detected
k. A.Pinned-Dependenciesno dependencies found
2SASTSAST tool is not run on all commits -- score normalized to 2
0Security-Policysecurity policy file not detected
k. A.Signed-Releasesno releases found
k. A.Token-PermissionsNo tokens found
10Vulnerabilities0 existing vulnerabilities detected
Direkte Abhängigkeiten 13
RegistryPaketVersionsvorgabeManifest
Packagistguzzlehttp/psr7^2.4composer.json
Packagistpsr/container^2.0composer.json
Packagistpsr/event-dispatcher^1.0composer.json
Packagistpsr/http-client^1.0composer.json
Packagistpsr/http-message^1.0|^2.0composer.json
Packagistpsr/log^1.0|^2.0|^3.0composer.json
Packagistsymfony/console^5.4|^6.0|^7.0composer.json
Packagistyiisoft/di^1.0composer.json
Packagistyiisoft/files^2.0composer.json
Packagistyiisoft/profiler^3.0composer.json
Packagistyiisoft/proxy^1.0.1composer.json
Packagistyiisoft/strings^2.5composer.json
Packagistyiisoft/var-dumper^1.7composer.json
Alle Abhängigkeiten 32

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

RegistryPaketVersionBeziehung
Packagistguzzlehttp/psr7direkt
Packagistpsr/containerdirekt
Packagistpsr/event-dispatcherdirekt
Packagistpsr/http-clientdirekt
Packagistpsr/http-messagedirekt
Packagistpsr/logdirekt
Packagistsymfony/consoledirekt
Packagistyiisoft/didirekt
Packagistyiisoft/filesdirekt
Packagistyiisoft/profilerdirekt
Packagistyiisoft/proxydirekt
Packagistyiisoft/stringsdirekt
Packagistyiisoft/var-dumperdirekt
Packagistext-curlindirekt
Packagistext-mbstringindirekt
Packagistext-socketsindirekt
Packagistfriendsofphp/php-cs-fixerindirekt
Packagistjetbrains/phpstorm-attributesindirekt
Packagistmaglnet/composer-require-checkerindirekt
Packagistnyholm/psr7indirekt
Packagistphpindirekt
Packagistphpunit/phpunitindirekt
Packagistrector/rectorindirekt
Packagistroave/infection-static-analysis-pluginindirekt
Packagistspatie/phpunit-watcherindirekt
Packagistvimeo/psalmindirekt
Packagistyiisoft/code-styleindirekt
Packagistyiisoft/error-handlerindirekt
Packagistyiisoft/event-dispatcherindirekt
Packagistyiisoft/logindirekt
Packagistyiisoft/yii-consoleindirekt
Packagistyiisoft/yii-httpindirekt
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": [
        "debugbar",
        "debug",
        "yii3",
        "hacktoberfest"
      ],
      "is_fork": false,
      "size_kb": 979,
      "has_wiki": false,
      "homepage": "https://www.yiiframework.com/",
      "languages": {
        "PHP": 257166
      },
      "pushed_at": "2026-08-02T12:44:32Z",
      "created_at": "2018-08-02T16:00:10Z",
      "owner_type": "Organization",
      "updated_at": "2026-08-02T12:44:52Z",
      "description": "Yii debug panel extension",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "BSD-3-Clause",
      "default_branch": "master",
      "license_spdx_raw": "BSD-3-Clause",
      "primary_language": "PHP",
      "significant_languages": [
        "PHP"
      ]
    },
    "owner": {
      "blog": "https://www.yiiframework.com",
      "name": "Yii Software",
      "type": "Organization",
      "login": "yiisoft",
      "company": null,
      "location": "Earth",
      "followers": 680,
      "avatar_url": "https://avatars.githubusercontent.com/u/993323?v=4",
      "created_at": "2011-08-20T20:10:37Z",
      "is_verified": null,
      "public_repos": 213,
      "account_age_days": 5462
    },
    "license": {
      "state": "standard",
      "spdx_id": "BSD-3-Clause",
      "raw_spdx": "BSD-3-Clause",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [],
      "recent_commits": [
        {
          "oid": "48fc77d3930f005098a5ec28799240d38e804512",
          "body": "… the composer-dev-dependencies group across 1 directory (#322)\n\nSigned-off-by: dependabot[bot] <support@github.com>",
          "is_bot": true,
          "headline": "Update yiisoft/error-handler requirement from ^3.0 to ^3.0 || ^4.0 in…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-08-02T12:44:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "891916e77f12ddeea73636cb228ccc94cef166c2",
          "body": null,
          "is_bot": false,
          "headline": "Replace StyleCI to PHP CS Fixer (#321)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2026-07-30T10:01:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd183b53ee56226d81edab28f08e3a8e94029c9d",
          "body": null,
          "is_bot": false,
          "headline": "Update dependabot config (#318)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2026-07-14T18:50:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e77a9747a402f9431abb9bf15b0cf3627b8d779",
          "body": null,
          "is_bot": false,
          "headline": "Fix zizmor workflow findings (#312)",
          "author_name": "Alexander Makarov",
          "author_login": "samdark",
          "committed_at": "2026-07-06T10:21:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba3eaff180756fea360ee573852d33238f528157",
          "body": null,
          "is_bot": false,
          "headline": "Group Dependabot updates (#314)",
          "author_name": "Alexander Makarov",
          "author_login": "samdark",
          "committed_at": "2026-07-03T13:38:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54c57b5c745a11a69e1b7925379900fed6656968",
          "body": null,
          "is_bot": false,
          "headline": "Use default FUNDING and ISSUE_TEMPLATE (#309)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-12-06T22:21:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc978a0beed61a470839c6f5e12c5900cb1c044c",
          "body": null,
          "is_bot": false,
          "headline": "Refactor summary data structure (#306)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-06-28T06:20:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb01a60f006cbde2478c71bd2f58a39cb9026b1e",
          "body": null,
          "is_bot": false,
          "headline": "Modify `Debugger` life cycle (#308)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-02-03T13:53:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b36226b51eea3116c1432ee56d549ca34dceaa2e",
          "body": null,
          "is_bot": false,
          "headline": "Upgrade symfony/console: allow ^7.0 (#307)",
          "author_name": "Viktor Babanov",
          "author_login": "viktorprogger",
          "committed_at": "2025-01-26T15:37:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e29bcf3981af141faf4a9131fc429585e43cb206",
          "body": "Co-authored-by: Dmitriy Derepko <xepozz@list.ru>",
          "is_bot": false,
          "headline": "`Debugger`: minor refactoring and phpdoc (#305)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-01-24T08:23:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c57895780bba3fe5ab29824554bdaf1dc29e8f35",
          "body": null,
          "is_bot": false,
          "headline": "Refactor `BacktraceIgnoreMatcher` (#304)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-01-21T16:18:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b326385d207b72bd707d985a03ab87c10c18e1d5",
          "body": null,
          "is_bot": false,
          "headline": "Introduce startup policy (#303)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-01-18T06:09:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ace7cea52b6f9d33307e6d3ac9df5f5a02eee4d8",
          "body": null,
          "is_bot": false,
          "headline": "Remove `$skipCollect` from `Debugger` (#302)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-01-15T14:17:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "666d2f1aa827002de57d8352238c546696c8d1a5",
          "body": null,
          "is_bot": false,
          "headline": "Remove `FlattenException` (#301)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-01-15T14:17:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "32bc564951463aaf74526898767562bfd6e14883",
          "body": "…om `Debugger` (#300)",
          "is_bot": false,
          "headline": "Remove `withIgnoredRequests()` and `withIgnoredCommands()` methods fr…",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-01-15T09:38:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "63cee10b451e72f42e37770806efa8d78e2c6e43",
          "body": null,
          "is_bot": false,
          "headline": "Remove `DebuggerIdGenerator` and add `Debugger::isActive()` (#299)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-01-15T07:27:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77fc0225399adeb5bcef7e8a25cb1d839b595844",
          "body": null,
          "is_bot": false,
          "headline": "Refactor storage (#294)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-01-12T15:41:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "63082164a61ea7b932034cd1a7321675c23ce252",
          "body": null,
          "is_bot": false,
          "headline": "Replace `Dumper` to `DataNormalizer` (#298)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-01-11T18:26:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ed4683d7f5830ec621f6f65d109a114d7210f96",
          "body": null,
          "is_bot": false,
          "headline": "Remove closure from objects map (#297)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-01-11T06:41:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "012cb758de8eed7b2547404707e1465f67390367",
          "body": "…n) (#295)",
          "is_bot": false,
          "headline": "Refactoring dumper (dump only arrays, mark as internal, simplificatio…",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2025-01-06T08:54:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7002fea105d84ad05b5633b5b646bd39a7943433",
          "body": null,
          "is_bot": false,
          "headline": "Cleanup dependencies (#292)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-12-29T15:50:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "911877ccf7d9059d4d29a3ce94d6119ea13e1ad2",
          "body": null,
          "is_bot": false,
          "headline": "Remove `yiisoft/aliases` dependency (#293)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-12-28T14:42:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9bc49befc234e54ad933e100a2c9d398ce6622d",
          "body": null,
          "is_bot": false,
          "headline": "Remove Yii JSON dependency (#290)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-12-27T13:49:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3402f8dbd4d5afb5836d433c408e129a212a33b",
          "body": "Co-authored-by: Dmitriy Derepko <xepozz@list.ru>",
          "is_bot": false,
          "headline": "Psalm 1 (#267)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-12-21T10:13:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b532c445ba09d52dfbe878303b00b9cfc8b7acc1",
          "body": "* add tests\r\n\r\n* update dumper\r\n\r\n* fix styles\r\n\r\n* improve + tests\r\n\r\n* fix phpdoc\r\n\r\n* fix\r\n\r\n* fix\r\n\r\n---------\r\n\r\nCo-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>",
          "is_bot": false,
          "headline": "282 discover all nested objects (#287)",
          "author_name": "olegbaturin",
          "author_login": "olegbaturin",
          "committed_at": "2024-11-23T17:55:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d46d4a892fb57e6a439a686197ce188659e9b69f",
          "body": null,
          "is_bot": false,
          "headline": "Apply Rector suggestions + Improve Rector CI (#288)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-11-11T19:46:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "565a0d7801086f05b105eecb182ab29727fbda08",
          "body": null,
          "is_bot": false,
          "headline": "Discover all nested objects (#286)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-11-04T17:15:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90bb1960841cf3b054433d7c54210fd203d3fe8f",
          "body": null,
          "is_bot": false,
          "headline": "Move commands to corresponding packages (#281)",
          "author_name": "Alexander Makarov",
          "author_login": "samdark",
          "committed_at": "2024-09-17T07:39:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7e1c7050de7ef32de22e4f179432def52713d70c",
          "body": "* Proxy any calls to the decorated object\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* Add type\r\n\r\n* Proxy calls for var-dumper proxy\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>",
          "is_bot": false,
          "headline": "Proxy any calls to the decorated object (#272)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-09-10T06:57:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c6040982a3895bd09b0b01ad445659c774e1b3b",
          "body": null,
          "is_bot": false,
          "headline": "Startup debugger on app start (#273)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-09-10T06:56:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "544e56dd4371fde5ef93f94d0e696df8fa55eecd",
          "body": null,
          "is_bot": false,
          "headline": "Remove `MiddlewareCollector` usage (#269)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-08-06T06:53:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9020a782f0c4634c875b801945719d96044f5a1",
          "body": null,
          "is_bot": false,
          "headline": "Middleware dispatcher (#263)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-08-05T06:29:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7ee5a772126088cdd12b3f3485b01ba55d7acd97",
          "body": null,
          "is_bot": false,
          "headline": "Fix readme badges (#265)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-07-30T14:13:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f438352433c1b85c6ded60163c08885fab9959fa",
          "body": null,
          "is_bot": false,
          "headline": "Remove scrutinizer (#264)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-07-30T14:10:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "98eb50c314055c00515f8a141bd793bc6c1c99cd",
          "body": null,
          "is_bot": false,
          "headline": "Support psr logger ^1.0 (#262)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-07-07T07:23:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a679425b9afd2ae784362e444c3914e16b911768",
          "body": null,
          "is_bot": false,
          "headline": "Finalize `StorageInterface` constants + Fix tests (#260)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-06-30T18:36:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3fd44d76d2db21103bc290865e338fac17554ca",
          "body": "* Clean providers\r\n\r\n* Pass instance of proxied service to the proxy function",
          "is_bot": false,
          "headline": "Pass instance of proxied service to the proxy function (#258)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-06-23T12:50:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd4fe68e20980a29c3bd305c726fe5c07bb8995b",
          "body": null,
          "is_bot": false,
          "headline": "Cleanup (#257)",
          "author_name": "Alexander Makarov",
          "author_login": "samdark",
          "committed_at": "2024-06-22T12:55:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "434d031e8241855c26fe710623c94d129a49772b",
          "body": "* Update UPGRADE.md\r\n\r\n* Delete UPGRADE.md",
          "is_bot": false,
          "headline": "Update UPGRADE.md (#254)",
          "author_name": "Luiz Marin",
          "author_login": "luizcmarin",
          "committed_at": "2024-05-25T06:53:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bad51f524552f651005ccf21ceafa73428b993a7",
          "body": null,
          "is_bot": false,
          "headline": "Fix docs (#253)",
          "author_name": "Luiz Marin",
          "author_login": "luizcmarin",
          "committed_at": "2024-05-23T14:42:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e98d3d9c7ab632e87d348022bafe1316bc3cd86a",
          "body": "Co-authored-by: Sergei Predvoditelev <sergey.predvoditelev@gmail.com>",
          "is_bot": false,
          "headline": "Fix docs (#252)",
          "author_name": "Luiz Marin",
          "author_login": "luizcmarin",
          "committed_at": "2024-05-20T10:32:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b957b193feddadde9b0d224b065357709ad783e1",
          "body": null,
          "is_bot": false,
          "headline": "Fix docs (#251)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-04-30T14:23:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d122c5241c1610c087f29153bdbda3a974b0ae7",
          "body": null,
          "is_bot": false,
          "headline": "Docs folder standardization and other fixes (#250)",
          "author_name": "Luiz Marin",
          "author_login": "luizcmarin",
          "committed_at": "2024-04-22T20:42:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b140ac00ea0dd2a7f16bfe429583f407eb2b326",
          "body": "Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>",
          "is_bot": true,
          "headline": "Update psr/http-message requirement from ^1.0 to ^2.0 (#249)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-03-20T14:16:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "78bfe04e6163f62c810e0708b06f62b80c32ba8d",
          "body": null,
          "is_bot": false,
          "headline": "Fix memory storage (#248)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-03-05T05:24:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b79ba7fc94ad8618692859ced8ae9a2feedb044f",
          "body": "* 1\r\n\r\n* 2\r\n\r\n* 3\r\n\r\n* 4\r\n\r\n* 5\r\n\r\n* 6\r\n\r\n* 7\r\n\r\n* 8\r\n\r\n* 9\r\n\r\n* 10\r\n\r\n* add sort\r\n\r\n* add sort\r\n\r\n---------\r\n\r\nCo-authored-by: Dmitriy Derepko <xepozz@list.ru>",
          "is_bot": false,
          "headline": "Psalm level 2 (#246)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-03-04T05:58:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6712de9d9821af22eaf895b9aa1c2527de68a131",
          "body": "Updates the requirements on [rector/rector](https://github.com/rectorphp/rector) to permit the latest version.\r\n- [Release notes](https://github.com/rectorphp/rector/releases)\r\n- [Commits](https://github.com/rectorphp/rector/compare/0.19.0...1.0.0)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: rector/rector\r\n  dependency-type: direct:development\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Update rector/rector requirement from ^0.19.0 to ^1.0.0 (#247)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-02-07T06:38:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c27526527e30ff825ab8ddeade18ceae9d50e155",
          "body": null,
          "is_bot": false,
          "headline": "Fix: getCollected to getSummary (#245)",
          "author_name": "nahakyuu",
          "author_login": "nahakyuu",
          "committed_at": "2024-01-19T15:32:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cfec2ef86e31524657d5265e854fe6b256ccfe9c",
          "body": "Updates the requirements on [rector/rector](https://github.com/rectorphp/rector) to permit the latest version.\r\n- [Release notes](https://github.com/rectorphp/rector/releases)\r\n- [Commits](https://github.com/rectorphp/rector/compare/0.18.13...0.19.0)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: rector/rector\r\n  dependency-type: direct:development\r\n...\r\n\r\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "Update rector/rector requirement from ^0.18.13 to ^0.19.0 (#244)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-01-09T06:58:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c24361dc18a789c80e71079d16963cab68307190",
          "body": null,
          "is_bot": false,
          "headline": "Increase psalm level to 3 and corresponding changes (#243)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-01-08T08:15:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e8d625e527340927f438a2d769d1f6894672e576",
          "body": null,
          "is_bot": false,
          "headline": "More docs (#239)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-01-08T06:16:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8805959f480e323feb956cddb0eb3b9ead051958",
          "body": "Co-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>",
          "is_bot": true,
          "headline": "Update symfony/var-dumper requirement from ^5.4 to ^6.4 (#241)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-01-07T13:21:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "049158a8d713cb765abbc7c8c30ee5f081d6c369",
          "body": null,
          "is_bot": true,
          "headline": "Update rector/rector requirement from ^0.15.18 to ^0.18.13 (#240)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2024-01-07T13:18:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2dde06778fb5a54ad1372b41bab2e6ee62c279d9",
          "body": null,
          "is_bot": false,
          "headline": "Increase psalm level to 4 and corresponding changes (#242)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-01-07T12:13:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d39ffff2f6b752b7f18c85e74e6f2592b2dd5ad5",
          "body": "…age (#238)",
          "is_bot": false,
          "headline": "Raise PhpUnit to `^10.5` + Improve CI + Remove asset-packagist.org us…",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2024-01-07T11:52:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37cd41b86e98b6a18bc460d3a72b6c48892db023",
          "body": null,
          "is_bot": false,
          "headline": "Fix index md name",
          "author_name": "Dmitrii Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-01-06T19:22:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd393a58b8d70c70969a632b11d2c2006368244a",
          "body": "* Restructure documentation\r\n\r\n* Mention configurations\r\n\r\n* Add VarDumper collector docs\r\n\r\n* Apply suggestions from code review\r\n\r\nCo-authored-by: Alexander Makarov <sam@rmcreative.ru>\r\n\r\n* Add Log collector docs (#235)\r\n\r\n* Add Log collector docs\r\n\r\n* Update docs/en/collector/logger.md\r\n\r\nCo-auth\n[…]\n---\r\n\r\nCo-authored-by: Alexander Makarov <sam@rmcreative.ru>\r\n\r\n---------\r\n\r\nCo-authored-by: Alexander Makarov <sam@rmcreative.ru>\r\n\r\n---------\r\n\r\nCo-authored-by: Alexander Makarov <sam@rmcreative.ru>",
          "is_bot": false,
          "headline": "Add VarDumper collector docs (#234)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-01-06T19:21:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5b1263ca514742cbb93b8c53e143861d69c209c8",
          "body": "* Restructure documentation\r\n\r\n---------\r\n\r\nCo-authored-by: Alexander Makarov <sam@rmcreative.ru>",
          "is_bot": false,
          "headline": "Restructure documentation (#233)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-01-06T19:15:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b0585a9a5e378aa84fb87b37536f1c968748968",
          "body": null,
          "is_bot": false,
          "headline": "Add more tests (#232)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-01-05T13:30:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5232f6fd5ec20381a6e874efdaf5e277339cf4e",
          "body": null,
          "is_bot": false,
          "headline": "Optimize Dumper (#231)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2024-01-04T10:14:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e61844e627c13b38141fdf6caa35af082d220c0a",
          "body": null,
          "is_bot": false,
          "headline": "Fix when `openssl` extension is not enabled (#229)",
          "author_name": "Sergei Tigrov",
          "author_login": "Tigrov",
          "committed_at": "2023-12-14T17:50:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7305ad72bc53ab386baf80ceca6f5f700d9dfb47",
          "body": null,
          "is_bot": false,
          "headline": "`sockets` extension is required for unit tests (#230)",
          "author_name": "Sergei Tigrov",
          "author_login": "Tigrov",
          "committed_at": "2023-12-14T17:43:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d79cc4baf852a682ceb1690010b000916a42423",
          "body": "* Add more tests\r\n\r\n* Fix test\r\n\r\n* Cover BacktraceIgnoreMatcher\r\n\r\n* Cover VarDumperCollector\r\n\r\n* Cover ExceptionCollector\r\n\r\n* Cover HttpClientCollector\r\n\r\n* Cover HttpClientCollectorProxy\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* Fix test\r\n\r\n* Cover more cases\r\n\r\n* Cover more cases\r\n\r\n* Apply fixes fro\n[…]\nctor changes (CI)\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>\r\nCo-authored-by: xepozz <xepozz@users.noreply.github.com>\r\nCo-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>",
          "is_bot": false,
          "headline": "Add more tests (#227)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-10-14T13:26:20Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "71ac2a8a507aa8284a3a8405959579f76d2e1edc",
          "body": "* Add var dumper collector\r\n\r\n* Include bootstrap config\r\n\r\n* Fix composer-require-checker\r\n\r\n* Timeline collector (#224)\r\n\r\n* Add timeline collector\r\n\r\n* Change timeline signature\r\n\r\n* Use microtime instead of time\r\n\r\n* Remove redundant property\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* Fix tests & psalm \n[…]\nby: StyleCI Bot <bot@styleci.io>\r\n\r\n* Update var-dumper\r\n\r\n* Remove Yiisoft\\\\VarDumper\\\\HandlerInterface from composer-require-checker.json\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>",
          "is_bot": false,
          "headline": "Add var dumper collector (#223)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-10-08T11:43:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7557311a95fead8d1544f21a0b326f4b32939f9d",
          "body": "* Update strings package\r\n\r\n* Fix check\r\n\r\n* Fix tests\r\n\r\n* Fix tests\r\n\r\n* Add example doc",
          "is_bot": false,
          "headline": "Update strings package (#226)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-10-08T09:49:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e16d64d4a8dc3f0d6a64cf1c9476aa4a59d8e73f",
          "body": null,
          "is_bot": false,
          "headline": "Fix psalm errors (#220)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-07-09T19:32:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7bf0e1fd525fd7600ce099f0b512cbb261ac5278",
          "body": null,
          "is_bot": false,
          "headline": "Debug commands (#216)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-07-02T04:14:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "376d349613c6b213313936b3ea37b57ec3ea2222",
          "body": null,
          "is_bot": false,
          "headline": "Fix tests (#218)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-06-30T15:34:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "862587f6c82bfe758ed8e57cbbb4e9b8332d3c7b",
          "body": "* Add ignore flags\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* Add header to ignore debugging\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* Update src/Debugger.php\r\n\r\nCo-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* Check ignore flags first\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>\r\nCo-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>",
          "is_bot": false,
          "headline": "Add ignore flags (#217)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-06-08T18:44:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb4cada2ed1dcd4386e687ffbbf7f31ce4170793",
          "body": "* Fix namespace\r\n\r\n* Remove useless attribute\r\n\r\n* Increase CC\r\n\r\n* Add test for empty collectors\r\n\r\n* Add gitignore for stub folder\r\n\r\n* Add test for file stream\r\n\r\n* Add test for rename stream\r\n\r\n* Add test for rmdir stream\r\n\r\n* Add test for unlink stream\r\n\r\n* Add test for file stream\r\n\r\n* Add tes\n[…]\nstractCollectorTestCase.php\r\n\r\nCo-authored-by: Alexander Makarov <sam@rmcreative.ru>\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>\r\nCo-authored-by: Alexander Makarov <sam@rmcreative.ru>",
          "is_bot": false,
          "headline": "Increase test coverage (#215)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-05-29T15:48:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bace86afb2c3abe8ee5fdf4250dce8464c9869a5",
          "body": "* Split yii-debug package codebase\r\n\r\n* Regroup tests and public abstract collector test case\r\n\r\n* [ci-review] Apply changes from Rector action.\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* Add shared directory to autoload\r\n\r\n* Revert failing\r\n\r\n* Remove ignored request\r\n\r\n---------\r\n\r\nCo-authored-by: rector-bot <rector@yiiframework.com>\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>",
          "is_bot": false,
          "headline": "Split yii-debug package codebase (#209)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-04-29T10:48:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7bc6a44f79f383ba43d77b4048b57138abb02d3c",
          "body": "* Optimize reading\r\n\r\n* Apply fixes from StyleCI\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>",
          "is_bot": false,
          "headline": "Optimize reading (#214)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-04-29T10:22:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d31715426ae03db8042b05763246d5e2eb724a54",
          "body": null,
          "is_bot": false,
          "headline": "Use stable yiisoft/db",
          "author_name": "Alexander Makarov",
          "author_login": "samdark",
          "committed_at": "2023-04-12T07:25:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9428af307cc9510939a57adbfee631c01a2b8db",
          "body": null,
          "is_bot": false,
          "headline": "Remove dots from ID representation (#213)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-04-04T15:40:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "691aa217439903baf3e8cfeb92720c6c9ead6020",
          "body": null,
          "is_bot": false,
          "headline": "Update StyleCI config (#212)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2023-03-31T15:15:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fcb51240f0995eec2772da9047a87b80130e20b8",
          "body": "* Extend IndexCollectorInterface with CollectorInterface\r\n\r\n* Add docs about collectors\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* A few minor changes\r\n\r\n* Add more docs\r\n\r\n* Apply suggestions from code review\r\n\r\nCo-authored-by: Alexander Makarov <sam@rmcreative.ru>\r\n\r\n* Fix sentence\r\n\r\n* Rename IndexCollec\n[…]\nuggestions from code review\r\n\r\nCo-authored-by: Alexander Makarov <sam@rmcreative.ru>\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>\r\nCo-authored-by: Alexander Makarov <sam@rmcreative.ru>",
          "is_bot": false,
          "headline": "More documentation (#211)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-03-30T18:21:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "65c26d0eaefcfffbd5b3b224136051b7d6763c12",
          "body": "* Extend IndexCollectorInterface with CollectorInterface\r\n\r\n* Add docs about collectors\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* Apply suggestions from code review\r\n\r\nCo-authored-by: Alexander Makarov <sam@rmcreative.ru>\r\n\r\n* Fix sentence\r\n\r\n* Rename IndexCollectorInterface -> SummaryCollectorInterface\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>\r\nCo-authored-by: Alexander Makarov <sam@rmcreative.ru>",
          "is_bot": false,
          "headline": "Collectors documentation (#210)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-03-29T06:20:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7ef7a0fe30fc2b2e1f974f4acb0a6a61057d0d9",
          "body": "* Move unnecessary dependencies\r\n\r\n* Apply fixes from StyleCI\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>",
          "is_bot": false,
          "headline": "Move dependencies (#208)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-03-26T20:40:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20b397a336d7f31a227ac4f5f75d8c8d81ae0b89",
          "body": null,
          "is_bot": false,
          "headline": "update links (#207)",
          "author_name": "Ihor Sychevskyi",
          "author_login": "Arhell",
          "committed_at": "2023-03-17T07:16:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "67d0f274fc65feac9a45e62d164f189aa6a51d9e",
          "body": "* level 5\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* Fix CS\r\n\r\n* fix\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>",
          "is_bot": false,
          "headline": "Psalm level 5 (#205)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2023-03-15T08:48:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7758054f157a5b3c0f088806baa3b018465b3c62",
          "body": "* Create basic db collector\r\n\r\n* Group web collectors\r\n\r\n* Group db collectors\r\n\r\n* Add cycle collector [WIP]\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* Fix tests\r\n\r\n* Move streams\r\n\r\n* Group queue\r\n\r\n* Fix config\r\n\r\n* Fix missed dependencies\r\n\r\n* Fix missed dependencies\r\n\r\n* Fix total\r\n\r\n* Group collectors\n[…]\n\n\r\n* Remove cycle collectors\r\n\r\n* Fix errors\r\n\r\n* Collect transactions and queries\r\n\r\n* Wrap transactions\r\n\r\n* Fix composer-require-checker\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>",
          "is_bot": false,
          "headline": "yiisoft/db collector (#160)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-03-11T16:38:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "33d5ac8bb6753269899a775b39d290c6ec27e01f",
          "body": null,
          "is_bot": false,
          "headline": "Add exception collector (#201)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-03-09T06:00:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "683a5e2d2172fdceefa379949396df4faa973800",
          "body": null,
          "is_bot": false,
          "headline": "Use stable validator (#200)",
          "author_name": "Rustam Mamadaminov",
          "author_login": "rustamwin",
          "committed_at": "2023-03-01T19:48:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1c31b754d3b9fbb4acff83d7ebd2a0b8254a823",
          "body": "* Update rector/rector requirement from ^0.14.3 to ^0.15.1\r\n\r\nUpdates the requirements on [rector/rector](https://github.com/rectorphp/rector) to permit the latest version.\r\n- [Release notes](https://github.com/rectorphp/rector/releases)\r\n- [Commits](https://github.com/rectorphp/rector/compare/0.14.\n[…]\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\r\nCo-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>",
          "is_bot": true,
          "headline": "Update rector/rector requirement from ^0.14.3 to ^0.15.1 (#175)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2023-02-27T14:46:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "62c33ce513ab76d81946557aef38c7ef7e983007",
          "body": "* Update vimeo/psalm requirement from ^4.18 to ^5.4\r\n\r\nUpdates the requirements on [vimeo/psalm](https://github.com/vimeo/psalm) to permit the latest version.\r\n- [Release notes](https://github.com/vimeo/psalm/releases)\r\n- [Commits](https://github.com/vimeo/psalm/compare/4.18...5.4.0)\r\n\r\n---\r\nupdated\n[…]\nSigned-off-by: dependabot[bot] <support@github.com>\r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\r\nCo-authored-by: Sergei Predvoditelev <sergei@predvoditelev.ru>",
          "is_bot": true,
          "headline": "Update vimeo/psalm requirement from ^4.18 to ^5.4 (#177)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2023-02-27T13:20:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "183c61db2fbcf26568bfa9b3ce0a0986981b9340",
          "body": null,
          "is_bot": false,
          "headline": "Adapt to last changes in `yiisoft/yii-queue` (#199)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2023-02-27T10:56:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dbe0e960cc89a81155ff3d5f1a7005b6276964c6",
          "body": null,
          "is_bot": false,
          "headline": "Add exit code (#198)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-02-24T23:42:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9f2b0a8175083dfbfed72da38e190d9be5254fb6",
          "body": null,
          "is_bot": false,
          "headline": "Update contributor code of conduct (#197)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2023-02-24T07:26:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f4e81557720cc605b618a09ae3a2a4733a7e9829",
          "body": null,
          "is_bot": false,
          "headline": "Fix `HttpClientCollector` (#196)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2023-02-19T16:10:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "95a5b3f239a781ae18c7864efb3630915685ac06",
          "body": null,
          "is_bot": false,
          "headline": "Update dependencies (#195)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2023-02-19T11:42:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8463639393c1f57741b0af1beb143780d0b187da",
          "body": null,
          "is_bot": false,
          "headline": "Adapt configuration group names to Yii conventions (#191)",
          "author_name": "Sergei Predvoditelev",
          "author_login": "vjik",
          "committed_at": "2023-02-19T10:15:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83243a2be5b7f73ecabf2a3185de5316abcabec7",
          "body": "* Add current route to router collector\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* Fix reflection\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>",
          "is_bot": false,
          "headline": "Add current route to router collector (#190)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-02-16T17:15:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03c53adaff27738fdfbc78479d026a21a27d6a68",
          "body": "* Add collecting identities\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* [ci-review] Apply changes from Rector action.\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>\r\nCo-authored-by: rector-bot <rector@yiiframework.com>",
          "is_bot": false,
          "headline": "Identities collector (#194)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-02-16T17:15:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f8dc651badf8189291691875e702a1111430c37b",
          "body": null,
          "is_bot": false,
          "headline": "Fix stream wrapper return value (#193)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-02-13T11:30:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9a215bf479bb07d18a63d2b16655211b64208e6",
          "body": "* Add FS sniffing\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* [ci-review] Apply changes from Rector action.\r\n\r\n* Fix return type\r\n\r\n* Add http(s) streams wrapper\r\n\r\n* Add test for FS stream\r\n\r\n* Fix types and stream wrapper logic\r\n\r\n* Refactor tests\r\n\r\n* Add a test for http stream\r\n\r\n* Rename collector\r\n\r\n* \n[…]\n\r\n* Add TODO\r\n\r\n* Move comments to property description\r\n\r\n* Apply fixes from StyleCI\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>\r\nCo-authored-by: rector-bot <rector@yiiframework.com>",
          "is_bot": false,
          "headline": "Fs/http sniffers (#186)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-02-13T10:37:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "dc6b1677fe38f4a6025314113a781426a795e0e1",
          "body": null,
          "is_bot": false,
          "headline": "Re-add `yiisoft/assets`:`^2.0` support (#188)",
          "author_name": "Rustam Mamadaminov",
          "author_login": "rustamwin",
          "committed_at": "2023-02-07T14:13:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d3835fbf4ca0f026f8bcf23059b0e0809e78bc2d",
          "body": "Fix unit tests by syncing with validator changes",
          "is_bot": false,
          "headline": "Merge pull request #187 from yiisoft/sync-with-validator",
          "author_name": "Alexey Rogachev",
          "author_login": "arogachev",
          "committed_at": "2023-02-05T08:01:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a1bb9993abb19125f0388e159a05096b5cb69150",
          "body": null,
          "is_bot": false,
          "headline": "Fix unity tests by syncing with validator changes",
          "author_name": "Alexey Rogachev",
          "author_login": "arogachev",
          "committed_at": "2023-02-05T07:11:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e2ce258e8bba1233178fa08cbb7a881ea6cfc543",
          "body": "* Add http client proxy\r\n\r\n* Apply fixes from StyleCI\r\n\r\n* [ci-review] Apply changes from Rector action.\r\n\r\n---------\r\n\r\nCo-authored-by: StyleCI Bot <bot@styleci.io>\r\nCo-authored-by: rector-bot <rector@yiiframework.com>",
          "is_bot": false,
          "headline": "Add http client proxy (#185)",
          "author_name": "Dmitriy Derepko",
          "author_login": "xepozz",
          "committed_at": "2023-02-04T22:57:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71280bdec5064821aab70a11650677b32ca1378a",
          "body": null,
          "is_bot": false,
          "headline": "Use assets 3.0. (#184)",
          "author_name": "Wilmer Arambula",
          "author_login": "terabytesoftw",
          "committed_at": "2023-02-03T11:43:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 0,
      "commits_last_year": 6,
      "latest_release_at": null,
      "latest_release_tag": null,
      "releases_from_tags": false,
      "days_since_last_push": 2,
      "active_weeks_last_year": 4,
      "days_since_latest_release": null,
      "mean_days_between_releases": null
    },
    "artifacts": {
      "collected": true,
      "structure": [],
      "declarations": [
        {
          "name": "yiisoft/yii-debug",
          "path": "composer.json",
          "tokens": [
            "composer.type:library"
          ],
          "ecosystem": "packagist"
        }
      ]
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "readme_badges": {
        "hosts": [
          "codecov.io",
          "github.com",
          "poser.pugx.org",
          "shields.io"
        ],
        "total": 12,
        "header": 6,
        "collected": true,
        "has_inspect_badge": false
      },
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 87,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "yiisoft/yii-debug",
          "exists": true,
          "license": "BSD-3-Clause",
          "keywords": [
            "debug",
            "debugger",
            "yii"
          ],
          "ecosystem": "packagist",
          "categories": [],
          "matches_repo": true,
          "registry_url": "https://packagist.org/packages/yiisoft/yii-debug",
          "declared_type": "library",
          "is_deprecated": false,
          "latest_version": "dev-master",
          "repository_url": "https://github.com/yiisoft/yii-debug",
          "versions_count": null,
          "total_downloads": 394539,
          "dependents_count": 29,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 5908,
          "first_published_at": null,
          "latest_published_at": "2026-08-02T12:44:30Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 2
        }
      ]
    },
    "popularity": {
      "forks": 16,
      "stars": 32,
      "watchers": 16,
      "fork_history": {
        "days": [
          {
            "date": "2018-08-28",
            "count": 1
          },
          {
            "date": "2018-09-12",
            "count": 1
          },
          {
            "date": "2018-12-26",
            "count": 1
          },
          {
            "date": "2019-11-06",
            "count": 1
          },
          {
            "date": "2020-01-24",
            "count": 1
          },
          {
            "date": "2020-01-27",
            "count": 1
          },
          {
            "date": "2020-03-04",
            "count": 1
          },
          {
            "date": "2020-03-05",
            "count": 1
          },
          {
            "date": "2020-09-02",
            "count": 1
          },
          {
            "date": "2020-12-29",
            "count": 1
          },
          {
            "date": "2022-06-01",
            "count": 1
          },
          {
            "date": "2022-10-28",
            "count": 1
          },
          {
            "date": "2023-11-24",
            "count": 1
          },
          {
            "date": "2025-07-06",
            "count": 1
          },
          {
            "date": "2026-05-27",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 15,
        "total_forks": 16
      },
      "star_history": null,
      "open_issues_and_prs": 16
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 27550,
      "source_files_sampled": 122,
      "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": 32,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "packagist"
      ],
      "dependencies": [
        {
          "name": "guzzlehttp/psr7",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^2.4"
        },
        {
          "name": "psr/container",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^2.0"
        },
        {
          "name": "psr/event-dispatcher",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^1.0"
        },
        {
          "name": "psr/http-client",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^1.0"
        },
        {
          "name": "psr/http-message",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^1.0|^2.0"
        },
        {
          "name": "psr/log",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^1.0|^2.0|^3.0"
        },
        {
          "name": "symfony/console",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^5.4|^6.0|^7.0"
        },
        {
          "name": "yiisoft/di",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^1.0"
        },
        {
          "name": "yiisoft/files",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^2.0"
        },
        {
          "name": "yiisoft/profiler",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^3.0"
        },
        {
          "name": "yiisoft/proxy",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^1.0.1"
        },
        {
          "name": "yiisoft/strings",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^2.5"
        },
        {
          "name": "yiisoft/var-dumper",
          "manifest": "composer.json",
          "ecosystem": "packagist",
          "version_constraint": "^1.7"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "guzzlehttp/psr7",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "psr/container",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "psr/event-dispatcher",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "psr/http-client",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "psr/http-message",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "psr/log",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "symfony/console",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "yiisoft/di",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "yiisoft/files",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "yiisoft/profiler",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "yiisoft/proxy",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "yiisoft/strings",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "yiisoft/var-dumper",
            "direct": true,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "ext-curl",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "ext-mbstring",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "ext-sockets",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "friendsofphp/php-cs-fixer",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "jetbrains/phpstorm-attributes",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "maglnet/composer-require-checker",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "nyholm/psr7",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "php",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "phpunit/phpunit",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "rector/rector",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "roave/infection-static-analysis-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "spatie/phpunit-watcher",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "vimeo/psalm",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "yiisoft/code-style",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "yiisoft/error-handler",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "yiisoft/event-dispatcher",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "yiisoft/log",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "yiisoft/yii-console",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          },
          {
            "name": "yiisoft/yii-http",
            "direct": false,
            "version": null,
            "ecosystem": "packagist"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 32,
        "direct_count": 13,
        "indirect_count": 19
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 5,
        "merged_prs": 226,
        "open_issues": 11,
        "closed_ratio": 0.78,
        "closed_issues": 39,
        "closed_unmerged_prs": 38
      },
      "bus_factor": 2,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "xepozz",
          "commits": 169,
          "avatar_url": "https://avatars.githubusercontent.com/u/6815714?v=4"
        },
        {
          "type": "User",
          "login": "samdark",
          "commits": 86,
          "avatar_url": "https://avatars.githubusercontent.com/u/47294?v=4"
        },
        {
          "type": "User",
          "login": "rustamwin",
          "commits": 59,
          "avatar_url": "https://avatars.githubusercontent.com/u/16498265?v=4"
        },
        {
          "type": "User",
          "login": "vjik",
          "commits": 43,
          "avatar_url": "https://avatars.githubusercontent.com/u/525501?v=4"
        },
        {
          "type": "User",
          "login": "machour",
          "commits": 23,
          "avatar_url": "https://avatars.githubusercontent.com/u/304450?v=4"
        },
        {
          "type": "User",
          "login": "hiqsol",
          "commits": 19,
          "avatar_url": "https://avatars.githubusercontent.com/u/11820365?v=4"
        },
        {
          "type": "User",
          "login": "yiiliveext",
          "commits": 13,
          "avatar_url": "https://avatars.githubusercontent.com/u/37578608?v=4"
        },
        {
          "type": "User",
          "login": "devanych",
          "commits": 12,
          "avatar_url": "https://avatars.githubusercontent.com/u/20116244?v=4"
        },
        {
          "type": "User",
          "login": "StyleCIBot",
          "commits": 10,
          "avatar_url": "https://avatars.githubusercontent.com/u/11048387?v=4"
        },
        {
          "type": "User",
          "login": "arogachev",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/8326201?v=4"
        }
      ],
      "contributors_sampled": 26,
      "top_contributor_share": 0.361
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build.yml",
        "composer-require-checker.yml",
        "mutation.yml",
        "rector-cs.yml",
        "static.yml",
        "zizmor.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".php-cs-fixer.dist.php"
      ],
      "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": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 2,
            "reason": "6 out of 30 merged PRs checked by a CI test -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 7,
            "reason": "Found 23/29 approved changesets -- score normalized to 7",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 26 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 4,
            "reason": "5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 2,
            "reason": "SAST tool is not run on all commits -- score normalized to 2",
            "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": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "48fc77d3930f005098a5ec28799240d38e804512",
        "ran_at": "2026-08-04T16:51:45Z",
        "aggregate_score": 6,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "recent_prs": {
        "merged_7d": 1,
        "decided_7d": 1,
        "merged_30d": 3,
        "authors_30d": 2,
        "decided_30d": 3,
        "sample_size": 60,
        "window_days": 30,
        "sample_exhausted": false,
        "authors_probed_30d": 2,
        "newcomer_merged_30d": 0,
        "bot_prs_excluded_30d": 5,
        "newcomer_authors_30d": 0,
        "newcomer_decided_30d": 0
      },
      "ci_last_run_at": "2026-08-04T06:54:43Z",
      "oldest_open_prs": [
        {
          "number": 203,
          "created_at": "2023-03-11T17:32:20Z",
          "last_comment_at": "2025-01-15T14:06:01Z",
          "last_comment_author": "vjik"
        },
        {
          "number": 219,
          "created_at": "2023-06-18T16:28:10Z",
          "last_comment_at": "2023-06-18T16:28:26Z",
          "last_comment_author": "what-the-diff"
        },
        {
          "number": 225,
          "created_at": "2023-09-07T16:47:13Z",
          "last_comment_at": "2024-12-07T10:26:17Z",
          "last_comment_author": "xepozz"
        },
        {
          "number": 311,
          "created_at": "2026-01-02T12:39:51Z",
          "last_comment_at": "2026-01-03T16:51:50Z",
          "last_comment_author": "copilot-swe-agent"
        },
        {
          "number": 320,
          "created_at": "2026-07-28T06:52:57Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-08-02T12:44:30Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 135,
          "created_at": "2022-07-20T18:50:20Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 189,
          "created_at": "2023-02-10T14:20:22Z",
          "last_comment_at": "2023-02-11T18:39:02Z",
          "last_comment_author": "gmdmi"
        },
        {
          "number": 192,
          "created_at": "2023-02-13T08:33:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 204,
          "created_at": "2023-03-13T14:49:58Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 266,
          "created_at": "2024-07-30T14:20:44Z",
          "last_comment_at": "2024-08-02T12:29:38Z",
          "last_comment_author": "vjik"
        },
        {
          "number": 275,
          "created_at": "2024-09-08T17:26:02Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 277,
          "created_at": "2024-09-08T17:43:40Z",
          "last_comment_at": "2024-10-20T17:17:13Z",
          "last_comment_author": "xepozz"
        },
        {
          "number": 278,
          "created_at": "2024-09-08T18:04:22Z",
          "last_comment_at": "2024-09-08T20:31:20Z",
          "last_comment_author": "vjik"
        },
        {
          "number": 280,
          "created_at": "2024-09-08T18:52:49Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 289,
          "created_at": "2024-11-19T06:23:32Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 310,
          "created_at": "2026-01-01T12:54:06Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/yiisoft/yii-debug",
    "host": "github.com",
    "name": "yii-debug",
    "owner": "yiisoft"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": "The weighted overall 57 is calibrated to 60 on the published index scale (record calibration 2026-08-02). High-Risk Jurisdiction Policy applies a 75% multiplier to weighted overall health and gives it an At Risk ceiling of 34.",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 57,
            "calibrated": 60,
            "calibration": "2026-08-02"
          }
        },
        {
          "code": "jurisdiction_overall_adjustment",
          "params": {
            "cap": 34,
            "pct": 75
          }
        }
      ],
      "value": 34,
      "inputs": {
        "security": 34,
        "vitality": 30,
        "community": 63,
        "governance": 77,
        "calibration": "2026-08-02",
        "engineering": 80,
        "ai_readiness": 45,
        "weighted_overall_raw": 57,
        "high_risk_jurisdiction_cap": 34,
        "high_risk_jurisdiction_multiplier": 75,
        "weighted_overall_before_jurisdiction": 60,
        "overall_after_jurisdiction_multiplier": 45
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "at_risk",
        "name": "Vitality",
        "value": 30,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "commits_last_year": 6,
              "human_commit_share": 0.92,
              "days_since_last_push": 2,
              "active_weeks_last_year": 4
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 2 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "4/52 weeks with commits",
                "points": 2.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 4
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "6 commits in the last year",
                "points": 7.6,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4",
                "points": 4,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "critical",
            "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": 1,
            "inputs": {
              "releases_count": 0
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "no releases published",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases_published",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "no releases",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases",
                    "params": {}
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "no releases",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases",
                    "params": {}
                  }
                ],
                "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": "exceptional",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 5,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 5 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 63,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "weak",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "forks": 16,
              "stars": 32,
              "watchers": 16,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "32 stars",
                "points": 24.2,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 32
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "16 forks",
                "points": 9.8,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 16
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "16 watchers",
                "points": 6.5,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 16
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": 12,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "readme_badge_services": [
                "codecov.io",
                "github.com",
                "poser.pugx.org",
                "shields.io"
              ],
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (BSD-3-Clause)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "BSD-3-Clause"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "packages": [
                "yiisoft/yii-debug"
              ],
              "dependents": 29,
              "ecosystems": "packagist",
              "total_downloads": 394539,
              "monthly_downloads": 5908
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "5,908 downloads/month across packagist",
                "points": 50.3,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 5908,
                      "ecosystems": "packagist"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "29 packages depend on it",
                "points": 9.8,
                "status": "partial",
                "details": [
                  {
                    "code": "registry_dependents",
                    "params": {
                      "count": 29
                    }
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 77,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 63,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 26,
              "top_contributor_share": 0.361
            },
            "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 36% of commits",
                "points": 14.4,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 36
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "26 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 26
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 26 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "newcomer_pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 79,
            "inputs": {
              "merged_prs": 226,
              "open_issues": 11,
              "closed_issues": 39,
              "prs_merged_7d": 1,
              "prs_decided_7d": 1,
              "prs_merged_30d": 3,
              "prs_decided_30d": 3,
              "issue_closed_ratio": 0.78,
              "closed_unmerged_prs": 38,
              "first_time_authors_30d": 0,
              "first_time_prs_merged_30d": 0,
              "first_time_prs_decided_30d": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "78% of issues closed",
                "points": 32.8,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 78
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "226/264 decided PRs merged",
                "points": 25.7,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 226,
                      "decided": 264
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "no first-time contributor's PR decided in 30d",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_newcomer_prs",
                    "params": {
                      "days": 30
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 23/29 approved changesets -- score normalized to 7",
                "points": 10.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "followers": 680,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "yiisoft",
              "public_repos": 213,
              "account_age_days": 5462
            },
            "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": "680 followers of yiisoft",
                "points": 20.4,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 680,
                      "login": "yiisoft"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "213 public repos, account ~14 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 213
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 14
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "exceptional",
            "name": "Package maintenance",
            "note": "Excluded from scoring (no data or not applicable): Version history. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "version_history"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "packages": [
                "yiisoft/yii-debug"
              ],
              "ecosystems": "packagist",
              "any_deprecated": false,
              "min_days_since_publish": 2
            },
            "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 2 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": "excellent",
        "name": "Engineering Quality",
        "value": 80,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 74,
            "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": "6 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "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": ".php-cs-fixer.dist.php",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".php-cs-fixer.dist.php"
                    }
                  }
                ],
                "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": "6 out of 30 merged PRs checked by a CI test -- score normalized to 2",
                "points": 4,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [
                "debugbar",
                "debug",
                "yii3",
                "hacktoberfest"
              ],
              "has_wiki": false,
              "homepage": "https://www.yiiframework.com/",
              "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": "https://www.yiiframework.com/",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "4 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "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): Branch-Protection, Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized. High-Risk Jurisdiction Policy applies a 75% multiplier to Security posture and gives it an At Risk ceiling of 34.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "jurisdiction_posture_adjustment",
                "params": {
                  "cap": 34,
                  "pct": 75
                }
              }
            ],
            "value": 34,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 12,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 6,
              "scorecard_aggregate": 6,
              "high_risk_jurisdiction_cap": 34,
              "high_risk_jurisdiction_multiplier": 75,
              "security_posture_after_multiplier": 45,
              "security_posture_before_jurisdiction": 60
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "6 out of 30 merged PRs checked by a CI test -- score normalized to 2",
                "points": 0.5,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 23/29 approved changesets -- score normalized to 7",
                "points": 5.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 26 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "5 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 4",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 2",
                "points": 1,
                "status": "partial",
                "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": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "good",
            "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. 2 match(es) from contributors below the commit-weight threshold (fewer than 50 commits and under 10% of sampled commits) are recorded for review and do not affect the score.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              },
              {
                "code": "jurisdiction_below_threshold",
                "params": {
                  "count": 2
                }
              }
            ],
            "value": 75,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": true,
              "exposures": [
                {
                  "role": "contributor_organization",
                  "count": 1,
                  "country": "Russia"
                }
              ],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [
                {
                  "role": "top_contributor",
                  "count": 2,
                  "country": "Russia"
                }
              ],
              "assessed_self_published_locations": 26
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "Russia: contributor_organization (1); 2 match(es) below the commit-weight threshold (<50 commits and <10% of commits), review-only",
                "points": 75,
                "status": "partial",
                "details": [
                  {
                    "code": "jurisdiction_exposure",
                    "params": {
                      "role": "contributor_organization",
                      "count": 1,
                      "country": "Russia"
                    }
                  },
                  {
                    "code": "jurisdiction_below_threshold",
                    "params": {
                      "count": 2,
                      "share": 10,
                      "commits": 50
                    }
                  }
                ],
                "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": "weak",
        "name": "AI Readiness",
        "value": 45,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "weak",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.935,
              "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": "86 of 92 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 86,
                      "sampled": 92
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "weak",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 46,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0.08
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".php-cs-fixer.dist.php",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".php-cs-fixer.dist.php"
                    }
                  }
                ],
                "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "8 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 8,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "PHP",
              "largest_source_bytes": 27550,
              "source_files_sampled": 122,
              "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/122 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 122,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
      }
    ],
    "classification": {
      "top": [
        "library",
        "application"
      ],
      "labels": [
        "library",
        "cli"
      ],
      "scores": {
        "cli": 4,
        "library": 22
      },
      "primary": "library",
      "evidence": [
        {
          "tier": "declared",
          "label": "library",
          "source": "composer.type:library",
          "weight": 10
        },
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:packagist",
          "weight": 6
        },
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry_type:library",
          "weight": 6
        },
        {
          "tier": "dependencies",
          "label": "cli",
          "source": "dep:symfony/console",
          "weight": 4
        }
      ],
      "artifacts": [
        {
          "path": "composer.json",
          "labels": [
            "library"
          ],
          "ecosystem": "packagist"
        }
      ],
      "confidence": "high",
      "host_extension": false,
      "runs_as_process": true,
      "consumed_by_code": true
    },
    "metrics_version": "2.5.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-08-04T16:52:12.979611Z",
  "schema_version": "0.30.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/y/yiisoft/yii-debug.svg",
  "full_name": "yiisoft/yii-debug",
  "license_state": "standard",
  "license_spdx": "BSD-3-Clause"
}

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 v2.5.0, Schema v0.30.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte StatistikenPackagist.