Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 1.13.0 · 2026-07-29 12:32 UTC

VincentZyuApps / levilamina-plugin-serverinfo-rest

🌐 基于基岩版 Minecraft LeviLamina 服务端的 REST API 服务端插件:提供 HTTP 接口查询服务器状态与玩家信息。

C++ · PythonKeine Lizenz erkannt★ 4 Sterne⑂ 1 Forkseit Feb. 2026Auf GitHub ansehen ↗

VincentZyuApps/levilamina-plugin-serverinfo-rest erreicht einen Gesundheitsindex von 42 von 100 und liegt damit im Bereich Gefährdet. Am stärksten schneidet es bei Vitality (74/100) ab, am schwächsten bei Community & Adoption (16/100). Zuletzt vor 2 Tagen aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

42
gesamt / 100
Gefährdet

Software-Gesundheitsindex

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

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

Bewertungsprofil

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

Eigentümerschaft

VincentZyuApps Organisation
13 Follower70 öffentliche Reposseit Dez. 2025

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

Metriken nach Kategorie

Vitalität

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

74Gut · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 2 Tagen
2.8/36Commit-Rhythmus — 4/52 Wochen mit Commits
13.9/18Commit-Volumen — 34 Commits im letzten Jahr
10/10OpenSSF Scorecard: Maintained — 29 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Verwendete Eingangsdaten
commits_last_year34
human_commit_share1
days_since_last_push2
active_weeks_last_year4
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 15 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 2 Tagen
27/27Release-Rhythmus — ein Release etwa alle 0,5 Tage
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Verwendete Eingangsdaten
releases_count15
latest_release_tagv0.3.7-beta.9
releases_from_tagsnein
days_since_latest_release2
mean_days_between_releases0,5

Community & Verbreitung

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

16Kritisch · 18 % des Gesamtindex
Wie die Bewertung erfolgt
7.7/60Stars — 4 Stars
0/25Forks — 1 Forks
0/15Watcher — 0 Watcher
Verwendete Eingangsdaten
forks1
stars4
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
0/22.5Lizenz — keine Lizenzdatei erkannt
0/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licensenein
has_contributingnein
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templatenein

Nachhaltigkeit & Governance

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

24Kritisch · 24 % des Gesamtindex
Wie die Bewertung erfolgt
9/54Bus-Faktor — 1 Beitragende decken die Hälfte aller Commits ab
0/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 100 % der Commits
1.4/13.5Breite der Beitragenden — 1 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 3 contributing companies or organizations -- score normalized to 10
Verwendete Eingangsdaten
bus_factor1
contributors_sampled1
top_contributor_share1
Wie die Bewertung erfolgt
0/46.8Issue-Lösungsquote — keine Issues oder keine Daten
0/38.3PR-Annahme — keine entschiedenen Pull Requests oder keine Daten
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Verwendete Eingangsdaten
merged_prs0
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Issue-Lösungsquote, PR-Annahme. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
8.2/25Reichweite des Inhabers — 13 Follower von VincentZyuApps
14.2/25Kontohistorie — 70 öffentliche Repos, Kontoalter ca. 0 Jahre
Verwendete Eingangsdaten
followers13
owner_typeOrganization
is_verified
owner_loginVincentZyuApps
public_repos70
account_age_days222

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

56Mittel · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 1 Workflow(s)
24/24Tests vorhanden
0/16Linter-Konfiguration
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — keine Daten
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_confignein
has_precommit_confignein
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: CI-Tests. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
30/30README
0/25Dokumentationsverzeichnis
0/15Dokumentations-/Homepage-Site
10/10Repository-Beschreibung
0/10Topics
10/10Wiki
Verwendete Eingangsdaten
topics
has_wikija
homepage
has_readmeja
has_docs_dirnein
has_descriptionja

Sicherheit

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

36Gefährdet · 16 % des Gesamtindex

Sicherheitslage

36Gefährdet
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — keine Daten
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 3 contributing companies or organizations -- score normalized to 10
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
0/2.5Lizenz — license file not detected
7.5/7.5Maintained — 29 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — keine Daten
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate3,6
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): ci_tests, packaging. Die verbleibenden Gewichte wurden renormalisiert.

AI Readiness

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

60Mittel · 0 % des Gesamtindex
Wie die Bewertung erfolgt
45/45Agentenanweisungen — AGENTS.md
0/15Maschinenlesbare Doku (llms.txt)
32.9/40Lesbare Commit-Historie — 21 von 34 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,618
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes1.204
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
0/11Lint-/Format-Konfiguration
11/11Statische Typprüfung — C++ (statisch typisiert)
0/10Reproduzierbare Umgebung
0/10Belegte Agentenpraxis — keine von Agenten verfassten Commits unter den letzten 34
0/8Automatisierte Wartung — keine automatisierten Abhängigkeits-Updates beobachtet
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfiles
has_dockerfilenein
typed_languageja
bootstrap_files
has_devcontainernein
has_linter_confignein
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — C++ (statisch typisiert)
52.7/55Handhabbare Dateigrößen — 1/24 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageC++
largest_source_bytes79.640
source_files_sampled24
oversized_source_files1

Eckdaten

4GitHub-Sterne
1Mitwirkende
34Commits, letzte 12 Monate
2Tage seit letztem Push
15Releases
1Bus-Faktor
0offene Issues
Paket-Ökosysteme

Warnungen zur Datenerhebung

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Weitere Details

OpenSSF Scorecard 3.6 / 10
3.6Gesamtwert

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

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
k. A.CI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
10Contributorsproject has 3 contributing companies or organizations -- score normalized to 10
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
0Licenselicense file not detected
10Maintained29 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
k. A.Packagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Alle Abhängigkeiten nicht erhoben

Der aufgelöste Abhängigkeitssatz konnte für diesen Bericht nicht erhoben werden: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 135,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "C++": 180486,
        "Xmake": 2510,
        "Python": 27684
      },
      "pushed_at": "2026-07-26T17:37:45Z",
      "created_at": "2026-02-01T21:56:33Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-26T17:34:56Z",
      "description": "🌐 基于基岩版 Minecraft LeviLamina 服务端的 REST API 服务端插件:提供 HTTP 接口查询服务器状态与玩家信息。",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "main",
      "license_spdx_raw": null,
      "primary_language": "C++",
      "significant_languages": [
        "C++",
        "Python"
      ]
    },
    "owner": {
      "blog": "https://github.com/organizations/VincentZyuApps",
      "name": "VincentZyuApps ",
      "type": "Organization",
      "login": "VincentZyuApps",
      "company": null,
      "location": null,
      "followers": 13,
      "avatar_url": "https://avatars.githubusercontent.com/u/250448479?v=4",
      "created_at": "2025-12-19T01:26:20Z",
      "is_verified": null,
      "public_repos": 70,
      "account_age_days": 222
    },
    "license": {
      "state": "absent",
      "spdx_id": null,
      "raw_spdx": null,
      "file_present": false,
      "scorecard_found": false,
      "profile_has_license": false
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.3.7-beta.9",
          "kind": "prerelease",
          "published_at": "2026-07-26T17:37:46Z"
        },
        {
          "tag": "v0.3.6-beta.8",
          "kind": "prerelease",
          "published_at": "2026-07-26T13:55:24Z"
        },
        {
          "tag": "v0.3.2-beta.2",
          "kind": "prerelease",
          "published_at": "2026-07-23T17:41:16Z"
        },
        {
          "tag": "v0.3.1-beta.1",
          "kind": "prerelease",
          "published_at": "2026-07-23T02:58:03Z"
        },
        {
          "tag": "v0.3.0-alpha.20",
          "kind": "prerelease",
          "published_at": "2026-07-23T00:08:19Z"
        },
        {
          "tag": "v0.3.0-alpha.19",
          "kind": "prerelease",
          "published_at": "2026-07-22T16:03:25Z"
        },
        {
          "tag": "v0.2.9-alpha.17",
          "kind": "prerelease",
          "published_at": "2026-07-22T01:49:22Z"
        },
        {
          "tag": "v0.2.8-alpha.16",
          "kind": "prerelease",
          "published_at": "2026-07-21T22:57:29Z"
        },
        {
          "tag": "v0.2.7-alpha.15",
          "kind": "prerelease",
          "published_at": "2026-07-21T21:27:43Z"
        },
        {
          "tag": "v0.2.6-alpha.14",
          "kind": "prerelease",
          "published_at": "2026-07-21T20:40:00Z"
        },
        {
          "tag": "v0.2.4-alpha.10",
          "kind": "prerelease",
          "published_at": "2026-07-21T16:08:56Z"
        },
        {
          "tag": "v0.2.2-alpha.5",
          "kind": "prerelease",
          "published_at": "2026-07-20T13:56:08Z"
        },
        {
          "tag": "v0.2.2-alpha.4+20260720",
          "kind": "prerelease",
          "published_at": "2026-07-20T13:13:58Z"
        },
        {
          "tag": "v0.2.2-alpha.3",
          "kind": "prerelease",
          "published_at": "2026-07-17T22:20:29Z"
        },
        {
          "tag": "v0.1.0",
          "kind": "minor",
          "published_at": "2026-07-17T21:59:14Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "479b343017e0ee629141bb5ceca90ba0d9eb1129",
          "body": "- 将插件版本从 0.3.6-beta.8 升级至 0.3.7-beta.9\n- 同步更新 tooth.json 和 ServerInfoRestMod.cpp 中的运行时版本\n- 将 GitHub Release 压缩包统一命名为 serverinfo-rest-v0.3.7-beta.9-server-windows-x64.zip\n- 在构建工作流中同步版本化压缩包的生成名称和 Release 上传名称\n- 更新 tooth.json 的 Lip 资源 URL,使用 {{version}} 自动匹配对应版本制品\n- 更新 Release Notes 模板中的下载链接和手动安装文件名\n- \n[…]\nLip URL 版本变量展开结果与工作流生成、上传文件名一致\n- Release 模板版本替换结果验证通过\n- git diff --check 通过\n- 遵循仓库约束,未在本地运行 xmake\n- 提交推送后由 GitHub Actions 执行 C++ 构建、测试、Manifest 校验与 Release 发布\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "[build release] chore(release): 版本化发布资源并发布 v0.3.7-beta.9",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-26T17:34:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a30f2736a2e8c933e8f0dc45c4faff95c20ad219",
          "body": "- 新增 PlayerActivityStore,按上海时区将玩家活动持久化为每日 JSONL 文件\n\n- 每个自然分钟记录在线人数心跳,并记录包含 XUID 的玩家进入事件\n\n- 统计末次、峰值及平均在线人数、进入次数、独立玩家数和数据覆盖时间\n\n- 新增 GET /api/v2/players/activity-history 接口,支持默认今日和 yyyyMMdd 日期查询\n\n- 增加非法日期、未来日期、无数据及存储不可用响应处理\n\n- 新增 playerActivityHistoryRetentionDays 配置,默认保留 365 天,非正数永久保留\n\n- 将活动存储状态接入健康检查\n[…]\n证 JSONL 记录,并支持活动目录删除后的自动重建和跨日恢复\n\n- 补充时区边界、重复进入、心跳断点、损坏记录、保留期和恢复逻辑测试\n\n- 扩展 API 测试脚本、xmake 测试目标和 README 文档\n\n版本变更:0.3.2-beta.2 -> 0.3.6-beta.8\n\nCI: build release\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "feat(activity): 新增玩家活动趋势采集与查询 API",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-26T13:51:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "508b20109318c44bfcae2824dd286aae6c85405e",
          "body": "将玩家快照字段从 isInWater 调整为语义更准确的 isSwimming,并使用目标 SDK 已支持的 ActorFlags::Swimming 状态标记采集数据。\n\n同步更新 PlayerSnapshot 序列化、README 响应示例和单元测试,避免依赖 CI 预编译 SDK 未向 Player 暴露的 isInWater 成员。\n\n验证:Koishi 44 项 Vitest 测试、TypeScript 类型检查、标准构建及 git diff --check 均通过;推送后由 GitHub Actions 重新执行 C++ 构建与 Release 发布。\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "[build release] fix(build): 兼容 LeviLamina 26.10.14 玩家游泳状态 API",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-23T17:37:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31b59f5b622518fd90a5bf4bf45ca3a883676947",
          "body": "将插件版本从 0.3.1-beta.1 升级至 0.3.2-beta.2。\n\n新增线程安全的在线玩家快照模型,由 BDS 主线程定时采集并供 HTTP 线程只读访问;扩展 GET /api/v2/player 响应,提供游戏模式、权限、生命值、动作状态、环境、位置、装备、设备平台和网络质量。\n\n从玩家详情响应中移除 IP、客户端 ID 和服务器地址等敏感连接信息;装备仅返回类型、显示名称、数量和附魔状态,不暴露完整物品 NBT。\n\n新增 PlayerSnapshot 单元测试并接入 xmake 测试目标。\n\n将配置格式从 version 6 升级至 version 7,不提供旧配置自动迁移;将\n[…]\n证:Koishi 配套客户端 44 项 Vitest 测试全部通过;Python API 测试脚本语法解析通过;git diff --check 通过;遵循仓库约束,未在本地安装或运行 xmake;推送后由 GitHub Actions 执行 C++ 构建、单元测试、Manifest 校验与 Release 发布。\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "[build release] feat(api)!: 发布 v0.3.2-beta.2 并扩展玩家快照与白名单同步策略",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-23T16:11:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b03085cd4a57193d7101f427ee1a001daa97848c",
          "body": "- 将 LeviLamina 构建依赖从 26.10.* 收紧为精确版本 26.10.14\n- 确保 GitHub Actions 产物与目标 BDS 云服使用相同 SDK 和 ABI\n- 移除原生命令执行对 VanillaDimensions::Overworld 的外部符号依赖\n- 使用稳定的 DimensionType{0} 表示主世界命令来源\n- 避免模块加载阶段解析不存在的 Overworld 符号\n- 同步 ServerInfoRestMod 与 tooth.json 中的插件版本\n- 版本从 0.3.0-alpha.20 升级至 0.3.1-beta.1\n\n验证:\n- git diff --check\n- 对照云服确认运行时 LeviLamina 为 26.10.14\n- 遵循仓库约束,未在本地安装或运行 xmake\n- 推送后由 GitHub Actions 执行 C++ 构建、Manifest 校验与 Release 发布\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "fix(build): 锁定 LeviLamina 26.10.14 并修复维度符号 build release",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-23T02:54:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b91dd7ebf74c2bf393b09b5b4802218c31a6be5",
          "body": "将插件版本从 0.3.0-alpha.19 升级至 0.3.0-alpha.20,并同步更新 tooth.json 与 ServerInfoRestMod.cpp 中的运行时版本。\n\n调整 xmake 打包配置,从 tooth.json 读取完整语义化版本,并显式传递给 levibuildscript modpacker,避免无 Git 标签或浅克隆环境下将 manifest 版本回退为 0.0.0,同时保留完整的 alpha 预发布后缀。\n\n移除 GitHub Actions 手动触发时的版本覆盖入口,统一以 tooth.json 作为构建产物、Artifact、Release 标签和 ma\n[…]\n输出。\n\n同步更新构建工作流文档,明确手动构建与发布均使用 tooth.json 中的版本号。\n\n完善 Git 忽略规则,为分组注释增加 Emoji,并忽略 Python 缓存与 bin 构建产物。\n\n新增仓库智能体协作规范,约束 C++ 构建验证通过 GitHub Actions 执行,并保护工作区中的用户改动。\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "fix(build): 修复 manifest 版本注入并发布 v0.3.0-alpha.20 build release",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-23T00:04:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9788fb6b9508fc4549f5159a7caa3c20588f66e4",
          "body": "发布版本由 0.2.9-alpha.17 升级至 0.3.0-alpha.19。\n\n将默认 API 前缀升级为 /api/v2,配置格式升级至 version 6,player-data.json 数据格式升级至 version 2,并删除 API v1、旧配置迁移和旧数据迁移逻辑。\n\n移除 adminWhitelist 与管理员直接授权模型,统一聊天账号和 Xbox 玩家一对一绑定;默认拒绝冲突,管理员可通过 force 原子替换用户侧与玩家侧冲突,并同步清理失去绑定玩家的 BDS allowlist 项目。\n\n新增 whitelist/state,重构 whitelist/add、whit\n[…]\n重写 Python API 测试以覆盖全部 17 条 API v2 路由,并同步更新 README 与 xmake 配置。\n\nBREAKING CHANGE: 删除 API v1 及旧配置和 player-data.json 的迁移兼容;升级时需要重新生成 version 6 配置和 version 2 玩家数据。\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "feat(api)!: 升级 API v2 并统一玩家绑定模型 [build release]",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-22T15:59:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b0bfa99801ea96c23dde88d25031f05f0ec57e48",
          "body": "新增 POST /api/v1/players/stats/bound 接口,通过聊天平台、机器人和用户标识查询已绑定玩家的历史统计。\n\n扩展 PlayerDataStore 绑定查找能力,并区分未绑定与绑定玩家暂无统计数据两类错误,便于客户端给出准确提示。\n\n同步更新 API 文档、数据层测试和 Tooth 包版本;该查询独立于绑定接口与进服授权检查开关,不修改服务端白名单。\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "release: 发布 v0.2.9-alpha.17 并支持绑定账号统计查询 build release",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-22T01:46:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "962d6ed3bf01ee4ab6a15c9a00b81dff6bb4a56a",
          "body": "将插件版本从 0.2.7-alpha.15 升级至 0.2.8-alpha.16,并同步更新 tooth.json 包版本与 ServerInfoRestMod.cpp 运行时版本。\n\n将服务端配置文件版本从 4 升级至 5。\n\n将 enableWhitelistBinding 重命名为 enableWhitelistBindingApiEndpoints,明确控制普通用户绑定与解绑接口。\n\n新增 enableWhitelistManagementApiEndpoints,独立控制管理员添加与移除白名单接口,并默认保持开启。\n\n将 enforceWhitelistBinding 重命名为 re\n[…]\n新增配置默认值、旧字段迁移、新字段优先级和版本边界测试,并接入 serverinfo-rest-tests 构建目标。\n\n更新 README v5 配置示例、配置项说明、升级迁移规则和无感测试方案。\n\n通过 build release 关键词触发 Windows 构建、C++ 测试和 GitHub Release。\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "release: 发布 v0.2.8-alpha.16 并细化白名单授权开关 build release",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-21T22:54:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "27376a6f8d3367c5a349a321e2599475ba36ef58",
          "body": "- 将插件版本从 0.2.6-alpha.14 升级至 0.2.7-alpha.15\n\n- 将服务端配置文件版本从 3 升级至 4\n\n- 新增 tokenReceiveMode 和 adminTokenReceiveMode,支持 param、header、both 三种接收模式\n\n- 只读 token 默认接受 param 和 header,管理 token 默认仅接受 Bearer Header\n\n- 在 both 模式下检测 Header 与 URL token 冲突并拒绝歧义请求\n\n- 对无效模式安全回退到 header,并对管理 URL token 输出安全警告\n\n- 抽离 Toke\n[…]\nfo-rest-tests 构建目标\n\n- 为 Config.h 全部 20 个 _comment_* 配置说明增加 Emoji\n\n- 更新 README v4 配置示例、认证说明、QQ 群反馈与安全提示\n\n- 通过 build release 关键词触发 Windows 构建、测试和 GitHub Release\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "release: 发布 v0.2.7-alpha.15 并扩展 Token 认证模式 build release",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-21T21:24:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a9f2920190e4bcb2b59dbed954699c5ce2c43b3f",
          "body": "- 将插件版本从 0.2.4-alpha.10 升级至 0.2.6-alpha.14\n\n- 同步更新 tooth.json 包版本与 ServerInfoRestMod.cpp 运行时版本\n\n- 在 README 增加 Koishi Plugin 徽章和配套客户端 GitHub 入口\n\n- 说明客户端可用于查询服务器状态、玩家数据和管理白名单\n\n- 通过提交关键词触发 Windows 构建、测试与 GitHub Release 发布\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "release: 发布 v0.2.6-alpha.14 并触发 build release",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-21T20:36:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "185b7b430865945d6fbc797af2388d7d0d3220b6",
          "body": "- 将插件版本从 0.2.3-alpha.7 升级至 0.2.4-alpha.10\n- 同步 tooth.json 发布清单与 C++ PluginVersion 运行时常量\n- 将版本脚本的短 dry-run 参数由 -n 调整为 -d\n- 同时支持 --dryrun 与 --dry-run 两种长参数写法\n- 保持 dry-run 仅校验 tooth.json 和 C++ 版本常量且不写入文件\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "chore(release): 发布 v0.2.4-alpha.10 [build release]",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-21T16:05:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6aa9e11b631e8c92e7d3b9b09c8e5a3c1648b5a6",
          "body": "- 将配置格式升级至版本 3,并为配置项补充中文说明字段\n- 完善管理令牌、白名单绑定及配置迁移说明\n- 增加 HTTP 查询能力概览和远程 API 测试参数\n- 将版本同步脚本限定为 tooth.json 与 C++ 版本常量\n- 使用通用占位符替代 README 中的具体发布版本\n- 同步插件正式版本至 0.2.3-alpha.7\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "build action. feat: 发布 v0.2.3-alpha.7 并完善配置与 API 文档",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-21T01:46:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "667590e585b5bceb227f4448a7604db7a707d46f",
          "body": "- 将发布版本从 v0.2.2-alpha.4+20260720 调整为 v0.2.2-alpha.5\n- 移除会触发 LIP SemVersionRange 元数据异常的加号版本后缀\n- 同步更新 tooth.json 中的包发布版本\n- 同步更新 ServerInfoRestMod.cpp 中的运行时版本常量\n- 同步更新 README.md 中根接口与状态接口的版本示例\n- 触发 CI 重新构建并发布兼容 LIP 的版本产物\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "chore(release): 发布 v0.2.2-alpha.5 并修正 LIP 兼容性 [build release]",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-20T13:53:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11b4a1e23b54c2a3f453cd25ef5cdb546191f3c1",
          "body": "- 将插件版本从 v0.2.2-alpha.3 升级至 v0.2.2-alpha.4+20260720\n- 同步更新 tooth.json 中的发布版本\n- 同步更新 ServerInfoRestMod.cpp 中的运行时版本常量\n- 同步更新 README.md 中根接口与状态接口的版本示例\n- 触发 CI 构建并发布对应版本产物\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "chore(release): 发布 v0.2.2-alpha.4+20260720 [build release]",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-20T13:10:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7ad22ee263a9a75a64b205210c274b245a2cd247",
          "body": "将 tooth 包版本从 0.1.0 更新至 0.2.2-alpha.3\n同步 C++ PluginVersion,确保 REST API 返回正确插件版本\n更新 README 中根接口与状态接口的版本响应示例\n修正版本管理流程,直接通过 bump_version.py 同步版本\n将版本同步计数由 5 处修正为实际的 4 处\n使用 vX.Y.Z-word.W 展示通用预发布提交格式\n触发 GitHub Actions 完整构建与数据存储 GTest\n生成 Windows x64 插件制品并创建预发布版本 Release\n\n版本变化:0.1.0 -> 0.2.2-alpha.3\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "chore(release): 发布 v0.2.2-alpha.3 [build release]",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T22:17:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d311cd3f5a9f3376df876be6580caced7a626d1c",
          "body": "触发 GitHub Actions 完整构建、测试、制品打包与 v0.1.0 Release 发布流程。\n\n版本变化:0.1.0 -> 0.1.0(正式发布,版本保持不变)\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "build release. chore: 发布 v0.1.0",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T21:54:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "014c5075b079a529f06ed00bdb3d8512a0fa8c82",
          "body": "显式初始化并运行 GTest,避免 MSVC 链接测试目标时无法解析 main 入口;同时移除不需要的预置 main 配置并修复局部变量遮蔽警告。\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "build action. fix: 为数据存储测试定义执行入口",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T21:39:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "178774ba91d3e2e8d2b845ee7c080766e6f7b791",
          "body": "为 serverinfo-rest-tests 显式添加 nlohmann_json 依赖,修复独立测试目标找不到 nlohmann/json.hpp 的编译错误。\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "build action. fix: 补充数据存储测试 JSON 依赖",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T21:35:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36c5f485ee628beae4a9ee5746402f5c467a4687",
          "body": "使用临时文件校验和原子替换保存 player-data.json\n增加 .bak 备份恢复和损坏数据文件保留机制\n增加 fail-open、fail-closed 白名单数据故障策略\n默认关闭 OP 绕过绑定,并在启动时补齐有效 BDS 白名单\n拆分主线程命令执行入口,避免启动修复发生调度死锁\n在数据不可用时返回 degraded 健康状态和 503 响应\n增加玩家统计、绑定冲突、授权及备份恢复 GTest\n扩展 API 冒烟测试并保护管理接口测试开关\n在 GitHub Actions 构建流程中运行单元测试\n完善白名单语义、数据存储和故障恢复文档\n更新版本修改脚本,支持校验及 dry-run\n\n版本变化:0.1.0 -> 0.1.0(保持不变)\n\nCo-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "build action. feat: 完善白名单数据可靠性与自动化测试",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T21:31:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f6dc9b09ba789d3aaaafdd8c9d2e3626e756274",
          "body": "Co-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "build action. fix: preserve independent whitelist grants",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T15:04:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e8fa713e8b4a9c494505f1d5fc12fa1acc8c606",
          "body": "Co-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "build action. fix: define mod lifetime out of line",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T14:10:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c47eb1c9c65e1b17a8c74dd92ec4a71e2c357baa",
          "body": "Co-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "build action. fix: call player disconnect overload",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T14:05:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57381736224a7233b386769f77e855eebf07d4f6",
          "body": "Co-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "build action. feat: add player history and whitelist management",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T13:45:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20c0f22013493b6ef58d1fdb9b4805fed96e7af5",
          "body": "Co-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "build action. feat: add online status overview",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T07:38:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "99f8cb1e1d0f8d87f62b761622891ac836a8228d",
          "body": "Co-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "build action. ci: build xmake dependencies from source",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T06:04:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "84fec146a072e55337d87c637e3fa38021f8615a",
          "body": "Co-authored-by: Codex <codex@openai.com>",
          "is_bot": false,
          "headline": "build action. ci: enable verbose xmake configure logs",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T05:22:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23f565ded630a999b6c5448c7ec2c81dd6cf2fda",
          "body": null,
          "is_bot": false,
          "headline": "build action. chore: target LeviLamina 26.10",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-07-17T04:34:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "22f557289e4fe3f2dc6d1f895fd726eb57e3fb5a",
          "body": "### README.md\n  - 重写 API 文档,修正与实际代码不一致的响应格式\n  - 新增 CI/CD、版本管理、测试脚本、技术栈、相关链接章节\n  - 添加 Socialify banner、9 个 badges、last commit + CI build badge\n### .github/workflows/build.yml / build.md\n  - 完全重构为 3 阶段 CI 流水线 (check → build → release)\n  - 新增 commit 关键词触发与 workflow_dispatch 手动触发\n### .github/scripts/gen\n[…]\np_version.py\n  - 新增版本号批量更新工具\n### tooth.json\n  - 重写为 variants + assets + placements 标准 lip v3 格式\n  - bump version: 0.1.0 → 1.0.0\n### src/mod/ServerInfoRestMod.cpp\n  - 同步版本号至 1.0.0\n### dev.md\n  - 移除冗余文档",
          "is_bot": false,
          "headline": "build release. docs: 重写 README 结构,新增 CI/CD 流水线与版本管理脚本",
          "author_name": "VincentZyu233",
          "author_login": "VincentZyu233",
          "committed_at": "2026-06-17T18:07:51Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "94140bad4c0ed0cd48cc9e1e0993bdd98f7cc1bc",
          "body": "…fixes and detailed debug messages",
          "is_bot": false,
          "headline": "build version 0.0.1-alpha.2+20260202 - feat: improve logging with pre…",
          "author_name": "VincentZyuwin11台式机",
          "author_login": null,
          "committed_at": "2026-02-02T05:23:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2d3f600e2b45925c43b2fe9e7680b80117e317a",
          "body": null,
          "is_bot": false,
          "headline": "build version 0.0.1-alpha.2+20260202 - fix null pointer crash on load",
          "author_name": "VincentZyuwin11台式机",
          "author_login": null,
          "committed_at": "2026-02-01T22:43:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "290d94d38b0799938a15bc75835050ee887eb89d",
          "body": "….1+20260202.",
          "is_bot": false,
          "headline": "build version 0.0.2-alpha.1+20260202. feat: build version 0.0.1-alpha…",
          "author_name": "VincentZyuwin11台式机",
          "author_login": null,
          "committed_at": "2026-02-01T22:35:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e899360d31823464bda5a813a07ccb19c4546864",
          "body": "… cache",
          "is_bot": false,
          "headline": " build version 0.0.1-alpha.1+20260202. fix MemoryOperators and add CI…",
          "author_name": "VincentZyuwin11台式机",
          "author_login": null,
          "committed_at": "2026-02-01T22:10:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3717be4f6f34f78dfbdd8226259bca81149939e",
          "body": null,
          "is_bot": false,
          "headline": "build version 0.0.1-alpha.1+20260202 init",
          "author_name": "VincentZyuwin11台式机",
          "author_login": null,
          "committed_at": "2026-02-01T22:00:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 15,
      "commits_last_year": 34,
      "latest_release_at": "2026-07-26T17:37:46Z",
      "latest_release_tag": "v0.3.7-beta.9",
      "releases_from_tags": false,
      "days_since_last_push": 2,
      "active_weeks_last_year": 4,
      "days_since_latest_release": 2,
      "mean_days_between_releases": 0.5
    },
    "community": {
      "has_readme": true,
      "has_license": false,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 25,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 1,
      "stars": 4,
      "watchers": 0,
      "fork_history": {
        "days": [
          {
            "date": "2026-06-03",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 1,
        "total_forks": 1
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "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": 79640,
      "source_files_sampled": 24,
      "oversized_source_files": 1,
      "agent_instruction_files": [
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 1204
    },
    "dependencies": {
      "manifests": [],
      "advisories": {
        "error": null,
        "scope": null,
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [],
      "dependencies": [],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 0,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "VincentZyu233",
          "commits": 29,
          "avatar_url": "https://avatars.githubusercontent.com/u/142771491?v=4"
        }
      ],
      "contributors_sampled": 1,
      "top_contributor_share": 1
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "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": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 3 contributing companies or organizations -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 0,
            "reason": "license file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "29 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "479b343017e0ee629141bb5ceca90ba0d9eb1129",
        "ran_at": "2026-07-29T12:32:17Z",
        "aggregate_score": 3.6,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-26T17:37:48Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/VincentZyuApps/levilamina-plugin-serverinfo-rest",
    "host": "github.com",
    "name": "levilamina-plugin-serverinfo-rest",
    "owner": "VincentZyuApps"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 42,
      "inputs": {
        "security": 36,
        "vitality": 74,
        "community": 16,
        "governance": 24,
        "engineering": 56
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 74,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 63,
            "inputs": {
              "commits_last_year": 34,
              "human_commit_share": 1,
              "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": "34 commits in the last year",
                "points": 13.9,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 34
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "29 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 15,
              "latest_release_tag": "v0.3.7-beta.9",
              "releases_from_tags": false,
              "days_since_latest_release": 2,
              "mean_days_between_releases": 0.5
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "15 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 15
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 2 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 2
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~0.5 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 0.5
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "critical",
        "name": "Community & Adoption",
        "value": 16,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 8,
            "inputs": {
              "forks": 1,
              "stars": 4,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "4 stars",
                "points": 7.7,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "1 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "critical",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 25,
            "inputs": {
              "has_readme": true,
              "has_license": false,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "no license file detected",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "license_absent",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "critical",
        "name": "Sustainability & Governance",
        "value": 24,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 20,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 1,
              "top_contributor_share": 1
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 100% of commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "1 contributors",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 3 contributing companies or organizations -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "critical",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution",
                    "pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "merged_prs": 0,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "no decided pull requests or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_decided_prs_or_data",
                    "params": {}
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 52,
            "inputs": {
              "followers": 13,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "VincentZyuApps",
              "public_repos": 70,
              "account_age_days": 222
            },
            "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": "13 followers of VincentZyuApps",
                "points": 8.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 13,
                      "login": "VincentZyuApps"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "70 public repos, account ~0 yr old",
                "points": 14.2,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 70
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 0
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 56,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "1 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 36,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 36,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 3.6
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 3 contributing companies or organizations -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "29 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 1
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 60,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "good",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.618,
              "agent_instruction_files": [
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 1204
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "21 of 34 human commits state their intent (structured subject or explanatory body)",
                "points": 32.9,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 21,
                      "sampled": 34
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 33,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "C++ (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C++"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 34",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 34
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "primary_language": "C++",
              "largest_source_bytes": 79640,
              "source_files_sampled": 24,
              "oversized_source_files": 1
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "C++ (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C++"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "1/24 source files over 60KB",
                "points": 52.7,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 24,
                      "oversized": 1
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-29T12:32:27.322234Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/v/VincentZyuApps/levilamina-plugin-serverinfo-rest.svg",
  "full_name": "VincentZyuApps/levilamina-plugin-serverinfo-rest",
  "license_state": "absent",
  "license_spdx": null
}

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

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

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistiken.