Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 2.3.1 · 2026-07-31 21:29 UTC

LilMGenius / paperthin

Low-level agentic design patterns. Turning old engineering wisdom into reflexes your agent reaches for on its own—on any agent.

Shell · JavaScriptMIT★ 119 Sterne⑂ 15 Forksseit Juni 2026Auf GitHub ansehen ↗

LilMGenius/paperthin erreicht einen Gesundheitsindex von 50 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei Vitality (68/100) ab, am schwächsten bei Security (37/100). Zuletzt vor 9 Tagen aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

50
gesamt / 100
Mittel

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.

50
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 50 wird auf der veröffentlichten Indexskala auf 50 kalibriert (Register-Kalibrierung 2026-08-02).

Eigentümerschaft

LilMGeniusPersönliches Konto
69 Follower9 öffentliche Reposseit Jan. 2022@DaedalGames | @Devfiance

Dieses Repository gehört einem persönlichen Konto. Ein Projekt mit nur einem Eigentümer trägt ein höheres Kontinuitätsrisiko als ein organisationsgetragenes.

Paket-Ökosysteme

Metriken nach Kategorie

Vitalität

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

68Gut · 21 % des Gesamtindex
Wie die Bewertung erfolgt
28.8/36Push-Aktualität — letzter Push vor 9 Tagen
3.5/36Commit-Rhythmus — 5/52 Wochen mit Commits
15.1/18Commit-Volumen — 47 Commits im letzten Jahr
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Verwendete Eingangsdaten
commits_last_year47
human_commit_share1
days_since_last_push9
active_weeks_last_year5

Release-Disziplin

100Außergewöhnlich
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 27 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 9 Tagen
27/27Release-Rhythmus — ein Release etwa alle 0,5 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count27
latest_release_tagv0.17.2
releases_from_tagsnein
days_since_latest_release9
mean_days_between_releases0,5
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?

50Mittel · 17 % des Gesamtindex
Wie die Bewertung erfolgt
33.6/60Stars — 119 Stars
9.6/25Forks — 15 Forks
0/15Watcher — 1 Watcher
Verwendete Eingangsdaten
forks15
stars119
watchers1
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (MIT)
0/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
readme_badges
has_contributingnein
has_issue_templatenein
has_code_of_conductnein
readme_badge_services
has_pull_request_templatenein
Wie die Bewertung erfolgt
48.2/80Downloads pro Monat — 4.136 Downloads/Monat über npm
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packagespaperthin
dependents
ecosystemsnpm
total_downloads
monthly_downloads4.136
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Abhängige in der Registry. Die verbleibenden Gewichte wurden renormalisiert.

Nachhaltigkeit & Governance

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

42Schwach · 23 % des Gesamtindex
Wie die Bewertung erfolgt
9/54Bus-Faktor — 1 Beitragende decken die Hälfte aller Commits ab
3.8/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 83 % der Commits
6.8/13.5Breite der Beitragenden — 5 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 7 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor1
contributors_sampled5
top_contributor_share0,83
Wie die Bewertung erfolgt
0/42Issue-Lösungsquote — keine Issues oder keine Daten
0/30PR-Annahme — 0/17 entschiedene PRs gemergt
0/13Newcomer PR acceptance — kein PR eines Erstbeitragenden in 30 Tagen entschieden
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Verwendete Eingangsdaten
merged_prs0
open_issues0
closed_issues0
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio
closed_unmerged_prs17
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Issue-Lösungsquote, newcomer_pr_acceptance. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
10/30Organisatorische Trägerschaft — persönliches (Nutzer-)Konto
0/20Verifizierte Domain — für Nutzerkonten nicht anwendbar
13.3/25Reichweite des Inhabers — 69 Follower von LilMGenius
16.4/25Kontohistorie — 9 öffentliche Repos, Kontoalter ca. 4 Jahre
Verwendete Eingangsdaten
followers69
owner_typeUser
is_verified
owner_loginLilMGenius
public_repos9
account_age_days1.668
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Verifizierte Domain. Die verbleibenden Gewichte wurden renormalisiert.

Paketpflege

100Außergewöhnlich
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf npm
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 9 Tagen
20/20Versionshistorie — 27 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packagespaperthin
ecosystemsnpm
any_deprecatednein
min_days_since_publish9

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

54Mittel · 19 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 2 Workflow(s)
0/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_testsnein
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.

Dokumentation

90Exzellent
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — https://paperthin.ai
10/10Repository-Beschreibung
10/10Topics — 11 Topics
0/10Wiki
Verwendete Eingangsdaten
topicsanti-slop, clean-code, hygiene, markdown, plugin, skills, ssot, evals, fable, design-patterns, docs
has_wikinein
homepagehttps://paperthin.ai
has_readmeja
has_docs_dirja
has_descriptionja

Sicherheit

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

37Schwach · 16 % des Gesamtindex
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 7 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
5/5Packaging — packaging workflow detected
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 — keine Daten
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,7
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): ci_tests, signed_releases. Die verbleibenden Gewichte wurden renormalisiert.

AI Readiness

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

40Schwach · 4 % des Gesamtindex
Wie die Bewertung erfolgt
45/45Agentenanweisungen — CLAUDE.md
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 47 von 47 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share1
agent_instruction_filesCLAUDE.md
agent_instruction_max_bytes13.437
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
0/22Automatisierte Tests
0/11Lint-/Format-Konfiguration
0/11Statische Typprüfung
0/10Reproduzierbare Umgebung
0/10Belegte Agentenpraxis — keine von Agenten verfassten Commits unter den letzten 47
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_testsnein
lockfiles
has_dockerfilenein
typed_languagenein
bootstrap_files
has_devcontainernein
has_linter_confignein
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Wie die Bewertung erfolgt
0/45Typprüfbarer Code — Shell ohne Typprüfungs-Konfiguration
55/55Handhabbare Dateigrößen — 0/5 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageShell
largest_source_bytes3.458
source_files_sampled5
oversized_source_files0

Eckdaten

119GitHub-Sterne
5Mitwirkende
47Commits, letzte 12 Monate
9Tage seit letztem Push
27Releases
1Bus-Faktor
0offene Issues
npmPaket-Ö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

Stern- und Fork-Verlauf 0 ★ / 15 ⇿
0Sterne
15Forks
26Releases

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.

03581013151562026-062026-072026-07
Major 0Minor 12Patch 14
OpenSSF Scorecard 3.7 / 10
3.7Gesamtwert

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-31 21:29 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 7 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
10Packagingpackaging workflow detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
k. A.Signed-Releasesno releases found
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": [
        "anti-slop",
        "clean-code",
        "hygiene",
        "markdown",
        "plugin",
        "skills",
        "ssot",
        "evals",
        "fable",
        "design-patterns",
        "docs"
      ],
      "is_fork": false,
      "size_kb": 456,
      "has_wiki": false,
      "homepage": "https://paperthin.ai",
      "languages": {
        "Shell": 12975,
        "JavaScript": 12583
      },
      "pushed_at": "2026-07-22T14:39:41Z",
      "created_at": "2026-06-19T02:03:18Z",
      "owner_type": "User",
      "updated_at": "2026-07-30T03:44:59Z",
      "description": "Low-level agentic design patterns. Turning old engineering wisdom into reflexes your agent reaches for on its own—on any agent.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "Shell",
      "significant_languages": [
        "Shell",
        "JavaScript"
      ]
    },
    "owner": {
      "blog": null,
      "name": null,
      "type": "User",
      "login": "LilMGenius",
      "company": "@DaedalGames | @Devfiance",
      "location": "everywhere",
      "followers": 69,
      "avatar_url": "https://avatars.githubusercontent.com/u/97161055?v=4",
      "created_at": "2022-01-05T09:46:13Z",
      "is_verified": null,
      "public_repos": 9,
      "account_age_days": 1668
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.17.2",
          "kind": "patch",
          "published_at": "2026-07-22T14:40:07Z"
        },
        {
          "tag": "v0.17.1",
          "kind": "patch",
          "published_at": "2026-07-21T08:11:53Z"
        },
        {
          "tag": "v0.17.0",
          "kind": "minor",
          "published_at": "2026-07-20T22:32:24Z"
        },
        {
          "tag": "v0.16.2",
          "kind": "patch",
          "published_at": "2026-07-20T21:20:38Z"
        },
        {
          "tag": "v0.16.1",
          "kind": "patch",
          "published_at": "2026-07-19T09:08:53Z"
        },
        {
          "tag": "v0.16.0",
          "kind": "minor",
          "published_at": "2026-07-19T05:29:39Z"
        },
        {
          "tag": "v0.15.1",
          "kind": "patch",
          "published_at": "2026-07-18T02:54:09Z"
        },
        {
          "tag": "v0.15.0",
          "kind": "minor",
          "published_at": "2026-07-17T23:17:26Z"
        },
        {
          "tag": "v0.14.0",
          "kind": "minor",
          "published_at": "2026-07-17T20:00:52Z"
        },
        {
          "tag": "v0.13.1",
          "kind": "patch",
          "published_at": "2026-07-17T19:43:07Z"
        },
        {
          "tag": "v0.13.0",
          "kind": "minor",
          "published_at": "2026-07-17T13:31:07Z"
        },
        {
          "tag": "v0.12.0",
          "kind": "minor",
          "published_at": "2026-07-14T23:06:59Z"
        },
        {
          "tag": "v0.11.0",
          "kind": "minor",
          "published_at": "2026-07-14T20:07:22Z"
        },
        {
          "tag": "v0.10.0",
          "kind": "minor",
          "published_at": "2026-07-08T09:01:19Z"
        },
        {
          "tag": "v0.9.4",
          "kind": "patch",
          "published_at": "2026-07-08T07:37:17Z"
        },
        {
          "tag": "v0.9.3",
          "kind": "patch",
          "published_at": "2026-07-08T03:24:48Z"
        },
        {
          "tag": "v0.9.2",
          "kind": "patch",
          "published_at": "2026-07-06T18:37:32Z"
        },
        {
          "tag": "v0.9.1",
          "kind": "patch",
          "published_at": "2026-07-06T15:35:58Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2026-07-06T02:28:42Z"
        },
        {
          "tag": "v0.8.2",
          "kind": "patch",
          "published_at": "2026-07-05T20:07:00Z"
        },
        {
          "tag": "v0.8.1",
          "kind": "patch",
          "published_at": "2026-07-05T16:49:49Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2026-07-05T08:21:25Z"
        },
        {
          "tag": "v0.7.2",
          "kind": "patch",
          "published_at": "2026-07-04T17:54:52Z"
        },
        {
          "tag": "v0.7.1",
          "kind": "patch",
          "published_at": "2026-07-04T13:29:49Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2026-07-04T12:31:08Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2026-06-28T12:26:07Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2026-06-21T04:08:28Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "13f98db5d5ed1c29c79a0a6de66d689d58a73feb",
          "body": "- order `reorder`, `detool`, `dedash`, `debloat` contiguous across every roster surface and README\n- add `debloat` to the READMEs' Problem removes-list\n- codify when a skill earns a Problem or Fixes entry — only if it carries the thesis",
          "is_bot": false,
          "headline": "docs: order the de- cluster and codify the README-placement rule",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-22T14:38:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cdbb4a1b76ce0fd28fcab9f0b7d43c494fb2dab3",
          "body": "- the Shipping checklist and `re0-release` now require a new skill or rename to take its place in the roster's one logical order, held across all four surfaces with `reorder`",
          "is_bot": false,
          "headline": "docs: make roster-order placement a shipping step",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-21T08:09:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "05c92e8326b6e1cfec02b09bbddbaeef1a50670a",
          "body": "- `debloat` (user-invoked, `depth/`): compress an artifact that has accreted into bloat — padding, walls of enumeration, restated rules — down to its load-bearing density, cutting words but never a rule; the compression half of the Restraint triad that `ssotize` (duplication) leaves, distinct from `\n[…]\ng/releasing/philosophy/conventions/invocation accretion — the self-containment rule single-sourced to Philosophy, the per-skill invocation rationale moved to `docs/invocation.md`, every rule kept once",
          "is_bot": false,
          "headline": "feat: add debloat, a reflex that compresses a bloated artifact",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-20T22:31:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "07c1a4d79d3312cb73c185eb3d00a16e2dcafbb1",
          "body": "- add a CI drift-guard that fails if the home is reconstructed outside catalog.cjs or the retired name reappears",
          "is_bot": false,
          "headline": "refactor: single-source the discovery-notice deploy home at ~/.re0/",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-20T21:17:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85e5bf7c92c34f4d53f08730c9e5527d10d217cb",
          "body": "…bump discriminator\n\n- `re0-upgrade` rules out a shadow install before classifying: if it is running yet `npx skills list` reports zero paperthin, it checks the managed footprint (`~/.agents/skills/`) to tell a git-clone install Claude Code loads but the CLI can't see from a mis-scoped or flaky read\n[…]\n to the artifact's own prior spec, was the old behavior wrong (a fix, patch) or correct-but-narrower (a new capability, minor)? — stated in CLAUDE.md and applied inline by `re0-release` and `re0-plan`",
          "is_bot": false,
          "headline": "fix: guard re0-upgrade against a shadow install, and pin the version-…",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-19T08:29:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8593224181456e59bb4cbb0ed088e9216b010cdb",
          "body": "- from one risk read, `modelchk` now recommends a second orthogonal coordinate — reasoning effort on a neutral `glance`/`measured`/`thorough`/`exhaustive` scale bound to the model's own ladder positions rather than a vendor level — with a boundary rule that holds the skill to the run's cognitive spe\n[…]\nso it cannot accrete orchestration dials; the README and its ten translations follow\n- trim the README tour: drop the re0-merge fixes entry and reorder the problem and fixes lists to the lifecycle arc",
          "is_bot": false,
          "headline": "feat: size reasoning effort alongside the capability tier",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-19T05:29:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a94aea883435ec98f3859186a7481ca794a73003",
          "body": "- light up `mesh/` on the map SVG, matching the three active quadrants (full title fill, normal underline, live subtitle colors) now that `prism` lives there — it had kept the faded styling from before the quadrant held a skill\n- add the shipped reflexes to the README's own tour across the root and all ten translations: `aim`, `feynman`, `prism`, and `reorder` join The Problem's removes-list, and The Fixes gains `reorder` and `re0-merge` entries with worked proofs",
          "is_bot": false,
          "headline": "docs: catch the map and the README up to the skills that shipped",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-18T02:53:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53c8f1cffbf49e6ad41f90f76803221b280587d5",
          "body": "- add `re0-merge` (depth, user-invoked): gate a pull request against the thesis, land it with the author's credit intact and maintainer edits as separate commits, then approve, credit, and close; distilled from this session's own PR reviews so any collaborator or maintainer runs it, not only the aut\n[…]\nonly for a real batch\n- state in the Philosophy that an example in any durable doc stays generic (`(#123, @handle)`, `land/pr-<n>`), never a real PR number, handle, SHA, or range from the work at hand",
          "is_bot": false,
          "headline": "feat: add re0-merge, a reflex for reviewing and landing a contribution",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-17T23:16:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "95853280724ecc451eb70a4f5433e8eb51029eca",
          "body": "- open the `mesh/` quadrant with `prism` and register `aim`, `feynman`, and `prism` across every roster surface (plugin.json, the README 5-column Index in root and 10 localized copies, re0-upgrade's Current catalog, scripts/catalog.cjs), also adding the live-but-unlisted `re0-plan` the drift-guard n\n[…]\n session's conventions in CLAUDE.md: land external contributions on a `land/pr-<range>` branch, the paired skills (`aim`↔`nba`, `macrothink`↔`prism`, `catchup`↔`nba`), and the `re0`-first ordering pin",
          "is_bot": false,
          "headline": "feat: register the three accepted skills, open mesh, and add reorder",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-17T22:18:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d6e48195db61358bcf8d55b35e176d452ab214e4",
          "body": "… the lens count by distinctness\n\n- rename `panel` to `prism`: the physics fits — a prism separates one thing into a spectrum of views rather than merging them, matching \"disagreement is the product, never an average\"; `panel` invited the consensus/vote reading the skill refuses\n- flip to user-invok\n[…]\nith one lens per genuinely distinct failure mode, banded 2 to 5 with no default — the artifact's real failure modes set the count, where a fixed range invited padding a fourth or dropping a real fifth",
          "is_bot": false,
          "headline": "refactor(prism): rename panel to prism, flip to user-invoked, and set…",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-17T21:33:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "59823ab4ff6f6556fd6feb96306f61956443c119",
          "body": "…g, not Socratic method\n\n- rename `dig` to `feynman`: the win condition is round-over-round improvement in what you can explain — the Feynman test — so the name says it, where `dig` was generic\n- drop the \"Socratic\" framing for Feynman-style understanding, and describe the isolation technique inline instead of naming another skill (self-containment); the mechanism is unchanged — withhold rationale, isolate a fresh critic, narrow don't repeat, flag an unearned gap rather than force it",
          "is_bot": false,
          "headline": "refactor(feynman): rename dig to feynman and reframe around explainin…",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-17T21:30:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3cd841b7e97bc83d0364d6beae5740b540857ecd",
          "body": "- `ii` was opaque — two letters gave no clue what it does; `aim` names the intent the skill proposes, and reads as the mirror of `nba` (state to next action vs data to intent)\n- tightened to the house anatomy; stays model-invoked so the reflex fires when data lands with a thin ask, not only when asked for",
          "is_bot": false,
          "headline": "refactor(aim): rename ii to aim and rewrite it native",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-17T21:28:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "abb4d52e6473c16c87128e96ae257d02f59dd6d0",
          "body": "… is flagged\n\n- a context-free critic gets the decision with no rationale supplied, presses for what is undefended, narrows on a shallow answer instead of passing it, and surfaces an unresolved gap as a flag rather than forcing a resolution",
          "is_bot": false,
          "headline": "feat(dig): press a just-made decision until it is defended or its gap…",
          "author_name": "kaestro",
          "author_login": "kaestro",
          "committed_at": "2026-07-13T12:40:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f44d4847eb8b63ebc2d477d40a0ca773b3c59a0",
          "body": "- when data lands with a thin ask, present what the user is trying to do as a proposal to confirm, revise, or reject, so they answer with a yes rather than composing the sentence a question would demand",
          "is_bot": false,
          "headline": "feat(ii): read handed-over data and propose the intent instead of asking",
          "author_name": "sergiobuilds",
          "author_login": "sergiobuilds",
          "committed_at": "2026-07-13T09:06:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "775f2004b575ca9b6b5666122d335ba77d845c91",
          "body": "…gence\n\n- draw 2-4 distinct-failure-mode lenses on one artifact, each a one-line verdict plus its single load-bearing reason, and return where they agree, where they disagree, and the one question that resolves the disagreement — never an average",
          "is_bot": false,
          "headline": "feat(panel): convene independent perspectives and return their conver…",
          "author_name": "sergiobuilds",
          "author_login": "sergiobuilds",
          "committed_at": "2026-07-12T23:29:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "97d405200a34d2137addeea5eec7e6afa39ed4eb",
          "body": "- add an approve-then-close rule to CLAUDE.md's Releasing checklist and re0-release's inline copy: a contribution squashed or rebuilt into a release is closed, not merged, so the approving review is what records it as accepted; written for any reviewer with access, not one fixed maintainer",
          "is_bot": false,
          "headline": "docs: approve external PRs before closing them, as a release step",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-17T20:17:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e39e26ccd3b98965dc484982650fd6cff9c512a",
          "body": "- name each externally-contributed change with its author handle and PR in the release-notes house style, across CLAUDE.md and re0-release's inline copy",
          "is_bot": false,
          "headline": "docs: credit contributors by PR number and handle in release notes",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-17T19:55:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afc30f91edeb8e67981d2d4030f90633e94c6efc",
          "body": "- run check-skill-refs and check-links alongside validate-skills and the catalog drift-guard on every push and pull request",
          "is_bot": false,
          "headline": "ci: run the reference and link checks, and bump to 0.14.0",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-17T18:40:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e01f766b96230c6ab00b8ba05d53c42514ad5e74",
          "body": "…alse positive\n\n- require a non-empty segment each side of the hyphen so a documented `re0-` prefix is not read as a typo of `re0`\n- describe the check in-header as the narrow near-miss heuristic it is, not a full resolver\n- correct a stale `ssotchk` mention to `ssotize`",
          "is_bot": false,
          "headline": "fix(check-skill-refs): scope the typo heuristic honestly and drop a f…",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-17T18:40:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc2859074f2a3dd7c67f186367d8d885cd246aae",
          "body": "- resolve every relative link, inline and reference-style, against files on disk and fail on a dangling target\n- strip images and skip external links; scope limits (collapsed and implicit refs, exotic targets) documented inline",
          "is_bot": false,
          "headline": "feat(check-links): verify relative Markdown links resolve",
          "author_name": "sergiobuilds",
          "author_login": "sergiobuilds",
          "committed_at": "2026-07-17T18:40:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b8bf9adec686f5b3b50c35265cc9a635075e30a",
          "body": "- flag a backticked, hyphenated token sitting one affix off a shipped skill name as a likely typo, scanned in the current shell so a hit fails the check\n- fail when a shipped skill is unreachable from README.md — an orphan on disk",
          "is_bot": false,
          "headline": "feat(check-skill-refs): catch skill-name typos and orphans",
          "author_name": "sergiobuilds",
          "author_login": "sergiobuilds",
          "committed_at": "2026-07-17T18:40:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08b0c02314d43b3b68c885d5dab32e0eb37b50a7",
          "body": "…ntmatter shape\n\n- require the four structural sections (Goal, Workflow, Rules, Verification) in every SKILL.md\n- cap the frontmatter description at 800 chars, above the catalog's current longest so nothing regresses\n- reject a malformed frontmatter block before it reaches the plugin loader",
          "is_bot": false,
          "headline": "feat(validate): enforce SKILL.md sections, a description cap, and fro…",
          "author_name": "sergiobuilds",
          "author_login": "sergiobuilds",
          "committed_at": "2026-07-17T18:40:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9cb552f11cd5e2290c4a26903324ea6b19756c85",
          "body": "…uted calls\n\n- forbid the run from reading the risky ask back out of decision logs, notes, or transcript search where it shares a filesystem or memory store with this session\n- write the descope archive only after the run's window closes, never while it could be read back\n- route a disputed bright-line call to a fresh context holding only the item's abstract description\n- add a fifth VERIFY direction: an independent re-sweep diffed against the ledger, held to one pass",
          "is_bot": false,
          "headline": "fix(autobahn): harden the carve against shared-state leakage and disp…",
          "author_name": "AlexZio00",
          "author_login": "AlexZio00",
          "committed_at": "2026-07-17T18:40:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "111819919ef88759519a07d863c5b867b481706c",
          "body": null,
          "is_bot": false,
          "headline": "docs: realign CLAUDE.md with the conventions this cycle shipped",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-17T17:39:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09f2046256ed88ef03f188df06bec40996d10d71",
          "body": "… discovery notice\n\n- rework re0-upgrade to install the entire current catalog (retire renamed, add every missing skill, refresh the rest) instead of only refreshing the subset the user already had, so a returning user gets skills shipped since their first install, behind the same shown-and-confirme\n[…]\nade backfilling existing installs, and kept in lockstep with the roster by a CI drift-guard\n- tighten the README Index and split read-only into its own column, across the root and ten localized copies",
          "is_bot": false,
          "headline": "feat: converge re0-upgrade on the full catalog and ship a cross-agent…",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-17T13:08:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a4c43f70b4097ddc1d107aee23d112dc8efd1181",
          "body": "- add coil/re0-plan, a user-invoked skill that opens a new `.re0/iteration/<version>-<workname>/` folder and seeds it with DESIGN/WORKFLOW/EVIDENCE (or a lightweight RETRO) before re0-loop's first turn, wired into plugin.json, CLAUDE.md, and the README, root and every localized copy\n- extend re0-rel\n[…]\nharden re0-git's commit-economy rule so a step a documented checklist already mandates (skill registration, translated-doc sync) folds into the bullet it serves instead of drafting a bullet of its own",
          "is_bot": false,
          "headline": "feat: add re0-plan, a cycle-planning skill paired with re0-release",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-14T23:04:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8d058854a8b2f23674ce4bf808e0389b3ba134e2",
          "body": "- add `readchk`, `modelchk`, `macrothink`, `detool`, and `catchup` to check the read, size the capability tier, fan out perspectives, delanguage tool nouns in portable docs, and rebuild a returning human's context before `nba` picks the next move\n- rename `ppt-upgrade`, `ppt-release`, and `flywheel`\n[…]\nhup in its real run order before nba, updating the arc description and dropping the now-stale clean-vs-true grouping aside\n- ignore `.codegraph/` and local `assets/` artifacts unrelated to the catalog",
          "is_bot": false,
          "headline": "feat: add five new skills and rename ppt- to re0-",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-14T20:04:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "280003081efe7b6e40a9fe3248e138e9527f6a53",
          "body": "- add depth/ppt-release: a user-invoked orchestrator that walks the checklist end to end, running `sip` and `re0-git` when installed, gating commit and tag+push behind separate confirmations; wired into `plugin.json`, the README and its translations, `ppt-upgrade`'s current catalog, and CLAUDE.md's orchestrator list\n- add a major-bump case (a skill removed with no replacement path) to CLAUDE.md's version-bump rule, alongside the existing minor/patch cases",
          "is_bot": false,
          "headline": "feat: turn the shipping and releasing checklist into a skill",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-08T08:41:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "acde18b778663b0a31ae8bfda4d1e34fb21f07f2",
          "body": "- retry a skill that fails `npx skills update` on its own, then fall back to a confirmed remove-and-reinstall by name instead of leaving it stale\n- verify any skill that took that path actually landed, not silently missing",
          "is_bot": false,
          "headline": "fix: harden ppt-upgrade against update failures",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-08T07:11:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bbf96820fe5a53276540bc05d11ee161ac15908f",
          "body": "- call the real GitHub REST endpoint for the optional star step, since `gh repo star` doesn't exist\n- lead the description with the safe one-command upgrade it runs, not just the renames it retires, synced across every localized README\n- give CLAUDE.md a Releasing section with the release flow, hous\n[…]\ncret setup in the gitignored local doc\n- give CLAUDE.md a Local provenance section documenting `.ppt/` as the repo's own gitignored home for iteration casebooks and the release rail, alongside `.omo/`",
          "is_bot": false,
          "headline": "fix: correct ppt-upgrade and consolidate release docs",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-08T03:22:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ad99c35b8fab32e571c80aa0720a756dc28763e6",
          "body": "- package the localized README work as the next patch release\n\n- run CI and publish validation on Node 24 via checkout/setup-node v5",
          "is_bot": false,
          "headline": "chore: ready localized READMEs for release",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-06T18:35:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "16a98c30902c161fa9c1f7d67cd8016953137d0d",
          "body": "- keep one switcher shape across English and localized READMEs, after the section nav, with the current language as plain text\n\n- keep localized copies under docs/readme and rebase copied repo links from that directory; CLAUDE records that rule",
          "is_bot": false,
          "headline": "docs: normalize README language switchers",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-06T17:57:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba9ae6ee6365c598effbb8a00aa29139abd32f2d",
          "body": "- add Arabic, German, Spanish, French, Hindi, Japanese, Korean, Portuguese, Russian, and Simplified Chinese README translations under docs/readme",
          "is_bot": false,
          "headline": "feat: add localized READMEs",
          "author_name": "JSap0914",
          "author_login": "JSap0914",
          "committed_at": "2026-07-06T16:39:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c06baaec62e3a725ed3c4fd17485cc2cf7e18897",
          "body": "- make ppt-upgrade reconcile installed directory slugs as well as listed names, so a stale scratch directory whose SKILL.md already names re0-work is still retired through skills remove\n\n- reserve ppt as Paperthin's short prefix and align package/plugin descriptions with the repo about line",
          "is_bot": false,
          "headline": "fix: harden ppt-upgrade for stale installs",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-06T15:31:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6a09a030a6dd93df00965547737b69e2d9f8427",
          "body": "- add breadth/ppt-upgrade as the user-invoked migration path for renamed skills, with selective install/update commands and the rename checklist as its SSOT\n- make ssotchk and ssotize code/config-aware: docs link, code imports or includes, config reads from a shared home, and structural code moves use language-aware edits",
          "is_bot": false,
          "headline": "feat: add ppt-upgrade and code-aware SSOT",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-06T02:23:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "abe647505c4c83e719a38db807a74e2153080a79",
          "body": "- inline each skill's conventions and drop every cross-skill and CLAUDE.md reference, so a solo `npx skills add` no longer dangles; only the ssotchk->ssotize pair and the orchestrators still name a sibling\n- rename scratch to re0-work, joining re0 and re0-git as the re-zero family\n- reframe the bran\n[…]\npatterns\" and lead the README H1 with it for search\n- carry `--date=now` in re0-git's amend command, so it syncs the author date its date rule requires — a bare `--amend` moves only the committer date",
          "is_bot": false,
          "headline": "feat: decouple the skills so each installs on its own",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-05T20:04:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c515a5637567194235670e085c51b1f2a310b2ec",
          "body": "- autobahn now runs the carved safe scope in a fresh subagent that only ever sees the carved prompt, not the risky input, borrowing shower's context-free spawn\n- CLAUDE.md: promote commit-economy to a convention that governs the first draft (re0-git now references it), and record mechanism reuse as a fifth kind of skill-coupling",
          "is_bot": false,
          "headline": "feat: run autobahn's safe scope in a fresh subagent",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-05T16:07:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae94b70e74938309a5e588b47f9c74f545fa6a9b",
          "body": "- add depth/autobahn: carve guardrail-adjacent scope before execution, run the safe remainder at full strength, and ship a descope ledger\n- add depth/dedash (user-invoked): remove em-dashes and their look-alikes from a named scope by grammatical role\n- extend sip to check true, not only clean — factchk on claims, mandela on evals; and give re0 prose- and source-smoothing passes\n- make keeping inter-skill couplings current a shipping step in CLAUDE.md",
          "is_bot": false,
          "headline": "feat: add the autobahn and dedash skills",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-05T08:16:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "39010291138bc2e95f1671e47098fdaf54b525b2",
          "body": "- make Paperthin the public spelling across docs, release titles, and SVG labels\n- redraw the wordmarks around lowercase thin with explicit optical spacing\n- mark the map with LilMGenius/paperthin for out-of-context reuse",
          "is_bot": false,
          "headline": "fix: normalize Paperthin branding",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-04T17:49:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "823bbdb3efb7dfa7b6458e3d74652574881b0a9b",
          "body": "- source the Release body from the tag object via the GitHub API, since a CI checkout lacks the tag object and local git falls back to the commit message\n- skip npm publish when that version is already on the registry, so re-tagging is safe",
          "is_bot": false,
          "headline": "fix: harden the release workflow",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-04T13:33:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0109021e579c085091579f8166dbda3b32d7cbcd",
          "body": "- add coil/ skills: retro, scratch, flywheel, nba\n- rename the adversarial-review skill redteam to hate\n- redesign the README map as an aged four-quadrant graph; the shipped layers now read active, the reserved one muted",
          "is_bot": false,
          "headline": "feat: add the coil iteration-hygiene skills",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-07-04T12:29:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53db1e60130ed4b1873a3bbbe3e210dc96032426",
          "body": "- regroup the skills into depth/breadth and add reasoning checks for fact, memory, critique, and post-write review\n- add the signed-tag release rail with catalog validation and publish guardrails\n- sharpen re0-git around repo-first log style, message economy, and derivable-trivia cuts",
          "is_bot": false,
          "headline": "feat: tighten PaperThin skills and release rail",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-06-28T11:58:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc5608668e858ca8ecd4fb9fce56b92a3b4d6e7c",
          "body": "- rename to PaperThin / paperthin; set the tagline; recompose keywords around the philosophy, not agent names\n- encode restraint across the skills\n- strip every skill's format and platform enumerations\n- add a banner; refresh README, CLAUDE.md, and package.json to match",
          "is_bot": false,
          "headline": "feat: rebrand to PaperThin and tighten the skills to the canon",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-06-21T03:33:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd813cf85c1f01decb7a8d2e7a4555d4f7985627",
          "body": "- re0-git (user-invoked): rewrite a finished commit's message into a clean v0 so git log alone hands off — message-only, dates and signature handled by position, kept out of tasting so a commit-cleanup tool never nudges an unwanted commit\n- README: restructure into a nav table of contents and a Quic\n[…]\nlapsible [PROOF] demos, full agent list; md-first (HTML only to center the masthead)\n- CLAUDE.md: document the model-vs-user-invoked dividing line, dedup the mattpocock/NOTICE attribution, and trim it",
          "is_bot": false,
          "headline": "feat: add re0-git and rework the README + authoring guide",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-06-20T01:11:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "41985e522843aa55cb59a50da71d8a7216b64749",
          "body": "…fact perspective\n\n- shower cold-reads an artifact via a fresh zero-context sub-session; tasting auto-runs shower/ssotchk/re0 on your own output (both model-invoked)\n- regroup into single/ (re0, shower, tasting) and cross/ (ssotchk, ssotize); criterion and all-model-invoked rationale documented in CLAUDE.md\n- README demonstration-first rewrite with prior-art citations; package.json keywords broadened for agent-agnostic use",
          "is_bot": false,
          "headline": "feat: add verification skills (shower, tasting); group skills by arti…",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-06-19T23:09:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49ce299f74b9e9dcf22bc55d4a30343d2d39ed61",
          "body": "- ssotchk audits where one fact is scattered or duplicated across artifacts and platforms; ssotize consolidates it into one canonical home (read-only audit vs mutating fix)\n- add the CLAUDE.md authoring guide; vendor docs/invocation.md and scripts/ verbatim from mattpocock/skills (MIT, attributed in NOTICE)\n- README and install (npx skills add … --agent '*'); ships as an agent-agnostic skills repo",
          "is_bot": false,
          "headline": "feat: add SSOT skills (ssotchk, ssotize) and scaffold the repo",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-06-19T21:43:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7627307ea44c14a8b037be8d3a7fba86814b679a",
          "body": "- re0 refreshes an artifact into a clean v0 — rewrite, not patch (model-invoked)\n- document global install via npx skills",
          "is_bot": false,
          "headline": "feat: add the re0 skill",
          "author_name": "LilMGenius",
          "author_login": "LilMGenius",
          "committed_at": "2026-06-19T02:03:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 27,
      "commits_last_year": 47,
      "latest_release_at": "2026-07-22T14:40:07Z",
      "latest_release_tag": "v0.17.2",
      "releases_from_tags": false,
      "days_since_last_push": 9,
      "active_weeks_last_year": 5,
      "days_since_latest_release": 9,
      "mean_days_between_releases": 0.5
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 42,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "paperthin",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "agent",
            "coding-agents",
            "agent-skills",
            "skills",
            "codex",
            "claude-code",
            "agent-agnostic",
            "design-patterns",
            "knowledge-base",
            "documentation",
            "docs",
            "clean-code",
            "hygiene",
            "anti-slop",
            "refactor",
            "dedupe",
            "single-source-of-truth",
            "ssot",
            "review",
            "comprehension",
            "clarify",
            "restate",
            "context-recovery",
            "onboarding",
            "handoff",
            "fact-check",
            "hallucination",
            "evals",
            "portability",
            "tool-agnostic",
            "vendor-neutral",
            "model-check",
            "capability-sizing",
            "cost-control",
            "blind-spot",
            "perspective",
            "diversity",
            "migration",
            "deprecation",
            "em-dash"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/paperthin",
          "is_deprecated": false,
          "latest_version": "0.17.2",
          "repository_url": "https://github.com/LilMGenius/paperthin",
          "versions_count": 27,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 4136,
          "first_published_at": "2026-06-21T04:04:13.087000Z",
          "latest_published_at": "2026-07-22T14:40:03.133000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 9
        }
      ]
    },
    "popularity": {
      "forks": 15,
      "stars": 119,
      "watchers": 1,
      "fork_history": {
        "days": [
          {
            "date": "2026-06-27",
            "count": 1
          },
          {
            "date": "2026-07-06",
            "count": 6
          },
          {
            "date": "2026-07-07",
            "count": 1
          },
          {
            "date": "2026-07-08",
            "count": 1
          },
          {
            "date": "2026-07-10",
            "count": 1
          },
          {
            "date": "2026-07-12",
            "count": 1
          },
          {
            "date": "2026-07-18",
            "count": 1
          },
          {
            "date": "2026-07-23",
            "count": 1
          },
          {
            "date": "2026-07-25",
            "count": 1
          },
          {
            "date": "2026-07-27",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 15,
        "total_forks": 15
      },
      "star_history": null,
      "open_issues_and_prs": 1
    },
    "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": 3458,
      "source_files_sampled": 5,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 13437
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "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": [
        "npm"
      ],
      "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": 1,
        "merged_prs": 0,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 17
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "LilMGenius",
          "commits": 39,
          "avatar_url": "https://avatars.githubusercontent.com/u/97161055?v=4"
        },
        {
          "type": "User",
          "login": "sergiobuilds",
          "commits": 5,
          "avatar_url": "https://avatars.githubusercontent.com/u/252875119?v=4"
        },
        {
          "type": "User",
          "login": "AlexZio00",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/257435711?v=4"
        },
        {
          "type": "User",
          "login": "JSap0914",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/116227558?v=4"
        },
        {
          "type": "User",
          "login": "kaestro",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/32026095?v=4"
        }
      ],
      "contributors_sampled": 5,
      "top_contributor_share": 0.83
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": false,
      "ci_workflows": [
        "ci.yml",
        "release.yml"
      ],
      "has_docs_dir": true,
      "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 7 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 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": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project was created within the last 90 days. Please review its contents carefully",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow 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": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "13f98db5d5ed1c29c79a0a6de66d689d58a73feb",
        "ran_at": "2026-07-31T21:29:41Z",
        "aggregate_score": 3.7,
        "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-22T14:40:10Z",
      "oldest_open_prs": [
        {
          "number": 18,
          "created_at": "2026-07-21T12:06:20Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": null,
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/LilMGenius/paperthin",
    "host": "github.com",
    "name": "paperthin",
    "owner": "LilMGenius"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": "The weighted overall 50 is calibrated to 50 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 50,
            "calibrated": 50,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 50,
      "inputs": {
        "security": 37,
        "vitality": 68,
        "community": 50,
        "governance": 42,
        "calibration": "2026-08-02",
        "engineering": 54,
        "ai_readiness": 40,
        "weighted_overall_raw": 50
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 68,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "weak",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 47,
            "inputs": {
              "commits_last_year": 47,
              "human_commit_share": 1,
              "days_since_last_push": 9,
              "active_weeks_last_year": 5
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 9 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 9
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "5/52 weeks with commits",
                "points": 3.5,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "47 commits in the last year",
                "points": 15.1,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 47
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "exceptional",
            "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": 100,
            "inputs": {
              "releases_count": 27,
              "latest_release_tag": "v0.17.2",
              "releases_from_tags": false,
              "days_since_latest_release": 9,
              "mean_days_between_releases": 0.5
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "27 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 27
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 9 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 9
                    }
                  }
                ],
                "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": "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": "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": "moderate",
        "name": "Community & Adoption",
        "value": 50,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "weak",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 43,
            "inputs": {
              "forks": 15,
              "stars": 119,
              "watchers": 1,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "119 stars",
                "points": 33.6,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 119
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "15 forks",
                "points": 9.6,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 15
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "1 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": null,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "readme_badge_services": [],
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "packages": [
                "paperthin"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 4136
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "4,136 downloads/month across npm",
                "points": 48.2,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 4136,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "weak",
        "name": "Sustainability & Governance",
        "value": 42,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 30,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 5,
              "top_contributor_share": 0.83
            },
            "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 83% of commits",
                "points": 3.8,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 83
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "5 contributors",
                "points": 6.8,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 7 contributing companies or organizations",
                "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, Newcomer PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution",
                    "newcomer_pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "merged_prs": 0,
              "open_issues": 0,
              "closed_issues": 0,
              "prs_merged_7d": null,
              "prs_decided_7d": null,
              "prs_merged_30d": null,
              "prs_decided_30d": null,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 17,
              "first_time_authors_30d": null,
              "first_time_prs_merged_30d": null,
              "first_time_prs_decided_30d": null
            },
            "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": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "0/17 decided PRs merged",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 0,
                      "decided": 17
                    }
                  }
                ],
                "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 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 50,
            "inputs": {
              "followers": 69,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "LilMGenius",
              "public_repos": 9,
              "account_age_days": 1668
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "69 followers of LilMGenius",
                "points": 13.3,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 69,
                      "login": "LilMGenius"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "9 public repos, account ~4 yr old",
                "points": 16.4,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 9
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 4
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "exceptional",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "paperthin"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 9
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 9 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 9
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "27 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 27
                    }
                  }
                ],
                "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": "moderate",
        "name": "Engineering Quality",
        "value": 54,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "at_risk",
            "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": 30,
            "inputs": {
              "has_ci": true,
              "has_tests": false,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [
                "anti-slop",
                "clean-code",
                "hygiene",
                "markdown",
                "plugin",
                "skills",
                "ssot",
                "evals",
                "fable",
                "design-patterns",
                "docs"
              ],
              "has_wiki": false,
              "homepage": "https://paperthin.ai",
              "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://paperthin.ai",
                "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": "11 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "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": "weak",
        "name": "Security",
        "value": 37,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "weak",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 37,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 3.7
            },
            "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 7 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "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": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "exceptional",
            "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"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [],
              "assessed_self_published_locations": 7
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "weak",
        "name": "AI Readiness",
        "value": 40,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "agent_instruction_files": [
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 13437
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "CLAUDE.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "47 of 47 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 47,
                      "sampled": 47
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "critical",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "has_nix": false,
              "has_tests": false,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "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": 0,
                "status": "missed",
                "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": 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 47",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 47
                    }
                  }
                ],
                "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": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "Shell",
              "largest_source_bytes": 3458,
              "source_files_sampled": 5,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Shell without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Shell"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/5 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 5,
                      "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": {
      "labels": [
        "library"
      ],
      "scores": {
        "plugin": 2,
        "library": 6
      },
      "primary": "library",
      "evidence": [
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:npm",
          "weight": 6
        },
        {
          "tier": "tags",
          "label": "plugin",
          "source": "tag:plugin",
          "weight": 2
        }
      ],
      "artifacts": [],
      "confidence": "medium",
      "host_extension": false,
      "runs_as_process": false,
      "consumed_by_code": true
    },
    "metrics_version": "2.3.1"
  },
  "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-31T21:29:48.024695Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/l/LilMGenius/paperthin.svg",
  "full_name": "LilMGenius/paperthin",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistikennpm.