Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 1.13.0 · 2026-07-31 17:48 UTC

CMSgov / hpt-validator-cli

CLI for validating CMS Hospital Price Transparency machine-readable files

TypeScript · JavaScriptEigene Lizenz★ 10 Sterne⑂ 8 Forksseit Apr. 2023Auf GitHub ansehen ↗

CMSgov/hpt-validator-cli erreicht einen Gesundheitsindex von 60 von 100 und liegt damit im Bereich Mittel. Am stärksten schneidet es bei Sustainability & Governance (76/100) ab, am schwächsten bei AI Readiness (45/100). Zuletzt vor 58 Tagen aktualisiert. 2 Mitwirkende tragen den Großteil der jüngsten Arbeit.

60
gesamt / 100
Mittel

Software-Gesundheitsindex

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

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

Bewertungsprofil

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

Eigentümerschaft

603 Follower218 öffentliche Reposseit Jan. 2013

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

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlicht
npm@cmsgov/hpt-validator-cli1.10.76.41810vor 58 Tagen

Metriken nach Kategorie

Vitalität

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

59Mittel · 22 % des Gesamtindex
Wie die Bewertung erfolgt
18/36Push-Aktualität — letzter Push vor 58 Tagen
4.8/36Commit-Rhythmus — 7/52 Wochen mit Commits
9.7/18Commit-Volumen — 11 Commits im letzten Jahr
0/10OpenSSF Scorecard: Maintained — 1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Verwendete Eingangsdaten
commits_last_year11
human_commit_share1
days_since_last_push58
active_weeks_last_year7

Release-Disziplin

100Exzellent
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 41 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 58 Tagen
27/27Release-Rhythmus — ein Release etwa alle 34,8 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count41
latest_release_tagv1.10.7
releases_from_tagsnein
days_since_latest_release58
mean_days_between_releases34,8
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?

55Mittel · 18 % des Gesamtindex
Wie die Bewertung erfolgt
15.5/60Stars — 10 Stars
7/25Forks — 8 Forks
5/15Watcher — 9 Watcher
Verwendete Eingangsdaten
forks8
stars10
watchers9
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
16.9/22.5Lizenz — Lizenzdatei vorhanden, keine anerkannte Lizenz
18/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
7.2/7.2Issue-Vorlage
6.3/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingja
has_issue_templateja
has_code_of_conductnein
has_pull_request_templateja
Wie die Bewertung erfolgt
50.8/80Downloads pro Monat — 6.418 Downloads/Monat über npm
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packages@cmsgov/hpt-validator-cli
dependents
ecosystemsnpm
total_downloads
monthly_downloads6.418
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?

76Gut · 24 % des Gesamtindex
Wie die Bewertung erfolgt
25.2/54Bus-Faktor — 2 Beitragende decken die Hälfte aller Commits ab
11.4/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 49 % der Commits
8.1/13.5Breite der Beitragenden — 6 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 3 contributing companies or organizations -- score normalized to 10
Verwendete Eingangsdaten
bus_factor2
contributors_sampled6
top_contributor_share0,494
Wie die Bewertung erfolgt
46.8/46.8Issue-Lösungsquote — 100 % der Issues geschlossen
29.3/38.3PR-Annahme — 36/47 entschiedene PRs gemergt
7.5/15OpenSSF Scorecard: Code-Review — Found 15/29 approved changesets -- score normalized to 5
Verwendete Eingangsdaten
merged_prs36
open_issues0
closed_issues7
issue_closed_ratio1
closed_unmerged_prs11
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
20/25Reichweite des Inhabers — 603 Follower von CMSgov
25/25Kontohistorie — 218 öffentliche Repos, Kontoalter ca. 13 Jahre
Verwendete Eingangsdaten
followers603
owner_typeOrganization
is_verified
owner_loginCMSgov
public_repos218
account_age_days4.952

Paketpflege

100Exzellent
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf npm
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 58 Tagen
20/20Versionshistorie — 10 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packages@cmsgov/hpt-validator-cli
ecosystemsnpm
any_deprecatednein
min_days_since_publish58

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

50Mittel · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 2 Workflow(s)
0/24Tests vorhanden
16/16Linter-Konfiguration — eslint.config.mjs
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
10/20OpenSSF Scorecard: CI-Tests — 12 out of 24 merged PRs checked by a CI test -- score normalized to 5
Verwendete Eingangsdaten
has_cija
has_testsnein
has_editorconfignein
has_linter_configja
has_precommit_confignein
Wie die Bewertung erfolgt
30/30README
0/25Dokumentationsverzeichnis
0/15Dokumentations-/Homepage-Site
10/10Repository-Beschreibung
0/10Topics
10/10Wiki
Verwendete Eingangsdaten
topics
has_wikija
homepage
has_readmeja
has_docs_dirnein
has_descriptionja

Sicherheit

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

53Mittel · 16 % des Gesamtindex

Sicherheitslage

41Gefährdet
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
1.2/2.5CI-Tests — 12 out of 24 merged PRs checked by a CI test -- score normalized to 5
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
3.8/7.5Code-Review — Found 15/29 approved changesets -- score normalized to 5
2.5/2.5Contributors — project has 3 contributing companies or organizations -- score normalized to 10
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.2/2.5Lizenz — license file detected
0/7.5Maintained — 1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
5/5Packaging — packaging workflow detected
1/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
1.5/5SAST — SAST tool is not run on all commits -- score normalized to 3
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — keine Daten
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 20 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate4,1
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): signed_releases. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
35/35Direkte Abhängigkeiten ohne bekannte Advisories — keine direkte Abhängigkeit trägt ein bekanntes Advisory
25/25Indirekte Abhängigkeiten ohne bekannte Advisories — keine indirekte Abhängigkeit trägt ein bekanntes Advisory
0/40Keine offenen Advisories — kein Advisory trägt ein Veröffentlichungsdatum
Verwendete Eingangsdaten
sourceosv
advisories0
affected_packages0
assessed_packages16
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): Keine offenen Advisories. Die verbleibenden Gewichte wurden renormalisiert. Abgeglichen wurde die Laufzeit-Abhängigkeitshülle von npm:@cmsgov/hpt-validator-cli@1.10.7 — das, was die Installation des veröffentlichten Pakets nach sich zieht — mit 16 Paketen. Erreichbarkeit wird nicht analysiert.

AI Readiness

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

45Gefährdet · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
31.2/40Lesbare Commit-Historie — 48 von 82 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,585
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
0/22Automatisierte Tests
11/11Lint-/Format-Konfiguration — eslint.config.mjs
11/11Statische Typprüfung — tsconfig.json
10/10Reproduzierbare Umgebung — lockfile
0/10Belegte Agentenpraxis — keine von Agenten verfassten Commits unter den letzten 82
0/8Automatisierte Wartung — keine automatisierten Abhängigkeits-Updates beobachtet
2/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
Verwendete Eingangsdaten
has_nixnein
has_testsnein
lockfilespackage-lock.json
has_dockerfilenein
typed_languageja
bootstrap_files
has_devcontainernein
has_linter_configja
typecheck_configstsconfig.json
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — TypeScript (statisch typisiert)
55/55Handhabbare Dateigrößen — 0/4 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageTypeScript
largest_source_bytes4.225
source_files_sampled4
oversized_source_files0

Eckdaten

10GitHub-Sterne
6Mitwirkende
11Commits, letzte 12 Monate
58Tage seit letztem Push
41Releases
2Bus-Faktor
0offene Issues
npmPaket-Ökosysteme

Warnungen zur Datenerhebung

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

Weitere Details

Stern- und Fork-Verlauf 0 ★ / 8 ⇿
0Sterne
8Forks
30Releases

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.

02468812023-062024-072025-07
Major 1Minor 7Patch 16

Jeder Punkt umfasst 2 Tage.

OpenSSF Scorecard 4.1 / 10
4.1Gesamtwert

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 17:48 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
5CI-Tests12 out of 24 merged PRs checked by a CI test -- score normalized to 5
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
5Code-ReviewFound 15/29 approved changesets -- score normalized to 5
10Contributorsproject has 3 contributing companies or organizations -- score normalized to 10
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
9Licenselicense file detected
0Maintained1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
10Packagingpackaging workflow detected
2Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 2
3SASTSAST tool is not run on all commits -- score normalized to 3
10Security-Policysecurity policy file detected
k. A.Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities20 existing vulnerabilities detected
Direkte Abhängigkeiten 4
RegistryPaketVersionsvorgabeManifest
npm@cmsgov/hpt-validator^2.5.0package.json
npmchalk^5.3.0package.json
npmcommander^12.1.0package.json
npmsemver^7.7.3package.json
Alle Abhängigkeiten 147

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

RegistryPaketVersionBeziehung
npm@cmsgov/hpt-validator2.5.0direkt
npmchalk4.1.2direkt
npmchalk5.6.2direkt
npmcommander12.1.0direkt
npmsemver7.7.3direkt
npm@cspotcode/source-map-support0.8.1indirekt
npm@eslint-community/eslint-utils4.9.0indirekt
npm@eslint-community/regexpp4.12.2indirekt
npm@eslint/config-array0.21.1indirekt
npm@eslint/config-helpers0.4.2indirekt
npm@eslint/core0.17.0indirekt
npm@eslint/eslintrc3.3.3indirekt
npm@eslint/js9.39.1indirekt
npm@eslint/object-schema2.1.7indirekt
npm@eslint/plugin-kit0.4.1indirekt
npm@humanfs/core0.19.1indirekt
npm@humanfs/node0.16.7indirekt
npm@humanwhocodes/module-importer1.0.1indirekt
npm@humanwhocodes/retry0.4.3indirekt
npm@jridgewell/resolve-uri3.1.2indirekt
npm@jridgewell/sourcemap-codec1.5.5indirekt
npm@jridgewell/trace-mapping0.3.9indirekt
npm@pkgr/core0.2.9indirekt
npm@streamparser/json0.0.21indirekt
npm@stylistic/eslint-plugin-js2.13.0indirekt
npm@tsconfig/node101.0.12indirekt
npm@tsconfig/node121.0.11indirekt
npm@tsconfig/node141.0.3indirekt
npm@tsconfig/node161.0.4indirekt
npm@types/estree1.0.8indirekt
npm@types/json-schema7.0.15indirekt
npm@types/node20.19.25indirekt
npm@types/node24.10.1indirekt
npm@types/papaparse5.5.1indirekt
npm@types/semver7.7.1indirekt
npm@typescript-eslint/eslint-plugin8.48.1indirekt
npm@typescript-eslint/parser8.48.1indirekt
npm@typescript-eslint/project-service8.48.1indirekt
npm@typescript-eslint/scope-manager8.48.1indirekt
npm@typescript-eslint/tsconfig-utils8.48.1indirekt
npm@typescript-eslint/type-utils8.48.1indirekt
npm@typescript-eslint/types8.48.1indirekt
npm@typescript-eslint/typescript-estree8.48.1indirekt
npm@typescript-eslint/utils8.48.1indirekt
npm@typescript-eslint/visitor-keys8.48.1indirekt
npmacorn8.15.0indirekt
npmacorn-jsx5.3.2indirekt
npmacorn-walk8.3.4indirekt
npmajv6.12.6indirekt
npmajv8.17.1indirekt
npmajv-formats3.0.1indirekt
npmansi-styles4.3.0indirekt
npmarg4.1.3indirekt
npmargparse2.0.1indirekt
npmbalanced-match1.0.2indirekt
npmbrace-expansion1.1.12indirekt
npmbrace-expansion2.0.2indirekt
npmcallsites3.1.0indirekt
npmcolor-convert2.0.1indirekt
npmcolor-name1.1.4indirekt
npmconcat-map0.0.1indirekt
npmcreate-require1.1.1indirekt
npmcross-spawn7.0.6indirekt
npmdebug4.4.3indirekt
npmdeep-is0.1.4indirekt
npmdiff4.0.2indirekt
npmescape-string-regexp4.0.0indirekt
npmeslint9.39.1indirekt
npmeslint-config-prettier9.1.2indirekt
npmeslint-plugin-prettier5.5.4indirekt
npmeslint-scope8.4.0indirekt
npmeslint-visitor-keys3.4.3indirekt
npmeslint-visitor-keys4.2.1indirekt
npmesm3.2.25indirekt
npmespree10.4.0indirekt
npmesquery1.6.0indirekt
npmesrecurse4.3.0indirekt
npmestraverse5.3.0indirekt
npmesutils2.0.3indirekt
npmfast-deep-equal3.1.3indirekt
npmfast-diff1.3.0indirekt
npmfast-json-stable-stringify2.1.0indirekt
npmfast-levenshtein2.0.6indirekt
npmfast-uri3.1.0indirekt
npmfdir6.5.0indirekt
npmfile-entry-cache8.0.0indirekt
npmfind-up5.0.0indirekt
npmflat-cache4.0.1indirekt
npmflatted3.3.3indirekt
npmglob-parent6.0.2indirekt
npmglobals14.0.0indirekt
npmgraphemer1.4.0indirekt
npmhas-flag4.0.0indirekt
npmignore5.3.2indirekt
npmignore7.0.5indirekt
npmimport-fresh3.3.1indirekt
npmimurmurhash0.1.4indirekt
npmis-extglob2.1.1indirekt
npmis-glob4.0.3indirekt
npmisexe2.0.0indirekt
npmjs-yaml4.1.1indirekt
npmjson-buffer3.0.1indirekt
npmjson-schema-traverse0.4.1indirekt
npmjson-schema-traverse1.0.0indirekt
npmjson-stable-stringify-without-jsonify1.0.1indirekt
npmkeyv4.5.4indirekt
npmlevn0.4.1indirekt
npmlocate-path6.0.0indirekt
npmlodash4.17.21indirekt
npmlodash.merge4.6.2indirekt
npmmake-error1.3.6indirekt
npmminimatch3.1.2indirekt
npmminimatch9.0.5indirekt
npmms2.1.3indirekt
npmnatural-compare1.4.0indirekt
npmoptionator0.9.4indirekt
npmp-limit3.1.0indirekt
npmp-locate5.0.0indirekt
npmpapaparse5.5.3indirekt
npmparent-module1.0.1indirekt
npmpath-exists4.0.0indirekt
npmpath-key3.1.1indirekt
npmpicomatch4.0.3indirekt
npmprelude-ls1.2.1indirekt
npmprettier3.7.3indirekt
npmprettier-linter-helpers1.0.0indirekt
npmpunycode2.3.1indirekt
npmrequire-from-string2.0.2indirekt
npmresolve-from4.0.0indirekt
npmshebang-command2.0.0indirekt
npmshebang-regex3.0.0indirekt
npmstrip-json-comments3.1.1indirekt
npmsupports-color7.2.0indirekt
npmsynckit0.11.11indirekt
npmtinyglobby0.2.15indirekt
npmts-api-utils2.1.0indirekt
npmts-node10.9.2indirekt
npmtype-check0.4.0indirekt
npmtypescript5.9.3indirekt
npmundici-types6.21.0indirekt
npmundici-types7.16.0indirekt
npmuri-js4.4.1indirekt
npmv8-compile-cache-lib3.0.1indirekt
npmwhich2.0.2indirekt
npmword-wrap1.2.5indirekt
npmyn3.1.1indirekt
npmyocto-queue0.1.0indirekt
Abhängigkeits-Advisories 0

Die Installation von npm:@cmsgov/hpt-validator-cli@1.10.7 zieht 16 Pakete nach sich, direkt und transitiv: 0 tragen bekannte Advisories, davon 0 direkte Abhängigkeiten.

Keine bekannten Advisories betreffen die bewerteten Abhängigkeiten.

Ein Advisory bedeutet, dass die im Abhängigkeitsgraphen erfasste Version in den betroffenen Bereich eines Advisories fällt. Erreichbarkeit wird nicht analysiert, und der Graph enthält Entwicklungs- und Test-Pins — ein Fund kann das Werkzeug betreffen und nicht die ausgelieferte Software.

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 243,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "JavaScript": 4520,
        "TypeScript": 5990
      },
      "pushed_at": "2026-06-02T17:53:10Z",
      "created_at": "2023-04-27T14:29:33Z",
      "owner_type": "Organization",
      "updated_at": "2026-06-02T17:51:13Z",
      "description": "CLI for validating CMS Hospital Price Transparency machine-readable files",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "main",
      "license_spdx_raw": "NOASSERTION",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript",
        "JavaScript"
      ]
    },
    "owner": {
      "blog": "http://cms.gov",
      "name": "Centers for Medicare & Medicaid Services",
      "type": "Organization",
      "login": "CMSgov",
      "company": null,
      "location": null,
      "followers": 603,
      "avatar_url": "https://avatars.githubusercontent.com/u/3209407?v=4",
      "created_at": "2013-01-07T20:16:03Z",
      "is_verified": null,
      "public_repos": 218,
      "account_age_days": 4952
    },
    "license": {
      "state": "custom",
      "spdx_id": null,
      "raw_spdx": "NOASSERTION",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.10.7",
          "kind": "patch",
          "published_at": "2026-06-02T17:53:10Z"
        },
        {
          "tag": "v1.10.6",
          "kind": "patch",
          "published_at": "2026-04-28T16:31:26Z"
        },
        {
          "tag": "v1.10.5",
          "kind": "patch",
          "published_at": "2026-04-08T17:36:38Z"
        },
        {
          "tag": "v1.10.4",
          "kind": "patch",
          "published_at": "2026-02-09T14:22:56Z"
        },
        {
          "tag": "v1.10.3",
          "kind": "patch",
          "published_at": "2026-01-22T21:21:19Z"
        },
        {
          "tag": "v1.10.2",
          "kind": "patch",
          "published_at": "2026-01-08T20:46:00Z"
        },
        {
          "tag": "v1.10.1",
          "kind": "patch",
          "published_at": "2025-12-03T22:31:35Z"
        },
        {
          "tag": "v1.10.0",
          "kind": "minor",
          "published_at": "2025-12-02T20:09:16Z"
        },
        {
          "tag": "v1.9.0",
          "kind": "minor",
          "published_at": "2025-07-28T13:28:27Z"
        },
        {
          "tag": "v1.8.0",
          "kind": "minor",
          "published_at": "2025-07-24T19:25:44Z"
        },
        {
          "tag": "v1.7.1",
          "kind": "patch",
          "published_at": "2025-05-22T18:53:23Z"
        },
        {
          "tag": "v1.7.0",
          "kind": "minor",
          "published_at": "2025-05-22T18:15:28Z"
        },
        {
          "tag": "v1.6.0",
          "kind": "minor",
          "published_at": "2025-04-03T18:33:04Z"
        },
        {
          "tag": "v1.5.0",
          "kind": "minor",
          "published_at": "2025-03-19T20:14:44Z"
        },
        {
          "tag": "v1.4.0",
          "kind": "minor",
          "published_at": "2025-01-14T19:56:50Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2025-01-02T21:07:07Z"
        },
        {
          "tag": "v1.2.2",
          "kind": "patch",
          "published_at": "2024-11-08T16:13:46Z"
        },
        {
          "tag": "v1.2.1",
          "kind": "patch",
          "published_at": "2024-11-01T16:03:14Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2024-10-31T18:15:52Z"
        },
        {
          "tag": "v1.1.0",
          "kind": "minor",
          "published_at": "2024-10-03T20:27:29Z"
        },
        {
          "tag": "v1.0.14",
          "kind": "patch",
          "published_at": "2024-09-03T19:21:24Z"
        },
        {
          "tag": "v1.0.13",
          "kind": "patch",
          "published_at": "2024-08-20T01:27:39Z"
        },
        {
          "tag": "v1.0.12",
          "kind": "patch",
          "published_at": "2024-08-06T19:19:03Z"
        },
        {
          "tag": "v1.0.11",
          "kind": "patch",
          "published_at": "2024-07-19T18:22:09Z"
        },
        {
          "tag": "v1.0.10",
          "kind": "patch",
          "published_at": "2024-07-08T14:00:56Z"
        },
        {
          "tag": "v1.0.9",
          "kind": "patch",
          "published_at": "2024-06-29T14:14:38Z"
        },
        {
          "tag": "v1.0.8",
          "kind": "patch",
          "published_at": "2024-06-24T13:19:14Z"
        },
        {
          "tag": "v1.0.6",
          "kind": "patch",
          "published_at": "2024-06-07T00:31:39Z"
        },
        {
          "tag": "v1.0.5",
          "kind": "patch",
          "published_at": "2024-05-30T23:35:44Z"
        },
        {
          "tag": "v1.0.4",
          "kind": "patch",
          "published_at": "2024-05-21T18:30:45Z"
        },
        {
          "tag": "v1.0.3",
          "kind": "patch",
          "published_at": "2024-04-17T21:27:53Z"
        },
        {
          "tag": "v1.0.2",
          "kind": "patch",
          "published_at": "2024-04-15T18:39:20Z"
        },
        {
          "tag": "v1.0.1",
          "kind": "patch",
          "published_at": "2024-04-15T17:34:46Z"
        },
        {
          "tag": "v1.0.0",
          "kind": "major",
          "published_at": "2024-03-29T17:06:40Z"
        },
        {
          "tag": "v1.0.0-rc.5",
          "kind": "prerelease",
          "published_at": "2024-03-26T18:34:36Z"
        },
        {
          "tag": "v1.0.0-rc.4",
          "kind": "prerelease",
          "published_at": "2024-03-20T14:21:49Z"
        },
        {
          "tag": "v1.0.0-rc.3",
          "kind": "prerelease",
          "published_at": "2024-03-14T22:15:34Z"
        },
        {
          "tag": "v1.0.0-rc.2",
          "kind": "prerelease",
          "published_at": "2024-03-05T03:48:18Z"
        },
        {
          "tag": "v1.0.0-rc.1",
          "kind": "prerelease",
          "published_at": "2024-03-05T03:41:13Z"
        },
        {
          "tag": "v0.1.0-alpha.5",
          "kind": "prerelease",
          "published_at": "2023-08-22T18:08:31Z"
        },
        {
          "tag": "v0.1.0-alpha.4",
          "kind": "prerelease",
          "published_at": "2023-06-15T14:52:15Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "fe9ce8e6cbe197dcd248a561c2c8cb9393602bdc",
          "body": null,
          "is_bot": false,
          "headline": "grabbing v2.5.0 validator (#54)",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2026-06-02T17:51:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ebc089f2304afae9da55bf279386010bbcdf263e",
          "body": null,
          "is_bot": false,
          "headline": "grabbing the newest version of the validator. (#53)",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2026-04-28T16:29:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da3a881e0ac2209c948b7cc787bfaac9c9b63beb",
          "body": "* pulling in the core version 2.3.0\n\n* patch CLI bump",
          "is_bot": false,
          "headline": "Version bump (#52)",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2026-04-08T17:33:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d11c797b336dd1800acfa620b391fb0fd2e64779",
          "body": null,
          "is_bot": false,
          "headline": "pulling in the latest version of the core validator. v2.2.0 (#51)",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2026-02-09T14:20:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e8f65de28500b8fb5780ac131ae147c4e2b353f",
          "body": "Update @cmsgov/hpt-validator dependency to 2.1.3 to include new bug\nfixes.",
          "is_bot": false,
          "headline": "v1.10.2 (#50)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2026-01-22T21:13:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24677caff11658a3992a5f1ee0753ac64993a0a5",
          "body": null,
          "is_bot": false,
          "headline": "incorporating latest validator core",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2026-01-08T20:42:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e57f8b5498cc267c5c60da2e9d2b7d8443a96146",
          "body": "* grabbing the latest validator core.\n\n* updating lock file",
          "is_bot": false,
          "headline": "grabbing the latest validator core. (#49)",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2025-12-03T22:29:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ed86e07acde246a7a9488330e63f7feb875c6a1",
          "body": null,
          "is_bot": false,
          "headline": "Update README.md (#48)",
          "author_name": "daniel-eckel",
          "author_login": "daniel-eckel",
          "committed_at": "2025-12-02T20:31:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "82d60dac69673cdf19ca79301f98cb748e71907e",
          "body": "update readme file for new version specifications",
          "is_bot": false,
          "headline": "Merge pull request #47 from CMSgov/readme-versions",
          "author_name": "daniel-eckel",
          "author_login": "daniel-eckel",
          "committed_at": "2025-12-02T20:21:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "196b21fd5b6dd983de45f078b35694c726f4c265",
          "body": null,
          "is_bot": false,
          "headline": "update readme file for new version specifications",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2025-12-02T20:12:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5ceb766b1a7e95753e8c6008999462f4a2b484f",
          "body": "* be more flexible about data dictionary version\n\nusers may not always enter the data dictionary version argument exactly\nas specified. be flexible and try to figure out which major and minor\nversions they asked for. if they did not specify a major and minor\nversions that are currently supported, th\n[…]\nnd enforcement dates for each version\n\n* bumping htp validator version\n\n* allowed for the hpt validator to be pulled from npm vs github\n\n---------\n\nCo-authored-by: Mint Thompson <mathompson@mitre.org>",
          "is_bot": false,
          "headline": "Versions for 2026 (#46)",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2025-12-02T20:06:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7485a9579118e9be125a6ac696c76e254f86a168",
          "body": null,
          "is_bot": false,
          "headline": "version bump",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2025-07-28T13:25:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5977c7897cbe0c263cc2d752db9cc3698e3bc6ec",
          "body": "* Add version output option\n\nVersion output shows currently installed version and latest version\navailable on NPM.\n\n* add version of hpt-validator to version command\n\nknowing this is pretty useful, too.\n\n* Version checks use namespaced package names\n\nThe hpt-validator and hpt-validator-cli packages are in the @cmsgov\nnamespace.\n\nUse function to get version of @cmsgov/hpt-validator when printing\noutput.",
          "is_bot": false,
          "headline": "Add version output command (#45)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2025-07-28T13:19:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b32df2a7109770df4d844b27b453e747a929e2c",
          "body": "Updating to minor version.",
          "is_bot": false,
          "headline": "Update package-lock.json",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2025-07-24T19:24:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "65a324e312da4ced5579ebab00226e0742cb97b9",
          "body": "Bumping to a minor version.",
          "is_bot": false,
          "headline": "Update package.json",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2025-07-24T19:23:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "141aba9710e1493f806ba26eeb8bff9fd2750095",
          "body": "* Update hpt-validator package with namespace\n\n* update package namespace",
          "is_bot": false,
          "headline": "Move to @cmsgov namespace, update publishing (#42)",
          "author_name": "patsier-cms",
          "author_login": "patsier-cms",
          "committed_at": "2025-07-24T19:15:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "783f89eb3120075f664303952b2e0fe7a3ae71a1",
          "body": "* feat: add JSON output format option\n\n- Add -o, --output option to CLI with choices: table, json\n- Add JSON output format that includes file info, validation status, and structured error/alert data\n- Maintain backward compatibility with default table output\n- Add machine-readable JSON output for au\n[…]\n\n- Explain use cases for machine-readable JSON output\n\n* style: apply prettier code formatting\n\n- Run npm run prettier:fix to format TypeScript files\n- Ensure code follows project formatting standards",
          "is_bot": false,
          "headline": "feat: add JSON output format option to CLI (#43)",
          "author_name": "madeleine-care-carta",
          "author_login": "madeleine-care-carta",
          "committed_at": "2025-07-24T19:14:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "83880a4fbbdf15961a2456eaf8dd9094f0d012d2",
          "body": null,
          "is_bot": false,
          "headline": "validator core update (#39)",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2025-05-22T18:48:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd1933d50028b17abcf78d401b7e1d18326fff37",
          "body": null,
          "is_bot": false,
          "headline": "v1.7.0 (#38)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2025-05-22T18:13:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d6c57d29850b512b8f59fd75ed05c08af221983e",
          "body": "v1.11.0 of hpt-validator adds alerts to the validation result. Show a\nmessage if there are no alerts. If there is at least one alert, show a\ntable containing the alerts.",
          "is_bot": false,
          "headline": "Add alerts to output (#37)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2025-05-22T18:06:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9cca7e8f81f04c881ce357045d7d1f0767270c62",
          "body": null,
          "is_bot": false,
          "headline": "v1.6.0 (#35)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2025-04-03T18:25:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37a7909b4b9ea779087f14405fd998849f67edc2",
          "body": "* Show timestamp before and after validation\n\n* Show validator core version and full file path before validation\n\n* Update validator version output",
          "is_bot": false,
          "headline": "Show timestamp and validator core version in output (#34)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2025-04-03T13:08:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c884227c02c0641097d0ec5c037f6d90852c1e22",
          "body": "Update hpt-validator dependency to latest v1.10.0 release.",
          "is_bot": false,
          "headline": "v1.5.0 (#33)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2025-03-19T20:10:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7cb5752798077a529d2f889e8905b3c6879e6e63",
          "body": "Update dependencies reported by `npm audit`.",
          "is_bot": false,
          "headline": "Version bump to v1.4.0 (#31)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2025-01-14T19:54:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0dcdabbd809b505f21a60eeb9f9cbbb0b56cf425",
          "body": "As of January 1, 2025, the validator no longer produces warnings. Remove\r\nwarnings from the CLI output. Remove references to warnings in the\r\ncommand help text and README.",
          "is_bot": false,
          "headline": "Remove warnings from output and README (#30)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2025-01-14T19:41:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f431b97c4bfae6f5769c47d0ffd04bd96cdf858",
          "body": null,
          "is_bot": false,
          "headline": "version bump",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2025-01-02T21:03:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f6d1727be11a6a3e6d536eb3167afda8c462115",
          "body": "* supporting gzip checks\r\n\r\n* update documentation explaining new functionality\r\n\r\n* Update README.md\r\n\r\nCo-authored-by: Mint Thompson <mathompson@mitre.org>\r\n\r\n---------\r\n\r\nCo-authored-by: Mint Thompson <mathompson@mitre.org>",
          "is_bot": false,
          "headline": "supporting gzip checks (#28)",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2025-01-02T20:57:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a1d92668067c6248ceb9952cd9b74b483a42f24",
          "body": null,
          "is_bot": false,
          "headline": "update to validator core 1.9.3 (#27)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2024-11-08T16:06:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4b53e85a1ec8a6e695ee476dfe95a9df384cbcc",
          "body": null,
          "is_bot": false,
          "headline": "v1.2.2 (#26)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2024-11-07T20:00:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19fa7e0eeb5a184cefbcb86ff991084cf92c4124",
          "body": null,
          "is_bot": false,
          "headline": "Run lint/prettier on push to any branch, not just main (#25)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2024-11-05T20:28:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c4e224cec65c8f463943121f49699854f47aad3",
          "body": "* Update dependencies\r\n\r\nMinor code changes related to updated usage for commander package. Most\r\nother dependency updates are for dev dependencies. Add separate config\r\nfiles for eslint and prettier based on requirements for updated\r\npackages.\r\n\r\n* remove erroneous local reference from package-lock",
          "is_bot": false,
          "headline": "Update dependencies (#22)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2024-11-04T13:27:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4a8262fb69467b4763a786fcf49b96b604cc241",
          "body": null,
          "is_bot": false,
          "headline": "version bump",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-11-01T16:02:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae8acb7ba20d0ce94e97c9a5bbbdb184c1b593d0",
          "body": null,
          "is_bot": false,
          "headline": "switching error to log (#24)",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2024-11-01T16:00:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f499a86e692d951c20ad4bd819b9b47e80adc04",
          "body": null,
          "is_bot": false,
          "headline": "version bump",
          "author_name": "shaselton",
          "author_login": null,
          "committed_at": "2024-10-31T18:08:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac853eb04e8f5848b856e2480a7e1d4095ff59ea",
          "body": "Error message with invalid format type",
          "is_bot": false,
          "headline": "Merge pull request #23 from CMSgov/invalid-format-type",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2024-10-31T18:04:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b41ce9db8b54387fd4e79be1c7ae6a975c509a9",
          "body": null,
          "is_bot": false,
          "headline": "removing unused dependency",
          "author_name": "shaselton",
          "author_login": null,
          "committed_at": "2024-10-30T13:52:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca50ad1133feaed95e470bf15a899cea650542cf",
          "body": null,
          "is_bot": false,
          "headline": "formatting prettier",
          "author_name": "shaselton",
          "author_login": null,
          "committed_at": "2024-10-29T20:17:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f727f438ac31c02421902713cb4688ed44149b3",
          "body": "…dator",
          "is_bot": false,
          "headline": "consoling message when an invalid format type is passed into the vali…",
          "author_name": "shaselton",
          "author_login": null,
          "committed_at": "2024-10-29T20:14:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52f673fee57dbfde9261fc1b62f00b668cdf6186",
          "body": null,
          "is_bot": false,
          "headline": "minor version bump",
          "author_name": "shaselton",
          "author_login": null,
          "committed_at": "2024-10-03T20:23:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "912c678c04a9fd1a3f861f3035c281245fef7bfd",
          "body": "Close stream after validation to avoid exhausting memory",
          "is_bot": false,
          "headline": "Merge pull request #21 from CMSgov/close-stream-when-done",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2024-10-03T20:03:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4148bda5c2261c53d7ceed482b99ff46c167b8d1",
          "body": null,
          "is_bot": false,
          "headline": "close stream after validation to avoid exhausting memory",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2024-09-10T15:49:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e41ae3df40c28eeb7f149e93f73b51a279613ad",
          "body": null,
          "is_bot": false,
          "headline": "skipping over v1.0.13 due to out of sequence release",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2024-09-03T19:19:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe0fc963e188fc069fdf3f9c517dac4577b20bb1",
          "body": null,
          "is_bot": false,
          "headline": "patch version bump, get latest validator core (#20)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2024-09-03T19:17:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7236d5b36d332a84710d175b63885b9d1aedc2dd",
          "body": null,
          "is_bot": false,
          "headline": "pushing lock file",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-08-06T19:14:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c812c3ace06a6fc39d4175f06ce12ecf28376d08",
          "body": null,
          "is_bot": false,
          "headline": "version bump to grab the latest validator",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-08-06T19:10:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "93b221fb6c7ef203ecde2f638c8b5256737de16e",
          "body": null,
          "is_bot": false,
          "headline": "Update validator core to v1.7.1 (#12)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2024-07-19T18:20:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71288f332b5dcbef4d4fea4d33c682f8654edc2a",
          "body": null,
          "is_bot": false,
          "headline": "grabbing latest validator version. patch version bump",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-07-08T13:58:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "409cc7a7ac54d018d180a4e9139be727bd8f1767",
          "body": null,
          "is_bot": false,
          "headline": "Use validator 1.6.2 for next release (#11)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2024-06-29T14:12:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a17cd13fb7147460c0f3efc2a0235ecb708ceeb3",
          "body": null,
          "is_bot": false,
          "headline": "grabbing new validator version",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-06-24T13:16:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "69976b6806dce1ad807c6ae3a98c3c6e196831f1",
          "body": null,
          "is_bot": false,
          "headline": "pulling latest validator core",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-06-12T06:46:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "952bba913fbac258382a749fd30ca419d903f3c9",
          "body": null,
          "is_bot": false,
          "headline": "grabbing latest validator version",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-06-07T00:29:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4fa39f1d2b61da20a5e316ffd74505f6ab6e2bb4",
          "body": null,
          "is_bot": false,
          "headline": "version bump",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-05-30T23:33:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7b3188adc54eb8456ebed93c3cc0bc9a34f3615a",
          "body": null,
          "is_bot": false,
          "headline": "pulling down the new validator",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-05-21T18:28:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "34de9a99f9b25d0db6bfb7a158013d3ecbe3898c",
          "body": null,
          "is_bot": false,
          "headline": "version bump to grab the latest validator",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-04-17T21:24:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c44a961aa68dd214d05c06744bc6df6c53ea4001",
          "body": null,
          "is_bot": false,
          "headline": "version bump to grab the latest core validator",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-04-15T18:37:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10114327189142b3a96414de66dc1465c703fb5d",
          "body": null,
          "is_bot": false,
          "headline": "grabbing latest iteration of the core validator",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-04-15T17:25:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26a95c006323ce889f2e243fbd02cf4875c336c1",
          "body": null,
          "is_bot": false,
          "headline": "pulled down new dependencies and bumping the version",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-03-29T17:05:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3aac16f6338dc638fe1f8918c358c37cacfe3b5",
          "body": null,
          "is_bot": false,
          "headline": "version bump",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-03-26T18:33:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a01e74402b75214316bb73c3bbda836726ae4088",
          "body": null,
          "is_bot": false,
          "headline": "update validator dependency to rc4 (#7)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2024-03-26T18:31:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "158eec3094985af002425807132fc94882d88e23",
          "body": "* Add option for error limit\r\n\r\nDefault error limit is 1000. Having an error limit helps avoid cases\r\nwhere the user's system runs out of memory.\r\n\r\n* Update README.md\r\n\r\nAdding additional prereq documentation.\r\n\r\n* Update README.md\r\n\r\nIncluding 'limitation' language to account for error and memory limitations.\r\n\r\n---------\r\n\r\nCo-authored-by: scott haselton <shaselton.usds@gmail.com>",
          "is_bot": false,
          "headline": "Add option for error limit (#6)",
          "author_name": "Mint Thompson",
          "author_login": "mint-thompson",
          "committed_at": "2024-03-26T18:23:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db07c4069dcc41d71b53ab8f2dc957bae9e17fae",
          "body": null,
          "is_bot": false,
          "headline": "Update package.json",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2024-03-20T14:17:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "770575552d9c71d3ff1f88acf179aaeb9aee0ad3",
          "body": "Remove filename check",
          "is_bot": false,
          "headline": "Merge pull request #5 from CMSgov/remove-filename-check",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2024-03-20T14:15:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c441cb231f1c29f05369cb444a523e846dfe54bb",
          "body": null,
          "is_bot": false,
          "headline": "version bump",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-03-20T14:03:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "848d01494188029a5f6189b228c942fe6dab156a",
          "body": null,
          "is_bot": false,
          "headline": "removing filename check",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-03-20T14:02:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da9729182ccc52437840b82d10f6344ac99975d2",
          "body": null,
          "is_bot": false,
          "headline": "updating validator core and bumpping CLI version",
          "author_name": "shaselton-usds",
          "author_login": "shaselton-usds",
          "committed_at": "2024-03-14T22:12:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2d8622ace582150f21ec9e94ff56e84cfacf3a5",
          "body": "Update package.json",
          "is_bot": false,
          "headline": "Merge pull request #4 from CMSgov/shaselton-usds-patch-1",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2024-03-05T03:45:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3670941b3927200c3c0ee03c11b092cb9d528f4",
          "body": null,
          "is_bot": false,
          "headline": "Update package.json",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2024-03-05T03:43:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dccc2ce9820613ec43d6d7996cd6b531ac04c9aa",
          "body": "Cli update",
          "is_bot": false,
          "headline": "Merge pull request #3 from CMSgov/cli-update",
          "author_name": "scott haselton",
          "author_login": "shaselton-usds",
          "committed_at": "2024-03-05T03:35:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5673562d9390a98652c03c374f918e0ee4f7a476",
          "body": null,
          "is_bot": false,
          "headline": "package bump",
          "author_name": "Scott Haselton",
          "author_login": "shaselton",
          "committed_at": "2024-03-05T03:17:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "79f839963f90578615a41e97fb730ea9f06c8852",
          "body": null,
          "is_bot": false,
          "headline": "updating to the newest hpt-validator core",
          "author_name": "Scott Haselton",
          "author_login": "shaselton",
          "committed_at": "2024-03-04T23:42:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24f1055bd86dabdc08fab7995f572ee0acb620be",
          "body": null,
          "is_bot": false,
          "headline": "build(deps): update dependencies",
          "author_name": "Pat Sier",
          "author_login": "patsier-cms",
          "committed_at": "2023-11-21T16:15:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33669d1347ff251a18c1f8d3ce61dcb2e90ac6bb",
          "body": null,
          "is_bot": false,
          "headline": "feat: allow for specifying version",
          "author_name": "Pat Sier",
          "author_login": "patsier-cms",
          "committed_at": "2023-09-27T15:58:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "caff5dfbcf3eb3b61d5ae7ecafc9e4c636478348",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump version",
          "author_name": "Pat Sier",
          "author_login": "patsier-cms",
          "committed_at": "2023-08-22T18:05:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af03fc3a462d0ca5c6dc1af362187ea07ef75a0c",
          "body": null,
          "is_bot": false,
          "headline": "build(deps): update validator version",
          "author_name": "Pat Sier",
          "author_login": "patsier-cms",
          "committed_at": "2023-08-22T18:04:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "863eac3bab1b7326cc11035e349a477049fe3dd3",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump version",
          "author_name": "Pat Sier",
          "author_login": "patsier-cms",
          "committed_at": "2023-06-15T14:51:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f91778b3c16908cccd9cc780c1bb0ddf0adfb95d",
          "body": null,
          "is_bot": false,
          "headline": "docs: add repo docs",
          "author_name": "Pat Sier",
          "author_login": "patsier-cms",
          "committed_at": "2023-06-14T16:50:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a56fbf2e6ec453821d84f87e904592f27baa7abc",
          "body": null,
          "is_bot": false,
          "headline": "ci: add github actions workflow for publishing",
          "author_name": "Pat Sier",
          "author_login": "patsier-cms",
          "committed_at": "2023-06-12T20:55:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ac514688341ff2ac7581ae6fd97b69ca7320b68",
          "body": null,
          "is_bot": false,
          "headline": "ci: remove test step",
          "author_name": "Pat Sier",
          "author_login": "patsier-cms",
          "committed_at": "2023-06-08T16:30:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7df20bca8094245daa31b36c72f922e13051a3fc",
          "body": null,
          "is_bot": false,
          "headline": "build: make executable",
          "author_name": "Pat Sier",
          "author_login": "patsier-cms",
          "committed_at": "2023-06-08T16:27:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7182ab28c1dcaeb265127eae78ad0dcd9b8172ee",
          "body": null,
          "is_bot": false,
          "headline": "build(deps): update hpt-validator",
          "author_name": "Pat Sier",
          "author_login": "patsier-cms",
          "committed_at": "2023-06-08T15:37:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cca89e37a94f71ff2287beac87c2e35964927a2b",
          "body": null,
          "is_bot": false,
          "headline": "build: initial publish configuration",
          "author_name": "Pat Sier",
          "author_login": "patsier-cms",
          "committed_at": "2023-06-08T15:34:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "023ae81be32cfa9a6678ac9528b258978ac03c53",
          "body": null,
          "is_bot": false,
          "headline": "feat: initial commit",
          "author_name": "Pat Sier",
          "author_login": "patsier-cms",
          "committed_at": "2023-05-30T13:39:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 41,
      "commits_last_year": 11,
      "latest_release_at": "2026-06-02T17:53:10Z",
      "latest_release_tag": "v1.10.7",
      "releases_from_tags": false,
      "days_since_last_push": 58,
      "active_weeks_last_year": 7,
      "days_since_latest_release": 58,
      "mean_days_between_releases": 34.8
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": true,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@cmsgov/hpt-validator-cli",
          "exists": true,
          "license": "CC0-1.0",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@cmsgov/hpt-validator-cli",
          "is_deprecated": false,
          "latest_version": "1.10.7",
          "repository_url": "https://github.com/CMSgov/hpt-validator-cli",
          "versions_count": 10,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 59,
          "monthly_downloads": 6418,
          "first_published_at": "2025-07-24T19:26:07.203000Z",
          "latest_published_at": "2026-06-02T17:53:40.491000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 58
        }
      ]
    },
    "popularity": {
      "forks": 8,
      "stars": 10,
      "watchers": 9,
      "fork_history": {
        "days": [
          {
            "date": "2023-06-20",
            "count": 1
          },
          {
            "date": "2024-08-10",
            "count": 1
          },
          {
            "date": "2024-08-16",
            "count": 1
          },
          {
            "date": "2024-11-07",
            "count": 1
          },
          {
            "date": "2025-01-16",
            "count": 1
          },
          {
            "date": "2025-07-11",
            "count": 1
          },
          {
            "date": "2025-07-15",
            "count": 1
          },
          {
            "date": "2025-07-18",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 8,
        "total_forks": 8
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 4225,
      "source_files_sampled": 4,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 16,
        "malicious_count": 0,
        "assessed_package": "npm:@cmsgov/hpt-validator-cli@1.10.7",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@cmsgov/hpt-validator",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.5.0"
        },
        {
          "name": "chalk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.3.0"
        },
        {
          "name": "commander",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^12.1.0"
        },
        {
          "name": "semver",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.7.3"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@cmsgov/hpt-validator",
            "direct": true,
            "version": "2.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": true,
            "version": "5.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": true,
            "version": "12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": true,
            "version": "7.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "@cspotcode/source-map-support",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/eslint-utils",
            "direct": false,
            "version": "4.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint-community/regexpp",
            "direct": false,
            "version": "4.12.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-array",
            "direct": false,
            "version": "0.21.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/config-helpers",
            "direct": false,
            "version": "0.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/core",
            "direct": false,
            "version": "0.17.0",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/js",
            "direct": false,
            "version": "9.39.1",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/object-schema",
            "direct": false,
            "version": "2.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/plugin-kit",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/core",
            "direct": false,
            "version": "0.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanfs/node",
            "direct": false,
            "version": "0.16.7",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/module-importer",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/retry",
            "direct": false,
            "version": "0.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@pkgr/core",
            "direct": false,
            "version": "0.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "@streamparser/json",
            "direct": false,
            "version": "0.0.21",
            "ecosystem": "npm"
          },
          {
            "name": "@stylistic/eslint-plugin-js",
            "direct": false,
            "version": "2.13.0",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node10",
            "direct": false,
            "version": "1.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node12",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node14",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node16",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "20.19.25",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "24.10.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/papaparse",
            "direct": false,
            "version": "5.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/semver",
            "direct": false,
            "version": "7.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "8.48.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "8.48.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/project-service",
            "direct": false,
            "version": "8.48.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "8.48.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/tsconfig-utils",
            "direct": false,
            "version": "8.48.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "8.48.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "8.48.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "8.48.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "8.48.1",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "8.48.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "8.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.12.6",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.17.1",
            "ecosystem": "npm"
          },
          {
            "name": "ajv-formats",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "arg",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "create-require",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "9.39.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-prettier",
            "direct": false,
            "version": "9.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-prettier",
            "direct": false,
            "version": "5.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "8.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "4.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "esm",
            "direct": false,
            "version": "3.2.25",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "10.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-diff",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fast-uri",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "graphemer",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "7.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-buffer",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "keyv",
            "direct": false,
            "version": "4.5.4",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.21",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "make-error",
            "direct": false,
            "version": "1.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "9.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.4",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "papaparse",
            "direct": false,
            "version": "5.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "3.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "prettier-linter-helpers",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "synckit",
            "direct": false,
            "version": "0.11.11",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.15",
            "ecosystem": "npm"
          },
          {
            "name": "ts-api-utils",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ts-node",
            "direct": false,
            "version": "10.9.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "v8-compile-cache-lib",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "yn",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 147,
        "direct_count": 5,
        "indirect_count": 142
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 36,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 7,
        "closed_unmerged_prs": 11
      },
      "bus_factor": 2,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "shaselton-usds",
          "commits": 38,
          "avatar_url": "https://avatars.githubusercontent.com/u/22782064?v=4"
        },
        {
          "type": "User",
          "login": "mint-thompson",
          "commits": 21,
          "avatar_url": "https://avatars.githubusercontent.com/u/22081959?v=4"
        },
        {
          "type": "User",
          "login": "patsier-cms",
          "commits": 13,
          "avatar_url": "https://avatars.githubusercontent.com/u/129543325?v=4"
        },
        {
          "type": "User",
          "login": "shaselton",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/376437?v=4"
        },
        {
          "type": "User",
          "login": "daniel-eckel",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/164544954?v=4"
        },
        {
          "type": "User",
          "login": "madeleine-care-carta",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/220386807?v=4"
        }
      ],
      "contributors_sampled": 6,
      "top_contributor_share": 0.494
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": false,
      "ci_workflows": [
        "ci.yml",
        "publish.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [
        "eslint.config.mjs"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "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": 5,
            "reason": "12 out of 24 merged PRs checked by a CI test -- score normalized to 5",
            "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": 5,
            "reason": "Found 15/29 approved changesets -- score normalized to 5",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 3 contributing companies or organizations -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 9,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 2,
            "reason": "dependency not pinned by hash detected -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 3,
            "reason": "SAST tool is not run on all commits -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "20 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "fe9ce8e6cbe197dcd248a561c2c8cb9393602bdc",
        "ran_at": "2026-07-31T17:48:22Z",
        "aggregate_score": 4.1,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-28T13:24:27Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-06-02T17:51:08Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/CMSgov/hpt-validator-cli",
    "host": "github.com",
    "name": "hpt-validator-cli",
    "owner": "CMSgov"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 60,
      "inputs": {
        "security": 53,
        "vitality": 59,
        "community": 55,
        "governance": 76,
        "engineering": 50
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 59,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "at_risk",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 32,
            "inputs": {
              "commits_last_year": 11,
              "human_commit_share": 1,
              "days_since_last_push": 58,
              "active_weeks_last_year": 7
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 58 days ago",
                "points": 18,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 58
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "7/52 weeks with commits",
                "points": 4.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 7
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "11 commits in the last year",
                "points": 9.7,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 11
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "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": 41,
              "latest_release_tag": "v1.10.7",
              "releases_from_tags": false,
              "days_since_latest_release": 58,
              "mean_days_between_releases": 34.8
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "41 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 41
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 58 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 58
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~34.8 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 34.8
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 58,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 58 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 58
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 55,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 28,
            "inputs": {
              "forks": 8,
              "stars": 10,
              "watchers": 9,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "10 stars",
                "points": 15.5,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "8 forks",
                "points": 7,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 8
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "9 watchers",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 79,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": true,
              "has_code_of_conduct": false,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file present, not a recognized license",
                "points": 16.9,
                "status": "partial",
                "details": [
                  {
                    "code": "license_custom",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 7.2,
                "status": "met",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "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": 64,
            "inputs": {
              "packages": [
                "@cmsgov/hpt-validator-cli"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 6418
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "6,418 downloads/month across npm",
                "points": 50.8,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 6418,
                      "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": "good",
        "name": "Sustainability & Governance",
        "value": 76,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 6,
              "top_contributor_share": 0.494
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 49% of commits",
                "points": 11.4,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 49
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "6 contributors",
                "points": 8.1,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 3 contributing companies or organizations -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "merged_prs": 36,
              "open_issues": 0,
              "closed_issues": 7,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 11
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 46.8,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "36/47 decided PRs merged",
                "points": 29.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 36,
                      "decided": 47
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 15/29 approved changesets -- score normalized to 5",
                "points": 7.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "followers": 603,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "CMSgov",
              "public_repos": 218,
              "account_age_days": 4952
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "603 followers of CMSgov",
                "points": 20,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 603,
                      "login": "CMSgov"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "218 public repos, account ~13 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 218
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 13
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@cmsgov/hpt-validator-cli"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 58
            },
            "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 58 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 58
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "10 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "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": 50,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_ci": true,
              "has_tests": false,
              "has_editorconfig": false,
              "has_linter_config": true,
              "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": "eslint.config.mjs",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.mjs"
                    }
                  }
                ],
                "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": "12 out of 24 merged PRs checked by a CI test -- score normalized to 5",
                "points": 10,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 53,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 41,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 4.1
            },
            "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": "12 out of 24 merged PRs checked by a CI test -- score normalized to 5",
                "points": 1.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 15/29 approved changesets -- score normalized to 5",
                "points": 3.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 3 contributing companies or organizations -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "1 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow 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 2",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 3",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "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": "20 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@cmsgov/hpt-validator-cli@1.10.7 runtime dependency closure — what installing the published package pulls in — 16 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@cmsgov/hpt-validator-cli@1.10.7",
                  "assessed": 16
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 16,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 16,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 1
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 45,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 31,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.585,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "48 of 82 human commits state their intent (structured subject or explanatory body)",
                "points": 31.2,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 48,
                      "sampled": 82
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 34,
            "inputs": {
              "has_nix": false,
              "has_tests": false,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "tsconfig.json"
              ],
              "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": "eslint.config.mjs",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.mjs"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 82",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 82
                    }
                  }
                ],
                "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 2",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 4225,
              "source_files_sampled": 4,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/4 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 4,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-31T17:48:38.881711Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/c/CMSgov/hpt-validator-cli.svg",
  "full_name": "CMSgov/hpt-validator-cli",
  "license_state": "custom",
  "license_spdx": null
}

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

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

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistikennpm.