Öffentliches Register
Software-GesundheitsberichtSchema 0.27.0 · Metriken 1.13.0 · 2026-07-23 19:09 UTC

Dexter-DAO / dexter-vault-sdk

Canonical off-chain mirror of the dexter-vault Solana Anchor program. Instruction builders, message encoders, account decoders, precompile helpers, signer interfaces.

TypeScriptMIT★ 1 Stern⑂ 0 Forksseit Juni 2026Auf GitHub ansehen ↗

Dexter-DAO/dexter-vault-sdk erreicht einen Gesundheitsindex von 44 von 100 und liegt damit im Bereich Gefährdet. Am stärksten schneidet es bei Vitality (69/100) ab, am schwächsten bei Community & Adoption (33/100). Zuletzt vor 5 Tagen aktualisiert. Ein einzelner Mitwirkender trägt den Großteil der jüngsten Arbeit.

44
gesamt / 100
Gefährdet

Software-Gesundheitsindex

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

44
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

Dexter AIOrganisation
4 Follower13 öffentliche Reposseit Dez. 2025

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

Paket-Ökosysteme

RegistryPaketVersionDownloads / MonatVersionenZuletzt veröffentlichtTags
npm@dexterai/vault0.37.35.12255vor 5 Tagensolanadextervaultpasskeywebauthnswigsecp256r1ed25519otstabx402

Metriken nach Kategorie

Vitalität

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

69Mittel · 22 % des Gesamtindex
Wie die Bewertung erfolgt
36/36Push-Aktualität — letzter Push vor 5 Tagen
4.8/36Commit-Rhythmus — 7/52 Wochen mit Commits
18/18Commit-Volumen — 226 Commits im letzten Jahr
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Verwendete Eingangsdaten
commits_last_year226
human_commit_share1
days_since_last_push5
active_weeks_last_year7
Wie die Bewertung erfolgt
27/27Liefert Releases aus — 1 Releases veröffentlicht
36/36Release-Aktualität — letztes Release vor 35 Tagen
12.6/27Release-Rhythmus — Rhythmus unbekannt (nur ein Release)
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count1
latest_release_tagv0.10.0
releases_from_tagsnein
days_since_latest_release35
mean_days_between_releases
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?

33Gefährdet · 18 % des Gesamtindex
Wie die Bewertung erfolgt
0/60Stars — 1 Stars
0/25Forks — 0 Forks
0/15Watcher — 0 Watcher
Verwendete Eingangsdaten
forks0
stars1
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
22.5/22.5Lizenz — anerkannte Lizenz (MIT)
0/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingnein
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templatenein
Wie die Bewertung erfolgt
49.5/80Downloads pro Monat — 5.122 Downloads/Monat über npm
0/20Abhängige in der Registry — von diesem Ökosystem nicht ausgewiesen
Verwendete Eingangsdaten
packages@dexterai/vault
dependents
ecosystemsnpm
total_downloads
monthly_downloads5.122
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?

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

Paketpflege

100Exzellent
Wie die Bewertung erfolgt
25/25Veröffentlicht & auflösbar — 1 Paket(e) auf npm
35/35Veröffentlichungsaktualität — letzte Veröffentlichung vor 5 Tagen
20/20Versionshistorie — 55 veröffentlichte Versionen
20/20Nicht veraltet — aktiv, nicht veraltet oder zurückgezogen
Verwendete Eingangsdaten
packages@dexterai/vault
ecosystemsnpm
any_deprecatednein
min_days_since_publish5

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

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

Sicherheit

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

34Gefährdet · 16 % des Gesamtindex

Sicherheitslage

24Kritisch
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — keine Daten
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
0.8/2.5Contributors — project has 1 contributing companies or organizations -- score normalized to 3
0/10Dangerous-Workflow — keine Daten
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Lizenz — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
0/5Packaging — keine Daten
0/5Pinned-Dependencies — keine Daten
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — keine Daten
0/7.5Token-Permissions — keine Daten
5.2/7.5Vulnerabilities — 3 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated12
scorecard_versionv5.5.0
checks_inconclusive6
scorecard_aggregate2,4
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): ci_tests, dangerous_workflow, packaging, pinned_dependencies, signed_releases, token_permissions. 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
8.4/25Indirekte Abhängigkeiten ohne bekannte Advisories — 2 betroffen: bigint-buffer 1.1.5 (high 7.5), uuid 8.3.2 (high 7.5)
29.1/40Keine offenen Advisories — 2 Paket(e) mit Advisory seit über 90 Tagen unbehandelt; ältestes vor 475 Tagen veröffentlicht
Verwendete Eingangsdaten
sourceosv
advisories2
affected_packages2
assessed_packages111
unassessed_packages0
affected_by_severityhigh 2
direct_affected_packages0
Abgeglichen wurde die Laufzeit-Abhängigkeitshülle von npm:@dexterai/vault@0.37.3 — das, was die Installation des veröffentlichten Pakets nach sich zieht — mit 111 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.

60Mittel · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 85 von 100 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share0,85
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
0/11Lint-/Format-Konfiguration
11/11Statische Typprüfung — tsconfig.json
10/10Reproduzierbare Umgebung — lockfile
10/10Belegte Agentenpraxis — 73 der letzten 100 Commits von Agenten verfasst oder ihnen zugeschrieben
0/8Automatisierte Wartung — keine automatisierten Abhängigkeits-Updates beobachtet
0/10OpenSSF Scorecard: Pinned-Dependencies — keine Daten
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfilespackage-lock.json
has_dockerfilenein
typed_languageja
bootstrap_files
has_devcontainernein
has_linter_confignein
typecheck_configstsconfig.json
agent_commit_share0,73
toolchain_manifests
dependency_bot_commit_share0
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: Pinned-Dependencies. Die verbleibenden Gewichte wurden renormalisiert.
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — TypeScript (statisch typisiert)
55/55Handhabbare Dateigrößen — 0/165 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageTypeScript
largest_source_bytes38.328
source_files_sampled165
oversized_source_files0

Eckdaten

1GitHub-Sterne
1Mitwirkende
226Commits, letzte 12 Monate
5Tage seit letztem Push
1Releases
1Bus-Faktor
0offene Issues
npmPaket-Ökosysteme

Warnungen zur Datenerhebung

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

Weitere Details

OpenSSF Scorecard 2.4 / 10
2.4Gesamtwert

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

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
k. A.CI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
3Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
k. A.Dangerous-Workflowno workflows found
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
k. A.Packagingpackaging workflow not detected
k. A.Pinned-Dependenciesno dependencies found
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
k. A.Signed-Releasesno releases found
k. A.Token-PermissionsNo tokens found
7Vulnerabilities3 existing vulnerabilities detected
Direkte Abhängigkeiten 10
RegistryPaketVersionsvorgabeManifest
npm@noble/curves^1.9.7package.json
npm@noble/hashes^1.8.0package.json
npm@solana-program/token^0.5.1package.json
npm@solana/kit^2.3.0package.json
npm@solana/spl-token^0.4.9package.json
npm@solana/web3.js^1.98.0package.json
npm@swig-wallet/kit^1.9.0package.json
npm@swig-wallet/lib^1.9.0package.json
npmbs58^6.0.0package.json
npmtweetnacl^1.0.3package.json
Alle Abhängigkeiten 317

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

RegistryPaketVersionBeziehung
npm@noble/curves1.9.7direkt
npm@noble/hashes1.8.0direkt
npm@solana-program/token0.5.1direkt
npm@solana/kit2.3.0direkt
npm@solana/spl-token0.4.14direkt
npm@solana/web3.js1.98.4direkt
npm@swig-wallet/kit1.9.1direkt
npm@swig-wallet/lib1.9.1direkt
npmbs584.0.1direkt
npmbs586.0.0direkt
npmtweetnacl1.0.3direkt
npm@asamuzakjp/css-color5.1.11indirekt
npm@asamuzakjp/dom-selector7.1.1indirekt
npm@asamuzakjp/generational-cache1.0.1indirekt
npm@asamuzakjp/nwsapi2.3.9indirekt
npm@babel/runtime7.29.7indirekt
npm@bramus/specificity2.4.2indirekt
npm@csstools/color-helpers6.0.2indirekt
npm@csstools/css-calc3.2.1indirekt
npm@csstools/css-color-parser4.1.7indirekt
npm@csstools/css-parser-algorithms4.0.0indirekt
npm@csstools/css-syntax-patches-for-csstree1.1.5indirekt
npm@csstools/css-tokenizer4.0.0indirekt
npm@emnapi/core1.10.0indirekt
npm@emnapi/runtime1.10.0indirekt
npm@emnapi/wasi-threads1.2.1indirekt
npm@esbuild/aix-ppc640.27.7indirekt
npm@esbuild/android-arm0.27.7indirekt
npm@esbuild/android-arm640.27.7indirekt
npm@esbuild/android-x640.27.7indirekt
npm@esbuild/darwin-arm640.27.7indirekt
npm@esbuild/darwin-x640.27.7indirekt
npm@esbuild/freebsd-arm640.27.7indirekt
npm@esbuild/freebsd-x640.27.7indirekt
npm@esbuild/linux-arm0.27.7indirekt
npm@esbuild/linux-arm640.27.7indirekt
npm@esbuild/linux-ia320.27.7indirekt
npm@esbuild/linux-loong640.27.7indirekt
npm@esbuild/linux-mips64el0.27.7indirekt
npm@esbuild/linux-ppc640.27.7indirekt
npm@esbuild/linux-riscv640.27.7indirekt
npm@esbuild/linux-s390x0.27.7indirekt
npm@esbuild/linux-x640.27.7indirekt
npm@esbuild/netbsd-arm640.27.7indirekt
npm@esbuild/netbsd-x640.27.7indirekt
npm@esbuild/openbsd-arm640.27.7indirekt
npm@esbuild/openbsd-x640.27.7indirekt
npm@esbuild/openharmony-arm640.27.7indirekt
npm@esbuild/sunos-x640.27.7indirekt
npm@esbuild/win32-arm640.27.7indirekt
npm@esbuild/win32-ia320.27.7indirekt
npm@esbuild/win32-x640.27.7indirekt
npm@exodus/bytes1.15.1indirekt
npm@jridgewell/gen-mapping0.3.13indirekt
npm@jridgewell/resolve-uri3.1.2indirekt
npm@jridgewell/sourcemap-codec1.5.5indirekt
npm@jridgewell/trace-mapping0.3.31indirekt
npm@napi-rs/wasm-runtime1.1.4indirekt
npm@oxc-project/types0.133.0indirekt
npm@rolldown/binding-android-arm641.0.3indirekt
npm@rolldown/binding-darwin-arm641.0.3indirekt
npm@rolldown/binding-darwin-x641.0.3indirekt
npm@rolldown/binding-freebsd-x641.0.3indirekt
npm@rolldown/binding-linux-arm-gnueabihf1.0.3indirekt
npm@rolldown/binding-linux-arm64-gnu1.0.3indirekt
npm@rolldown/binding-linux-arm64-musl1.0.3indirekt
npm@rolldown/binding-linux-ppc64-gnu1.0.3indirekt
npm@rolldown/binding-linux-s390x-gnu1.0.3indirekt
npm@rolldown/binding-linux-x64-gnu1.0.3indirekt
npm@rolldown/binding-linux-x64-musl1.0.3indirekt
npm@rolldown/binding-openharmony-arm641.0.3indirekt
npm@rolldown/binding-wasm32-wasi1.0.3indirekt
npm@rolldown/binding-win32-arm64-msvc1.0.3indirekt
npm@rolldown/binding-win32-x64-msvc1.0.3indirekt
npm@rolldown/pluginutils1.0.1indirekt
npm@rollup/rollup-android-arm-eabi4.61.0indirekt
npm@rollup/rollup-android-arm644.61.0indirekt
npm@rollup/rollup-darwin-arm644.61.0indirekt
npm@rollup/rollup-darwin-x644.61.0indirekt
npm@rollup/rollup-freebsd-arm644.61.0indirekt
npm@rollup/rollup-freebsd-x644.61.0indirekt
npm@rollup/rollup-linux-arm-gnueabihf4.61.0indirekt
npm@rollup/rollup-linux-arm-musleabihf4.61.0indirekt
npm@rollup/rollup-linux-arm64-gnu4.61.0indirekt
npm@rollup/rollup-linux-arm64-musl4.61.0indirekt
npm@rollup/rollup-linux-loong64-gnu4.61.0indirekt
npm@rollup/rollup-linux-loong64-musl4.61.0indirekt
npm@rollup/rollup-linux-ppc64-gnu4.61.0indirekt
npm@rollup/rollup-linux-ppc64-musl4.61.0indirekt
npm@rollup/rollup-linux-riscv64-gnu4.61.0indirekt
npm@rollup/rollup-linux-riscv64-musl4.61.0indirekt
npm@rollup/rollup-linux-s390x-gnu4.61.0indirekt
npm@rollup/rollup-linux-x64-gnu4.61.0indirekt
npm@rollup/rollup-linux-x64-musl4.61.0indirekt
npm@rollup/rollup-openbsd-x644.61.0indirekt
npm@rollup/rollup-openharmony-arm644.61.0indirekt
npm@rollup/rollup-win32-arm64-msvc4.61.0indirekt
npm@rollup/rollup-win32-ia32-msvc4.61.0indirekt
npm@rollup/rollup-win32-x64-gnu4.61.0indirekt
npm@rollup/rollup-win32-x64-msvc4.61.0indirekt
npm@solana/accounts2.3.0indirekt
npm@solana/addresses2.3.0indirekt
npm@solana/assertions2.3.0indirekt
npm@solana/buffer-layout4.0.1indirekt
npm@solana/buffer-layout-utils0.2.0indirekt
npm@solana/codecs2.0.0-rc.1indirekt
npm@solana/codecs2.3.0indirekt
npm@solana/codecs-core2.0.0-rc.1indirekt
npm@solana/codecs-core2.3.0indirekt
npm@solana/codecs-data-structures2.0.0-rc.1indirekt
npm@solana/codecs-data-structures2.3.0indirekt
npm@solana/codecs-numbers2.0.0-rc.1indirekt
npm@solana/codecs-numbers2.3.0indirekt
npm@solana/codecs-strings2.0.0-rc.1indirekt
npm@solana/codecs-strings2.3.0indirekt
npm@solana/errors2.0.0-rc.1indirekt
npm@solana/errors2.3.0indirekt
npm@solana/fast-stable-stringify2.3.0indirekt
npm@solana/functional2.3.0indirekt
npm@solana/instructions2.3.0indirekt
npm@solana/keys2.3.0indirekt
npm@solana/nominal-types2.3.0indirekt
npm@solana/options2.0.0-rc.1indirekt
npm@solana/options2.3.0indirekt
npm@solana/programs2.3.0indirekt
npm@solana/promises2.3.0indirekt
npm@solana/rpc2.3.0indirekt
npm@solana/rpc-api2.3.0indirekt
npm@solana/rpc-parsed-types2.3.0indirekt
npm@solana/rpc-spec2.3.0indirekt
npm@solana/rpc-spec-types2.3.0indirekt
npm@solana/rpc-subscriptions2.3.0indirekt
npm@solana/rpc-subscriptions-api2.3.0indirekt
npm@solana/rpc-subscriptions-channel-websocket2.3.0indirekt
npm@solana/rpc-subscriptions-spec2.3.0indirekt
npm@solana/rpc-transformers2.3.0indirekt
npm@solana/rpc-transport-http2.3.0indirekt
npm@solana/rpc-types2.3.0indirekt
npm@solana/signers2.3.0indirekt
npm@solana/spl-token-group0.0.7indirekt
npm@solana/spl-token-metadata0.1.6indirekt
npm@solana/subscribable2.3.0indirekt
npm@solana/sysvars2.3.0indirekt
npm@solana/transaction-confirmation2.3.0indirekt
npm@solana/transaction-messages2.3.0indirekt
npm@solana/transactions2.3.0indirekt
npm@standard-schema/spec1.1.0indirekt
npm@swc/helpers0.5.23indirekt
npm@swig-wallet/coder1.9.1indirekt
npm@tybys/wasm-util0.10.2indirekt
npm@types/chai5.2.3indirekt
npm@types/connect3.4.38indirekt
npm@types/deep-eql4.0.2indirekt
npm@types/estree1.0.9indirekt
npm@types/jsdom28.0.3indirekt
npm@types/node12.20.55indirekt
npm@types/node22.19.19indirekt
npm@types/tough-cookie4.0.5indirekt
npm@types/uuid10.0.0indirekt
npm@types/ws7.4.7indirekt
npm@types/ws8.18.1indirekt
npm@vitest/expect4.1.8indirekt
npm@vitest/mocker4.1.8indirekt
npm@vitest/pretty-format4.1.8indirekt
npm@vitest/runner4.1.8indirekt
npm@vitest/snapshot4.1.8indirekt
npm@vitest/spy4.1.8indirekt
npm@vitest/utils4.1.8indirekt
npmacorn8.16.0indirekt
npmagentkeepalive4.6.0indirekt
npmany-promise1.3.0indirekt
npmassertion-error2.0.1indirekt
npmbase-x3.0.11indirekt
npmbase-x5.0.1indirekt
npmbase64-js1.5.1indirekt
npmbidi-js1.0.3indirekt
npmbigint-buffer1.1.5indirekt
npmbignumber.js9.3.1indirekt
npmbindings1.5.0indirekt
npmbn.js5.2.3indirekt
npmborsh0.7.0indirekt
npmbuffer6.0.3indirekt
npmbufferutil4.1.0indirekt
npmbundle-require5.1.0indirekt
npmcac6.7.14indirekt
npmchai6.2.2indirekt
npmchalk5.6.2indirekt
npmchokidar4.0.3indirekt
npmcommander12.1.0indirekt
npmcommander14.0.3indirekt
npmcommander2.20.3indirekt
npmcommander4.1.1indirekt
npmconfbox0.1.8indirekt
npmconsola3.4.2indirekt
npmconvert-source-map2.0.0indirekt
npmcss-tree3.2.1indirekt
npmdata-urls7.0.0indirekt
npmdebug4.4.3indirekt
npmdecimal.js10.6.0indirekt
npmdelay5.0.0indirekt
npmdetect-libc2.1.2indirekt
npmentities8.0.0indirekt
npmes-module-lexer2.1.0indirekt
npmes6-promise4.2.8indirekt
npmes6-promisify5.0.0indirekt
npmesbuild0.27.7indirekt
npmestree-walker3.0.3indirekt
npmeventemitter35.0.4indirekt
npmexpect-type1.3.0indirekt
npmeyes0.1.8indirekt
npmfast-stable-stringify1.0.0indirekt
npmfastestsmallesttextencoderdecoder1.0.22indirekt
npmfdir6.5.0indirekt
npmfile-uri-to-path1.0.0indirekt
npmfix-dts-default-cjs-exports1.0.1indirekt
npmfsevents2.3.3indirekt
npmhtml-encoding-sniffer6.0.0indirekt
npmhumanize-ms1.2.1indirekt
npmieee7541.2.1indirekt
npmis-potential-custom-element-name1.0.1indirekt
npmisomorphic-ws4.0.1indirekt
npmjayson4.3.0indirekt
npmjoycon3.1.1indirekt
npmjsdom29.1.1indirekt
npmjson-stringify-safe5.0.1indirekt
npmlightningcss1.32.0indirekt
npmlightningcss-android-arm641.32.0indirekt
npmlightningcss-darwin-arm641.32.0indirekt
npmlightningcss-darwin-x641.32.0indirekt
npmlightningcss-freebsd-x641.32.0indirekt
npmlightningcss-linux-arm-gnueabihf1.32.0indirekt
npmlightningcss-linux-arm64-gnu1.32.0indirekt
npmlightningcss-linux-arm64-musl1.32.0indirekt
npmlightningcss-linux-x64-gnu1.32.0indirekt
npmlightningcss-linux-x64-musl1.32.0indirekt
npmlightningcss-win32-arm64-msvc1.32.0indirekt
npmlightningcss-win32-x64-msvc1.32.0indirekt
npmlilconfig3.1.3indirekt
npmlines-and-columns1.2.4indirekt
npmload-tsconfig0.2.5indirekt
npmlru-cache11.5.1indirekt
npmmagic-string0.30.21indirekt
npmmdn-data2.27.1indirekt
npmmlly1.8.2indirekt
npmms2.1.3indirekt
npmmz2.7.0indirekt
npmnanoid3.3.12indirekt
npmnode-fetch2.7.0indirekt
npmnode-gyp-build4.8.4indirekt
npmobject-assign4.1.1indirekt
npmobug2.1.2indirekt
npmparse58.0.1indirekt
npmpathe2.0.3indirekt
npmpicocolors1.1.1indirekt
npmpicomatch4.0.4indirekt
npmpirates4.0.7indirekt
npmpkg-types1.3.1indirekt
npmpostcss8.5.15indirekt
npmpostcss-load-config6.0.1indirekt
npmpunycode2.3.1indirekt
npmreaddirp4.1.2indirekt
npmrequire-from-string2.0.2indirekt
npmresolve-from5.0.0indirekt
npmrolldown1.0.3indirekt
npmrollup4.61.0indirekt
npmrpc-websockets9.3.9indirekt
npmsafe-buffer5.2.1indirekt
npmsaxes6.0.0indirekt
npmsiginfo2.0.0indirekt
npmsource-map0.7.6indirekt
npmsource-map-js1.2.1indirekt
npmstackback0.0.2indirekt
npmstd-env4.1.0indirekt
npmstream-chain2.2.5indirekt
npmstream-json1.9.1indirekt
npmsucrase3.35.1indirekt
npmsuperstruct2.0.2indirekt
npmsymbol-tree3.2.4indirekt
npmtext-encoding-utf-81.0.2indirekt
npmthenify3.3.1indirekt
npmthenify-all1.6.0indirekt
npmtinybench2.9.0indirekt
npmtinyexec0.3.2indirekt
npmtinyexec1.2.4indirekt
npmtinyglobby0.2.17indirekt
npmtinyrainbow3.1.0indirekt
npmtldts7.4.3indirekt
npmtldts-core7.4.3indirekt
npmtough-cookie6.0.1indirekt
npmtr460.0.3indirekt
npmtr466.0.0indirekt
npmtree-kill1.2.2indirekt
npmts-interface-checker0.1.13indirekt
npmtslib2.8.1indirekt
npmtsup8.5.1indirekt
npmtypescript5.9.3indirekt
npmufo1.6.4indirekt
npmundici7.28.0indirekt
npmundici-types6.21.0indirekt
npmundici-types7.27.0indirekt
npmutf-8-validate5.0.10indirekt
npmutf-8-validate6.0.6indirekt
npmuuid14.0.0indirekt
npmuuid8.3.2indirekt
npmvite8.0.16indirekt
npmvitest4.1.8indirekt
npmw3c-xmlserializer5.0.0indirekt
npmwebidl-conversions3.0.1indirekt
npmwebidl-conversions8.0.1indirekt
npmwhatwg-mimetype5.0.0indirekt
npmwhatwg-url16.0.1indirekt
npmwhatwg-url5.0.0indirekt
npmwhy-is-node-running2.3.0indirekt
npmws7.5.11indirekt
npmws8.21.0indirekt
npmxml-name-validator5.0.0indirekt
npmxmlchars2.2.0indirekt
Abhängigkeits-Advisories 2

Die Installation von npm:@dexterai/vault@0.37.3 zieht 111 Pakete nach sich, direkt und transitiv: 2 tragen bekannte Advisories, davon 0 direkte Abhängigkeiten.

PaketVersionBeziehungSchweregradAdvisoriesBehoben in
bigint-buffer1.1.5indirekthoch1
uuid8.3.2indirekthoch113.0.1

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": 1545,
      "has_wiki": true,
      "homepage": "https://dexter.cash",
      "languages": {
        "Shell": 2921,
        "JavaScript": 54958,
        "TypeScript": 839062
      },
      "pushed_at": "2026-07-18T11:38:50Z",
      "created_at": "2026-06-03T20:02:16Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-18T11:38:55Z",
      "description": "Canonical off-chain mirror of the dexter-vault Solana Anchor program. Instruction builders, message encoders, account decoders, precompile helpers, signer interfaces.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://dexter.cash",
      "name": "Dexter AI",
      "type": "Organization",
      "login": "Dexter-DAO",
      "company": null,
      "location": "Solana",
      "followers": 4,
      "avatar_url": "https://avatars.githubusercontent.com/u/251671417?v=4",
      "created_at": "2025-12-27T01:56:55Z",
      "is_verified": null,
      "public_repos": 13,
      "account_age_days": 208
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.10.0",
          "kind": "minor",
          "published_at": "2026-06-17T20:13:08Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "6d2ccfbc19725b88d061aff0ecf0ab4c57c4c406",
          "body": null,
          "is_bot": false,
          "headline": "0.37.3",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:38:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8eea5a1610c0f0e21761bf40ebed66a89bac69ea",
          "body": "…t messages barrel\n\nSurfaces rebuild + verify the intent bytes client-side before the passkey\nsigns; importing via instructions/ dragged swig kit into browser bundles.\ninstructions/ re-exports for back-compat.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "refactor(messages): swap op-message builder moves to the browser-ligh…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:38:26Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b41be6b14e4d043d093f25e5c8cf32a28c470000",
          "body": "…the SDK fail loudly\n\nScans every consumer repo for op-message tags, PDA seeds, and discriminator\nderivations outside the SDK; reviewed exceptions live in the allowlist with\ntracked TODOs (facilitator credit-root discs, x402-sdk session domain). First\nrun caught 2 real cases (both fixed same-day) an\n[…]\n\ndexter-fe/operationMessages.ts can no longer hide. npm run audit:drift.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "feat(audit): byte-drift auditor — protocol bytes hand-rolled outside …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:24:07Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1e8dc91f22587d178e52f8e18b088798d97b10a7",
          "body": null,
          "is_bot": false,
          "headline": "0.37.2",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:17:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2cf3826838d28efbca82c81a8e875c5ca7dbd61b",
          "body": "…al, force-release, claim challenge, prove-passkey\n\nBypass-drift kill (Rule 7): dexter-fe/app/lib/vault/operationMessages.ts\nreimplemented protocol bytes the SDK must own. Byte-parity tested; the FE\nmigrates to these and deletes its copy.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "feat(messages): absorb dexter-fe's hand-rolled op messages — withdraw…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:17:46Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f98dc190459687b06896d8876fb8d75b8bb1bbe4",
          "body": null,
          "is_bot": false,
          "headline": "0.37.1",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:04:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d991e9dc728973c5d994e54e09be069fa57eaa8",
          "body": "…e for the swap bracket\n\nThe facilitator's numeric role allowlist cannot cover the swap role (marker-\nmatched, variable index across the backfilled fleet). This gate allows co-sign\nONLY for the exact bracket shape (all swig ops SignV2, swap_for_carry+finish_swap\npresent, program-mirroring adjacency)\n[…]\n(vault, swap_for_carry) authority. Fails\nclosed on any resolution error.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "feat(swap-leg): isCarrySwapCoSignSafe — marker-verified fee-payer gat…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T11:04:43Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9fe4ea986bea9ab07b0663799477baa98d3f5f81",
          "body": "…nst the shipped IDL\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "chore(exports): expose ./idl subpath — consumers can pin layouts agai…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T10:45:06Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e6c08e7a25cfa1f981a69aa4a029c3c3bc37ca0e",
          "body": null,
          "is_bot": false,
          "headline": "0.37.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T10:31:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "58983fce7dd1ba2dfc609e027cdceb77206ebbdd",
          "body": "…ctions, role-9 SignV2 wrap\n\nSDK-owned assembly for the carry swap bracket (mirrors finalizeBundle for\nwithdrawals): 111-byte passkey op message (challenge = sha256(op_msg)),\nswap_for_carry/finish_swap instructions byte-parity-tested against the deployed\nIDL, and the Swig SignV2 wrap that resolves r\n[…]\np_role_not_enrolled failure. Landmines from GATE-1 documented in-module.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "feat(swap-leg): swapForCarry builders — op message, byte-exact instru…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T10:31:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "5d9eb6b2bad3b862a11fe38ec8c0c305e3762f43",
          "body": null,
          "is_bot": false,
          "headline": "0.36.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T08:48:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "739e37ae466054f4ede8e904e5522a9687ffccb8",
          "body": "… adds swap_for_carry/finish_swap (v6 byte-parity green)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FteCDwNEhMYCr4FtT78fBG",
          "is_bot": false,
          "headline": "fix(idl): refresh dexter_vault.json from the deployed 1d6e752 build —…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T08:48:26Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "fdd52d7dd3c0cae3bb479fdbea611fc7d353f6c0",
          "body": "…(Rule 7 / GATE-1)\n\nThe on-chain set_swig_atomic added role 9 for the carry swap leg; this SDK\nbirth path (buildSwigCreationBundle) is the OTHER path used on mainnet and had\nNOT been bumped, so SDK-born vaults would silently revert on carry-swap\n(fail-closed, no custody risk — but a launch blocker).\n[…]\ny to enroll role 9 on existing vaults before\nthe swap service goes live.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Pn4MfGNNA9nUj76k3VQH2Z",
          "is_bot": false,
          "headline": "feat(swig): role 9 — ProgramExec(swap_for_carry) in the birth bundle …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-18T00:38:42Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "42b31a4239b65a14ff5c6b10f6f4175203123a6f",
          "body": null,
          "is_bot": false,
          "headline": "0.35.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-07T00:49:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "307d879cbe7482b0cff3598006a1964d1b1f0ef7",
          "body": "…e (K-T2a)\n\nWalk the K-T1 #77 Option<Pubkey> tail with the existing moving cursor:\nlegacy 191-byte claims read the tag from guaranteed-zero allocation\npadding → null (the fork proof — never over-read, never a phantom key);\nnew 224-byte claims → the seed-proven seller as base58. Byte-level\nfixtures h\n[…]\nwith NO dataSize gPA filter, so both generations flow through unchanged.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_011eEBpshD2YPvJNR8VEJm5i",
          "is_bot": false,
          "headline": "feat(reader): LockedClaim allowed_counterparty tail — dual-size decod…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-07T00:47:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8227a83cb59cf1c208c7422deded99a869aa6fb4",
          "body": "… @159..167 (K-T2a)\n\nDecode the K-T1 #77 field carved from the reserved head (total 221\nunchanged), plus effectiveMaxSellerAtRiskAtomic — the ONE place the\n0-means-unset → MAX_SELLER_AT_RISK_DEFAULT (10_000 = $0.01 penny)\nsubstitution lives, so every consumer inherits identical semantics.\nExports MA\n[…]\ncount 0xFF and carves only 157..167 so any\nfuture field shuffle screams.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_011eEBpshD2YPvJNR8VEJm5i",
          "is_bot": false,
          "headline": "feat(reader): GraphConfig penny-lock knob — max_seller_at_risk_atomic…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-07T00:47:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "be307ad4cdce9e24b8aca840dd1f363cc579834b",
          "body": "… that let a red tsc ship silently\n\nRoot cause of the TS2532 surviving multiple sessions: neither the build (tsup/esbuild strips types without checking) nor the tests (vitest transpiles per-file) run tsc, and prepublishOnly was build+test only. A type error in a .test.ts passed every automated gate. Now no publish proceeds on a red typecheck.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Exzn8FNgc1EKnjFdsXKdJU",
          "is_bot": false,
          "headline": "chore(gate): typecheck runs in prepublishOnly — closes the blind spot…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-06T03:48:56Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b600aed24bf5bf72d15c51b90f10c02f8694eb5a",
          "body": null,
          "is_bot": false,
          "headline": "0.34.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-06T03:47:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f5a763c5c7842f3547f23c47ad7bacd2ab141e4f",
          "body": "…typecheck red\n\nPre-existing red from 1d7288a (events.test.ts:87); tsc --noEmit now clean.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Exzn8FNgc1EKnjFdsXKdJU",
          "is_bot": false,
          "headline": "fix(credit): narrow evs[0] after length assertion — kills the TS2532 …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-06T03:47:07Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "35bc75182a45d7d1f1f738ea344fac63fc9ac1e8",
          "body": "…en-register (K-T4a)\n\nThe shared primitive for the §6a guard migration: every caller that today\nsilently re-registers over a LIVE session must compose\n[secp(revoke), revoke_session_key, secp(register), register_session_key]\nin ONE transaction. fetches the session PDA; live → requires a\nrevokeCeremon\n[…]\n.\nOn-chain proof: dexter-vault tests/revoke-then-register-atomic.e2e.ts.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Exzn8FNgc1EKnjFdsXKdJU",
          "is_bot": false,
          "headline": "feat(session): composeRevokeThenRegister — atomic single-tx revoke-th…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-06T03:31:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1d7288ac8a09ddd132615e55179e67bdece2b948",
          "body": "…r + V7 register node account\n\n- src/credit/events.ts: hand-decoded (no Anchor runtime) event-CPI decoder\n  for CreditRepaid / CollateralSeized / PositionLiquidated / CreditDrawn,\n  discriminators pinned from the IDL, layout drift fails loudly. V7 makes\n  CreditRepaid.{principal_paid,interest_paid,t\n[…]\n- byte-parity tests: node appended last / data unchanged / omitted = V6.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FKB3LscG6HjsxMpJkT5p4c",
          "is_bot": false,
          "headline": "feat(spread): SDK owns the settlement-event ABI — spread-event decode…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-04T03:57:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6f45326971071984c01de42031721fdb9380f995",
          "body": "…r bound)\n\nA settlement built within the 2s sysvar margin of a clock-advancing touch\n(draw / reprice / settle) quoted BEFORE the node's accrual clock and\nreverted AccrualTsInvalid — the fork carry test hit exactly this (repay\nimmediately after a draw). accrualTsFor() = max(chain quote, last_accrual)\n[…]\nredit + seizeCollateral; exported for keepers that quote\ntheir own legs.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FKB3LscG6HjsxMpJkT5p4c",
          "is_bot": false,
          "headline": "fix(spread): floor the accrual_ts quote at node.last_accrual (D6 lowe…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-04T03:37:37Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1f5a2de0efc03fecae7d4c1688d84f58cf8dc26a",
          "body": "…BlockTime\n\ngetBlockTime's corrected bank timestamps can run AHEAD of the executing\nbank's clock sysvar — the program's accrual_ts <= now check then rejects the\nquote as future-dated (AccrualTsInvalid; observed live on the fork). The 2s\nmargin costs nothing: un-quoted seconds accrue at the next touch.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0194vgshTc7K1iiQcteDr3Ft",
          "is_bot": false,
          "headline": "fix(spread): quote accrual_ts from the CLOCK SYSVAR minus 2s, not get…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-04T03:10:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ba2bb255a4f16f39efda3164a184ef4b84ac635b",
          "body": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0194vgshTc7K1iiQcteDr3Ft",
          "is_bot": false,
          "headline": "chore: 0.33.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-04T02:48:20Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "70721c7dea64dbb562837d820a8fab89955b5d35",
          "body": "…nt legs\n\n- credit/accrual.ts: BigInt mirror of the on-chain formula (interestDue,\n  totalInterestAt, treasuryCut, quoteRepay/quotePayoff/quoteSeize) + parity\n  tests pinned to accrual.rs's unit-test constants.\n- instructions: repay_credit/seize_collateral encode accrual_ts (i64);\n  create_node enco\n[…]\nerved-tail carve).\n- IDL refreshed from the spread-engine program build.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0194vgshTc7K1iiQcteDr3Ft",
          "is_bot": false,
          "headline": "feat(spread): 0.33.0 — accrual math, accrual_ts args, quoted settleme…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-04T02:48:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "57767eb3763cc3a7df2063e70ac972ee71dc2450",
          "body": "…d pair\n\nThe passkey verifier pins the secp256r1 precompile at finalize−1 (fork-proven:\nan ATA-create between precompile and finalize fails PasskeyVerificationFailed),\nso the ATA-create cannot ride inside the same list as [finalize, SignV2].\nContract: [CB, ...preInstructions, precompileIx, ...instructions].\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Xsi6v1PEYdR37CVTeeddvK",
          "is_bot": false,
          "headline": "fix(withdraw): bundle splits preInstructions from the adjacency-locke…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-03T22:22:17Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ef10606bd4cb8ff1e78ee96d1c278c2f5b279623",
          "body": "… SDK owns the production finalize bytes (0.32.0)\n\nThe bundle is the ONE assembly of the finalize tail: [createDestAta?],\nfinalize_withdrawal, SignV2(net → user ATA, fee → treasury ATA), fee and\ntreasury read from GraphConfig on-chain (never a local constant). ATA-create\nordered BEFORE the vault ix \n[…]\ned (migrate_graph_config_v2,\nset_withdrawal_fee, GraphConfig V2 fields).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Xsi6v1PEYdR37CVTeeddvK",
          "is_bot": false,
          "headline": "feat(withdraw): buildFinalizeWithdrawBundle + GraphConfig V2 reader —…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-03T21:49:54Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "591462d082e89b437444446d4542a6f1d54cd5c3",
          "body": "…UIRED, $1000 default deleted\n\nbuildSwigCreationBundle, buildSetSwigAtomicInstruction, and\nbuildSetSwigAtomicFromIdentity now REQUIRE the user-authored role-2\nallowance (atomic USDC) and session TTL. Zero/omitted throws — the\nDEFAULT_SPEND_LIMIT_ATOMIC / DEFAULT_SESSION_TTL_SECONDS copies are\nDELETE\n[…]\n\n460 tests green incl. new fail-closed cases + byte-parity tail asserts.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Ehj8WG1ZZgkpHhYhLZBWdn",
          "is_bot": false,
          "headline": "feat(spend-policy): 0.31.0 — spendLimitAtomic + sessionTtlSeconds REQ…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-02T19:30:17Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a82b97e9a0563d866e58977d3117bed6309c254c",
          "body": "…c (0.30.0)\n\nReconciles the SDK builders with the dexter-vault program's money-leg-binding upgrade.\n\n- swigBundle: append seize_ancestor ProgramExec authority -> canonical 8-role set (index differs from program; sign-time resolves BY MARKER, only the SET must match).\n- withdraw.buildFinalizeWithdraw\n[…]\nmit b6d9713. Publish 0.30.0, then migrate dexter-api's pin off ^0.29.0.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01NnGLdqPmYgrghp2PS6Ud24",
          "is_bot": false,
          "headline": "feat(swig): seize_ancestor 8th authority + Rule #7 account-layout syn…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-02T13:11:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c95156c952ca4c9727049822b9fcdc39aadc9c2f",
          "body": "… bump\n\npackage.json was bumped to 0.29.0 in aa09e52 but the lockfile's own\nversion fields were left behind by the stranded session. Two-line sync,\nno dependency changes.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01XKcL6Cah9XRLbwQ83XhEjH",
          "is_bot": false,
          "headline": "chore(rescue): sync package-lock.json to the committed 0.29.0 version…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-02T01:18:43Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "bb20f046e78fc6163b394555afc8704e5db4131b",
          "body": "… assembleSignV2 resolves role by marker\n\nSurfaces 2+3 of the swig authority-set divergence fix (companion to dexter-vault set_swig_atomic).\n- swigBundle.ts: append repay_credit + seize_collateral ProgramExec authorities (roles 5/6) so the\n  client bundle mints the SAME canonical 7-authority set as \n[…]\n the set_swig_atomic byte-parity snapshot — instruction data unchanged).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01DctvftBZDA9u4GjGg2hrfT",
          "is_bot": false,
          "headline": "feat(swig): 2-path reconciliation 2/2 — swigBundle mints repay/seize;…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-01T22:38:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "aa09e52644650f4ad159f5c2a0f2f791edefbf99",
          "body": "…CreditRoot convergence\n\n- buildUpgradeCreditRootInstruction (disc 3139012f…) + UpgradeCreditRootParams:\n  flip an existing version=2 root to version=1 in place via a fresh π₂ proof for\n  the same nullifier. Mirrors establish; accounts match the on-chain UpgradeCreditRoot.\n- Sync src/idl/dexter_vaul\n[…]\nnt_state + LightClientState/errors/events the shipped IDL was missing).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(credit): buildUpgradeCreditRootInstruction — operator→trustless …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-07-01T06:02:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "dd374249ed4a543baa8f8b056346a49a548328b8",
          "body": null,
          "is_bot": false,
          "headline": "0.28.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-29T20:02:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8a7804055b6a615826a6d50afbecb60d95a93ef",
          "body": "…-griefing reclaim\n\nClient builder for the new on-chain close_node instruction (reclaims a terminal\nPrincipalNode's rent + un-welds the vault). Matches buildCreateNodeInstruction\nexactly — same module (instructions/credit.ts → @dexterai/vault/instructions\nsubpath), same hand-computed discriminator (\n[…]\nan.\n\nNOT published — ships in the next release with the program deploy.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(instructions): buildCloseNodeInstruction for the close_node anti…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-29T17:00:03Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "905c64528ead07a8e9fca5dbd98674295e6fbcc0",
          "body": null,
          "is_bot": false,
          "headline": "0.27.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-29T15:09:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1e4ae1f4f9163104221b9299c1646fb9d4813f8",
          "body": "The depth-N successor to open_standby for turning on a credit line: the\nclient's passkey signs b\"attach_node\"||vault(32)||node(32) (75B, matches\nattach_node.rs), the facilitator assembles [secp256r1 precompile, attach_node].\nKills the test-local duplication of this builder + the consumer bypass-drif\n[…]\nhe messages\nbarrel; ships in the next @dexterai/vault publish (0.27.0).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(messages): buildAttachNodeMessage for the depth-N /credit/open path",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-28T23:20:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a3011015b6255aae15b3561c92c1ae07914dafe5",
          "body": "Recourse-rooted delegation credit graph (depth-N), financier-tier (financier-made-whole\nis an on-chain invariant: capital-in + recourse-out both bound to the node's recorded\nfinancier), and the canonical credit mint as a GraphConfig deploy parameter. Validator-\nproven (both binds reject + happy path), SSS-clean, adversarial review GO (0 findings).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "merge: recourse-graph depth-N + financier-tier + GraphConfig.usdc_mint",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-28T04:25:39Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1efe95ee7a39cb44dd63932f4bdc0e675194b55f",
          "body": null,
          "is_bot": false,
          "headline": "0.26.0 — financier-tier + GraphConfig.usdc_mint",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-28T04:10:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c7927976b26552ada6f1eded980a444591c1ffe",
          "body": "…c IDL\n\nMirrors the program's GraphConfig.usdc_mint (canonical credit-settlement mint,\nmainnet = USDC). buildInitGraphConfigInstruction gains a required usdcMint param\nappended in struct order (disc || admin || pause || max_depth(u8) || usdc_mint).\nIDL re-synced from the program (carries usdc_mint +\n[…]\nte-parity test\nupdated to the new 105-byte layout. 448 SDK tests green.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(graph): thread usdc_mint through init_graph_config builder + syn…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-28T03:12:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e8f2188bec3ca44c2237e0e0c0eb148cb7913a0c",
          "body": "…alNode decode\n\nSync IDL (dexter-vault 3af1886/3d1313e). CreateNodeArgs gains financier:pubkey\nafter parent Option; PrincipalNode gains financier:pubkey appended after\nlast_accrual. Builder + decoder + GraphClient facade + node-buffer test helper\nupdated; byte-parity asserts cover the new field. De-risking verbs untouched\n(financier-destination is handler-derived on-chain).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(graph): wire on-chain financier field into create_node + Princip…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-28T00:43:59Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a0f71046109e636614c0f3a10c7ca9e285d21945",
          "body": "…node account\n\nThe program's finalize_withdrawal now takes an optional PrincipalNode at idx 4 (the\ncredit-liability pin, dexter-vault 34efaf6). Sync the regenerated IDL and extend\nbuildFinalizeWithdrawalInstruction with node?: PublicKey | null — emitted at idx 4,\nNone sentinel = the program id (Anch\n[…]\nlayout (no-node sentinel + welded-node cases); full SDK suite 448 pass.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(sdk): finalize_withdrawal builder + IDL sync for the credit-pin …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-27T20:17:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "21e942eafae090b0b728cf5f1935eed43f5aa8bc",
          "body": "drawCredit/repayCredit/seizeCollateral and GraphClient.cascadeSeize returned\n[vaultIx, ...signV2Ixs], but @swig-wallet/kit's getSignInstructions already\nreturns its preInstructions IN the ordered output (signV2Ixs CONTAINS vaultIx).\nSo against the real kit each verb ran the vault instruction TWICE —\n[…]\naithful (echo\nvaultIx, as the real kit does) and added exactly-once discriminator regression\npins so the suite can no longer hide a re-prepend.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(tab): credit verbs double-included the vault ix via preInstructions",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-27T20:10:00Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9cb9186555d5f56bf5894391f026621b61f8b454",
          "body": "…stale-slot (Important)\n\n1. decodeVaultFull/readVaultFull (accountReader.ts): V6 `node` is a FIXED Pubkey,\n   not an Option. An UNWELDED vault stores the default/all-zero pubkey, which the\n   reader returned as the truthy base58 '111…111' instead of null — so a credit\n   gate (`if (vault.node)`) tre\n[…]\nal recent slot). Ships in prod draw/cascade assembly.\n\ntypecheck clean.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "fix(sdk): credit-gate decode null-default (Critical) + ensureRootAlt …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-27T19:52:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6e134f98b3476deea085d26d2b55e41224faa711",
          "body": "…ize unit (+ fix stale reader doc)\n\nCloses the Task-13 coverage gap flagged in review: the new graph builders\nand the cascade allocation had zero automated tests.\n\n- tests/graph.byte-parity.test.ts: IDL-driven account-order/disc/arg parity for\n  create_node, attach_node, attach_root, emancipate, set\n[…]\nry builder matched the IDL (no mismatch\nfound). Full suite 446 passing.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "test(graph): byte-parity for the 8 depth-N graph builders + cascadeSe…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-27T15:17:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "80ea0bcc846930d285e5795012f66f6720440f43",
          "body": "…epth-N builders, GraphClient + ALTs)\n\nSync the vendored IDL to the depth-N recourse-graph program (765369f) and expose\nthe graph off-chain:\n\n- credit/derive.ts: derivePrincipalNodePda / deriveGraphConfigPda /\n  deriveEventAuthorityPda (mirror deriveStandbyBackerPda).\n- reader/accountReader.ts: deco\n[…]\nhinery + builders; simulateDraw is\nthe mechanism, the e2e is the proof.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(graph): Task 13 — SDK graph layer (PDAs, PrincipalNode reader, d…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-27T15:01:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "063ad7f2cc2eac8c5d4557d8c9e411e0bee1f4c4",
          "body": "…vention + domain-prefix invariant\n\nCloses the SDK-side doc gap dexter-agents flagged (their endpoint side documented in dfffa397). Backend-verified ops (revoke/enable agent-spend) sign the RAW domain-separated message as the WebAuthn challenge; on-chain ops sign sha256(message) for the secp256r1 pr\n[…]\n — mandatory on every new op-message. Doc-only; rides the next publish.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "docs(messages): record the backend-raw vs on-chain-sha256 signing con…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-25T21:08:00Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "78d53552f2177a42cc3d144bd9a4319f151808ae",
          "body": null,
          "is_bot": false,
          "headline": "0.25.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-25T18:54:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "849b63ba9972a05a4dd97a097cfaac83d4e59f5f",
          "body": "…nator (+ IDL sync)\n\n- buildEstablishCreditRootTrustedInstruction: the authority-attested CreditRoot\n  path that rooted the first mainnet Orb (it had no SDK builder — the rooting\n  was a one-off ad-hoc ix; open-D punch-list #1). + INTERIM_ROOT_AUTHORITY\n  constant. Verified against the program IDL (\n[…]\ns pass, build clean. Additive only (new exports, no signature changes).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(credit): trusted-root builder + whole-book scan + Vault discrimi…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-25T18:54:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "821cdac4bc4c89afba6824428e0f9d2e2b457dbd",
          "body": "…fee-payer admin surface\n\ndexter-agents verified the master key is role-2 (NOT role-0), but found the admin\nsurface is real via a different mechanism: /internal/sign-transaction applies the\nDeXterR2 fee-payer (role-0 ManageAuthority) co-signature UNCONDITIONALLY, so a swig\nAddAuthority/RemoveAuthori\n[…]\nit defeats the whole cap model. Cheap: one allowlist call.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(instructions): swig co-sign allowlist — close the unconditional …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-24T16:43:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b42a6e2f01abcb66a0c771f5d28e9ab40b77767f",
          "body": "…e-2 bypass (heal §5)\n\nThe agent-spend off-switch (#98) gates /build-swig-x402-payment, but the generic\nmaster co-signer /internal/sign-transaction (alsoSignWithSessionMaster) could be\nhanded a role-2 swig spend and master-sign it, bypassing the gate. dexter-agents\nfound it; this ships the SDK detec\n[…]\noffset drift, reusable by the Desk\nrouter's tx inspection.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(instructions): swig Sign inspector — close the master-signer rol…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-24T16:16:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "bc7cde47897c7b9e932c360760bccd2d0ebab170",
          "body": "…(#98)\n\nThe anon-pay heal §5 control surface. Under Branch's AUTOMATIC agent-spend\n(ON by default, opt-out), revoke is THE off-switch. An off-switch with no\non-switch is a one-way trap, so this ships both as a symmetric pair\n(dexter-agents' catch).\n\n- revokeAgentSpendMessage (96B): idempotent off-sw\n[…]\ninated + locked with dexter-agents (the §5 verifier side).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(messages): agent-spend off/on switch — revoke + enable builders …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-24T15:19:21Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7cda183b4717d23e1e3ddf6c79a3d12dbd46a966",
          "body": null,
          "is_bot": false,
          "headline": "0.21.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-22T14:52:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90cf9cb9572a220d929bc16930cda673024f8e43",
          "body": "… arm-check)\n\nThe \"is the session armed?\" primitive for the agent-pay heal. Reads a Swig\naccount's session-based role (e.g. role-2 Ed25519Session, master 3SWJ) and\ndecides liveness against the current SLOT — never Date.now() — since the swig\nsession expiry (currentSessionExpiration) is a slot number\n[…]\naths). Full suite\n374 pass. typecheck + build clean. NOT YET PUBLISHED.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(session): readSwigSessionRole — swig session liveness read (heal…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-22T14:49:23Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "01437f3cb09c752c6dea3f0e0dd3f89f1f50f310",
          "body": "…redit-only)\n\nThe register example now resolves the ATA via resolveVaultUsdcAta and passes the\nPublicKey|null result; adds a note that a credit-only vault passes null (own-USDC\ncounted as 0). Lists resolveVaultUsdcAta in the /session export table.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "docs(readme): document resolveVaultUsdcAta + optional vaultUsdcAta (c…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-22T02:53:51Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "5ee14b5f88f10dc3894aec4567d7cc7dd7b8a7a4",
          "body": "register_session_key's vault_usdc_ata is now Anchor-optional (program side).\nBuilder accepts PublicKey|null and emits the program-ID None sentinel; add\nresolveVaultUsdcAta (the single derive-and-probe source of truth) so callers\npass null for a credit-only vault whose ATA was never created. own-USDC\n[…]\nalone. Omission can\nonly understate backing, never inflate it. v0.20.0.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(session): optional vault_usdc_ata — credit-only vaults need no ATA",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-22T02:27:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1afd3f88a3ad1fcb4a2cf4179516e1842af7eb8e",
          "body": "… webauthn E2E (0.19.0)\n\nDeliverable 1 — interface collapse: PasskeySignerWithPublicKey declares ONE\ncanonical signOperation(operationMessage) (no throwing sign() stub).\nDexterApiBrowserPasskeySigner honors it for both auth and guest keyings:\nhashes sha256(op) internally, mints a server challenge bo\n[…]\ngreen.\n\ntsc clean; 363 unit tests pass; e2e 2 pass on a live validator.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(signers): collapse to one honest signOperation() + real on-chain…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T15:53:54Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b8f090702bf4d9bfce759803f9a85862d71a0ec3",
          "body": "…challenge === sha256(op)\n\nThe auth DexterApiBrowserPasskeySigner.sign() asserted over its raw input\nwithout hashing, while its callers (grant/approve, deployVault) pass raw\noperation messages. The on-chain webauthn.rs law requires\nclientDataJSON.challenge === sha256(operation_message). The auth pat\n[…]\n comment in deployVault.ts.\n\nBump 0.17.0 -> 0.18.0 (auth behavior fix).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "fix(signers): auth path hashes operation internally — clientDataJSON.…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T15:34:57Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7a58a65b5a186adc3a75ecb6b8c229872a318079",
          "body": "Adds the no-account guest keying to the canonical browser passkey signer so\na connector guest can authorize tab-opens and spends. One class, two keyings,\nmirroring dexter-fe's kind:'auth'|'guest' reference:\n\n- auth (UNCHANGED): credentialId + ServerPolicy; sign() / signWithServerChallenge().\n- guest\n[…]\nfaces\nthe server-resolved credentialId after the first signOperation().\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(signers): ANON guest path on DexterApiBrowserPasskeySigner (0.17.0)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T15:17:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f3cee40c1f523a82dfcfbc96101073722c931297",
          "body": "…e into SDK\n\nLift the proven 84-byte open_standby passkey op-message helper from\ndexter-vault's test-only credit.ts into the published package so the\nfrontend/connector can construct the challenge a user's passkey signs:\n\n  \"open_standby\" (12) || vaultPda(32) || financierSwig(32) || cap u64 LE(8)\n\nE\n[…]\n 84, tag, both pubkey slices,\ncap LE). Additive; bump 0.15.0 -> 0.16.0.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(messages): buildOpenStandbyMessage — lift open_standby op-messag…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T14:10:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e650735da7141c661b262f3179a27ec224f7f875",
          "body": "Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "Merge credit-tab-funding-leg (#73 personhood-blind credit rail)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T10:34:48Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "8ba0c1dc9e6826c38671dcb4add7bab71ea98c20",
          "body": "Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "chore(release): @dexterai/vault 0.15.0 — vault credit-tail reader fields",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T09:28:52Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "fdb717b16343ea6bb79b79446b0ae7d6d83d0824",
          "body": "…yCap/borrowRecoveryAt)\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(reader): decode vault credit tail (borrowed/standbyBacker/standb…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T09:25:12Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f4fc9b64089bbd5709fb1b3138caf574bdff408a",
          "body": null,
          "is_bot": false,
          "headline": "0.14.1",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T08:05:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b2a685b983565c592e7c9fb159813ba34e472cb",
          "body": "…default-export trap); add regression\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "fix(reader): fetchCreditEvents CJS-safe base58 via PublicKey (bs58@6 …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T08:04:25Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "633502c3f30f8930aed2bdd1fe1fc02333e7d762",
          "body": null,
          "is_bot": false,
          "headline": "0.14.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T07:29:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6064443d66eb8d96ddbe1f834be400f3bccc921f",
          "body": null,
          "is_bot": false,
          "headline": "chore: sync package-lock version field (stale 0.11.0 -> 0.13.0)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T07:29:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1cc8bed88f7f2bd9a03a952b74ea3c3814faf745",
          "body": "…— welded-vault + derivation were unreachable)",
          "is_bot": false,
          "headline": "fix(credit): export src/credit via ./credit subpath (publish-blocker …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T07:26:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0fd83b3177bb532960668864d9a79c481749a8e0",
          "body": "…t_event + CreditRoot/CreditEvent (unblock v6 byte-parity)\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "fix(idl): refresh bundled IDL with establish_credit_root/record_credi…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T07:16:51Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d9f0125c31d71d3a40377d3dc6d4c7eece171732",
          "body": "…credit→ledger loop\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "test(credit-identity): SDK-driven fixture E2E proving the personhood …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T07:09:39Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7c01f687a63c5d423c94214a2fcc9675af376197",
          "body": "…et decoders)\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(credit-identity): readCreditRoot + fetchCreditEvents (fixed-offs…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T07:03:10Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f439c9e8ad350ea457e85543250596bce7256b42",
          "body": "…(nullifier‖agent_id), secret agent_id)",
          "is_bot": false,
          "headline": "feat(credit-identity): welded-vault creation (identity_claim = SHA256…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T06:57:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b782c49ce7d320f9a710ea85a527bb24e3a5c24",
          "body": "…, no dexter_authority)\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(credit-identity): buildRecordCreditEventInstruction (payer-gated…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T06:53:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a5f13a03e53dda7e07475b78859e05af5c0139c7",
          "body": null,
          "is_bot": false,
          "headline": "feat(credit-identity): buildEstablishCreditRootInstruction",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T06:50:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "915bf74db1e4581a9317744f80fa9b704ce38989",
          "body": "…rivation",
          "is_bot": false,
          "headline": "feat(credit-identity): identity-claim + CreditRoot/CreditEvent PDA de…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T06:46:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d09dea0cafeb0db8655f187577a22d006dab49db",
          "body": "…t/CreditEvent",
          "is_bot": false,
          "headline": "feat(credit-identity): discriminators + account offsets for CreditRoo…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T06:40:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec9f7662a7a7d1e11ece56d2abab2c4e1448a248",
          "body": "…me low-level openTab\n\nAdd PasskeySignerWithPublicKey (PasskeySigner + readonly 33-byte SEC1 publicKey)\nand implement it on DexterApiBrowserPasskeySigner, sourcing publicKey from config.\nThis lets x402's tab adapter consume vault's canonical signer with no bridge shim.\n\nRename low-level instruction-\n[…]\nrrel + tests. Pre-launch: no back-compat alias.\n\nBump 0.12.0 -> 0.13.0.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "feat(signers,tab): eager publicKey on canonical passkey signer + rena…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T04:13:25Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "47a0f2ee25b7a4400a5df279a8bb08a9d8066110",
          "body": "…+ DexterApiBrowserPasskeySigner\n\n0.11.0 (published 06-18 10:03Z) predates the ./create surface (createVault/deployVault/\ncreateDexterResolver) and the canonical DexterApiBrowserPasskeySigner; this ships them.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SfUTzaR1N3BBFtchZeLph7",
          "is_bot": false,
          "headline": "chore(release): @dexterai/vault 0.12.0 — publish createVault surface …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-20T03:12:46Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7500cb356b7d247fe850d76223d3c54a79cf7377",
          "body": "Signs set_swig op message (bytes(\"set_swig\")||swigStatePda) via\nPasskeySigner, POSTs base64-encoded { clientDataJSON, authenticatorData,\nsignature } to /api/passkey-vault-anon/warmup. HTTP 409\ninsufficient_funds_for_deploy surfaces as typed\nInsufficientFundsForDeployError with floorAtomic + balanceAtomic.\nIdempotent: alreadyActive:true returned as-is.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(create): add deployVault zero-config deploy helper",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-19T13:22:14Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "30318745f3fd2bb467b80a004bf0bd53fcc94b1e",
          "body": "POST /api/passkey-vault-anon/initialize, returns { swigStateAddress,\nreceiveAddress }. Throws on null receiveAddress (fail-safe: never coerce\nto swigStateAddress). Injectable fetch for unit tests. Exports wired in\nsrc/create/index.ts.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(create): add createDexterResolver zero-config helper",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-19T13:22:03Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "37a143ad7331b6ade4f4a62de69b034786ddd918",
          "body": "…in writes\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "test(create): Decision D invariant — createVault performs zero on-cha…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T20:26:19Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6e2505c8310b9746a878d19875bcfea87e205b5c",
          "body": "…ed signer (unify fe + x402 forks)\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(signers): DexterApiBrowserPasskeySigner — canonical policy-wrapp…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T20:23:44Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6a2b67ac29d5c5893a2d4a44d4fb3a17f48d2288",
          "body": "…s, idempotent resume, ./create export\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(create): createVault() zero-config surface — zero on-chain write…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T20:19:21Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "997f842636beb695be388876c2b885ae15d20bb4",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "test(create): cover odd-y (0x03 prefix) SEC1 branch in parseAttestation",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T20:12:35Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "cc247fb0d2b420792bae1c83362674c0461ca5ae",
          "body": "…, local 16-byte userHandle, SEC1 pubkey\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(create): enrollPasskey — backend-free WebAuthn create() ceremony…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T19:54:33Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ff0afbd7a112b1cb0564764128de16809be57894",
          "body": "…eposit-address resolver, receiveAddress fail-safe\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(create): resolveVaultAddresses — client vault PDA + injectable d…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T19:46:19Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "8c60030ea60f3e3d6e39a2b751e57f993e9ce2f4",
          "body": "… npm test\n\nPlan A places SDK tests in src/<module>/__tests__/; the vitest include glob\nonly covered tests/**. Without this, generateUserHandle's test (and later\nPlan A tests) would pass via explicit path but be invisible to bare `npm test`.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(test): include src/**/__tests__ glob so create/ tests run under…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T19:45:27Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3729fe0d6601833673191e2adab137c2fc219f5d",
          "body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(create): generateUserHandle — 16-byte client-side vault handle",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T19:32:27Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ca7b02829239818673345e089b5bf4e8c0b86a52",
          "body": null,
          "is_bot": false,
          "headline": "0.11.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T10:03:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f5574f9fe8fe7ff9f487f63b2fb90a4c31a6904",
          "body": "…act)\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(sdk): sync lockfile self-version to 0.10.0 (local-install artif…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T10:03:24Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "790803e5b575728051d59057ce0c173e0fe67afe",
          "body": "…claims receipt\n\nsettle_locked_voucher builder marks dexter_authority writable (the on-chain\nclose=dexter_authority now requires it); bundled IDL refreshed to 31 instrs\n(adds close_locked_claim, settle writable); mainnet proof receipt pinned\n(18/18 green: close-on-settle + close_locked_claim janitor, real USDC).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(sdk): settle dexter_authority writable + refresh IDL + closable-…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T09:49:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a7bca927f072b3f1633639b409e9e6d53f922828",
          "body": "Client builder for the new close_locked_claim instruction. Discriminator\nlifted from the regenerated IDL (not guessed); accounts {vault ro, claim\nwritable, dexter_authority signer+writable}; empty args. vitest 5/5,\nbuild green. Settle builder unchanged (close adds no account).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(sdk): buildCloseLockedClaimInstruction",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T08:49:42Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "bf124e852b041ad8b280cb9773265653c3680c15",
          "body": "vault 9LmX3SdA… seller 9QiLRgt8… lock 57gogWVB… settle Syj9CJog…\nclaim Settled, seller_ata_delta 100000, outstanding 0. First end-to-end\nlock lifecycle proven on mainnet with real USDC via the shipped SDK +\nfacilitator endpoints.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "proof: lock-rail mainnet receipt (real USDC, SDK + facilitator, 12/12)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-18T07:14:33Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "2d4c776f89044920f3afd69180ccb1d993c51722",
          "body": "prove-sdk-credit.ts ran on mainnet: registerProgramAuthority, setStandbyReserve\n(committed_reserve=5000000 confirmed), closeStandby (standby_backer=null\nconfirmed) — all SDK-assembled real submits. Pins the tx signatures so the\ncredit surface is citable like the drain-protection receipt.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "proof: SDK credit-surface mainnet receipt (3 real submits)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T20:00:56Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "f96e1c16af452ae10a3ba9a7ef7499b67566ea80",
          "body": "Document the crystallized-claim reader shipped in 0.10.0: a new \"Read\ncrystallized claims (the reservation tier)\" section covering\noutstandingLockedAmount on readVaultFull, fetchVaultLockedClaims, and\ndecodeLockedClaim, with the sum(Pending)===outstanding reconciliation\ninvariant. Add the three read\n[…]\nble, fix the\n\"not decodable by 0.9.x\" version refs to 0.10.x, and note the\nsettle_locked_voucher marker + reader landed in 0.10.0.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(readme): Step-4 LockedClaim reader surface + 0.10.0",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T18:30:36Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8640775299c2cc2485dd169b6b2f868fefdb6a5e",
          "body": "…ven)",
          "is_bot": false,
          "headline": "chore(release): @dexterai/vault 0.10.0 (Step-4 lock-mode, mainnet-pro…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T18:03:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f8f565a834d837b13a4f66a3ea6e6a54b8d073a",
          "body": "…, e2e proof)",
          "is_bot": false,
          "headline": "merge: Step-4 lock-mode (marker, reader, backfill, factoring role fix…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T18:03:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c39f0f0839924a94ffb8b24f4b65d8e1c42cf22",
          "body": "…e receipt\n\nkit→web3 bundle conversion, swig-bind poll-for-target, lock-mode (no freeze\nbump so the reservation guard fires in isolation), durable redacted receipt.\nresult=PASS: crystallize → outstanding reservation → withdrawal blocked by\nWithdrawalWouldViolateReservation (0x1781) → settle 100%% to seller → claim Settled.",
          "is_bot": false,
          "headline": "feat(scripts): Step-4 lock-mode e2e PROVEN on mainnet — full lifecycl…",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T17:52:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a5c71a45552ff62b43736bd3685e592e45c3b2c",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 0.10.0-step4.2 (ESM interop fix)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T17:39:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a6b0dafd94d7323cba58d7280c27288768e2d85",
          "body": "…kit (ESM re-export interop)",
          "is_bot": false,
          "headline": "fix(factoring): import ProgramExec helpers from @swig-wallet/lib not …",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T17:39:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d00d6b66b6465d6b365895d845050abff5b2045",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): 0.10.0-step4.1 (settle_locked role-by-marker fix)",
          "author_name": "Branch Manager",
          "author_login": "BranchManager69",
          "committed_at": "2026-06-17T17:31:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 1,
      "commits_last_year": 226,
      "latest_release_at": "2026-06-17T20:13:08Z",
      "latest_release_tag": "v0.10.0",
      "releases_from_tags": false,
      "days_since_last_push": 5,
      "active_weeks_last_year": 7,
      "days_since_latest_release": 35,
      "mean_days_between_releases": null
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 37,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@dexterai/vault",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "solana",
            "dexter",
            "vault",
            "passkey",
            "webauthn",
            "swig",
            "secp256r1",
            "ed25519",
            "ots",
            "tab",
            "x402"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@dexterai/vault",
          "is_deprecated": false,
          "latest_version": "0.37.3",
          "repository_url": "https://github.com/Dexter-DAO/dexter-vault-sdk",
          "versions_count": 55,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 5122,
          "first_published_at": "2026-06-03T20:03:50.012000Z",
          "latest_published_at": "2026-07-18T11:38:49.469000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 5
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 1,
      "watchers": 0,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "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": 38328,
      "source_files_sampled": 165,
      "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": [
          {
            "name": "bigint-buffer",
            "direct": false,
            "version": "1.1.5",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3gc7-fjrx-p6mg"
            ],
            "fixed_version": null,
            "advisory_count": 1,
            "oldest_advisory_days": 475
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "8.3.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-w5hq-g745-h8pq"
            ],
            "fixed_version": "13.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 91
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 2
        },
        "advisory_count": 2,
        "affected_count": 2,
        "assessed_count": 111,
        "malicious_count": 0,
        "assessed_package": "npm:@dexterai/vault@0.37.3",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@noble/curves",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.9.7"
        },
        {
          "name": "@noble/hashes",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.8.0"
        },
        {
          "name": "@solana-program/token",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.5.1"
        },
        {
          "name": "@solana/kit",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.0"
        },
        {
          "name": "@solana/spl-token",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.4.9"
        },
        {
          "name": "@solana/web3.js",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.98.0"
        },
        {
          "name": "@swig-wallet/kit",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.9.0"
        },
        {
          "name": "@swig-wallet/lib",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.9.0"
        },
        {
          "name": "bs58",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.0.0"
        },
        {
          "name": "tweetnacl",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.3"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@noble/curves",
            "direct": true,
            "version": "1.9.7",
            "ecosystem": "npm"
          },
          {
            "name": "@noble/hashes",
            "direct": true,
            "version": "1.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana-program/token",
            "direct": true,
            "version": "0.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/kit",
            "direct": true,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/spl-token",
            "direct": true,
            "version": "0.4.14",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/web3.js",
            "direct": true,
            "version": "1.98.4",
            "ecosystem": "npm"
          },
          {
            "name": "@swig-wallet/kit",
            "direct": true,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@swig-wallet/lib",
            "direct": true,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "bs58",
            "direct": true,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "bs58",
            "direct": true,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tweetnacl",
            "direct": true,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/css-color",
            "direct": false,
            "version": "5.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/dom-selector",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/generational-cache",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@asamuzakjp/nwsapi",
            "direct": false,
            "version": "2.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/runtime",
            "direct": false,
            "version": "7.29.7",
            "ecosystem": "npm"
          },
          {
            "name": "@bramus/specificity",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/color-helpers",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-calc",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-color-parser",
            "direct": false,
            "version": "4.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-parser-algorithms",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-syntax-patches-for-csstree",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@csstools/css-tokenizer",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/core",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/runtime",
            "direct": false,
            "version": "1.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "@emnapi/wasi-threads",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/aix-ppc64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openharmony-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "@exodus/bytes",
            "direct": false,
            "version": "1.15.1",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/gen-mapping",
            "direct": false,
            "version": "0.3.13",
            "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.31",
            "ecosystem": "npm"
          },
          {
            "name": "@napi-rs/wasm-runtime",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@oxc-project/types",
            "direct": false,
            "version": "0.133.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-android-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-darwin-x64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-freebsd-x64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-arm64-musl",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-ppc64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-s390x-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-gnu",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-linux-x64-musl",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-openharmony-arm64",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-wasm32-wasi",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-arm64-msvc",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/binding-win32-x64-msvc",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@rolldown/pluginutils",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm-eabi",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-android-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-darwin-x64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-freebsd-x64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-gnueabihf",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm-musleabihf",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-arm64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-loong64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-ppc64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-riscv64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-s390x-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-linux-x64-musl",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openbsd-x64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-openharmony-arm64",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-arm64-msvc",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-ia32-msvc",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-gnu",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@rollup/rollup-win32-x64-msvc",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/accounts",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/addresses",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/assertions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/buffer-layout",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/buffer-layout-utils",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-core",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-core",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-data-structures",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-data-structures",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-numbers",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-numbers",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-strings",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/codecs-strings",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/errors",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/errors",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/fast-stable-stringify",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/functional",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/instructions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/keys",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/nominal-types",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/options",
            "direct": false,
            "version": "2.0.0-rc.1",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/options",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/programs",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/promises",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-api",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-parsed-types",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-spec",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-spec-types",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-subscriptions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-subscriptions-api",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-subscriptions-channel-websocket",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-subscriptions-spec",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-transformers",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-transport-http",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/rpc-types",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/signers",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/spl-token-group",
            "direct": false,
            "version": "0.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/spl-token-metadata",
            "direct": false,
            "version": "0.1.6",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/subscribable",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/sysvars",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/transaction-confirmation",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/transaction-messages",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@solana/transactions",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "@standard-schema/spec",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "@swc/helpers",
            "direct": false,
            "version": "0.5.23",
            "ecosystem": "npm"
          },
          {
            "name": "@swig-wallet/coder",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "@tybys/wasm-util",
            "direct": false,
            "version": "0.10.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/chai",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/connect",
            "direct": false,
            "version": "3.4.38",
            "ecosystem": "npm"
          },
          {
            "name": "@types/deep-eql",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/estree",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@types/jsdom",
            "direct": false,
            "version": "28.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "12.20.55",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "22.19.19",
            "ecosystem": "npm"
          },
          {
            "name": "@types/tough-cookie",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/uuid",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ws",
            "direct": false,
            "version": "7.4.7",
            "ecosystem": "npm"
          },
          {
            "name": "@types/ws",
            "direct": false,
            "version": "8.18.1",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/expect",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/mocker",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/pretty-format",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/runner",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/snapshot",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/spy",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vitest/utils",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.16.0",
            "ecosystem": "npm"
          },
          {
            "name": "agentkeepalive",
            "direct": false,
            "version": "4.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "any-promise",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "assertion-error",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "base-x",
            "direct": false,
            "version": "3.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "base-x",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "bidi-js",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "bigint-buffer",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "bignumber.js",
            "direct": false,
            "version": "9.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "bindings",
            "direct": false,
            "version": "1.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "bn.js",
            "direct": false,
            "version": "5.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "borsh",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "6.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "bufferutil",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "bundle-require",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cac",
            "direct": false,
            "version": "6.7.14",
            "ecosystem": "npm"
          },
          {
            "name": "chai",
            "direct": false,
            "version": "6.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "5.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "14.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "2.20.3",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "confbox",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "consola",
            "direct": false,
            "version": "3.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "convert-source-map",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "css-tree",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "data-urls",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "decimal.js",
            "direct": false,
            "version": "10.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "delay",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-module-lexer",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "es6-promise",
            "direct": false,
            "version": "4.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "es6-promisify",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.27.7",
            "ecosystem": "npm"
          },
          {
            "name": "estree-walker",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "eventemitter3",
            "direct": false,
            "version": "5.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "expect-type",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "eyes",
            "direct": false,
            "version": "0.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "fast-stable-stringify",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fastestsmallesttextencoderdecoder",
            "direct": false,
            "version": "1.0.22",
            "ecosystem": "npm"
          },
          {
            "name": "fdir",
            "direct": false,
            "version": "6.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-uri-to-path",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fix-dts-default-cjs-exports",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "html-encoding-sniffer",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "humanize-ms",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-potential-custom-element-name",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "isomorphic-ws",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "jayson",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "joycon",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsdom",
            "direct": false,
            "version": "29.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-stringify-safe",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-android-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-arm64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-darwin-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-freebsd-x64",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm-gnueabihf",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-arm64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-gnu",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-linux-x64-musl",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-arm64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lightningcss-win32-x64-msvc",
            "direct": false,
            "version": "1.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "lilconfig",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "lines-and-columns",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "load-tsconfig",
            "direct": false,
            "version": "0.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "magic-string",
            "direct": false,
            "version": "0.30.21",
            "ecosystem": "npm"
          },
          {
            "name": "mdn-data",
            "direct": false,
            "version": "2.27.1",
            "ecosystem": "npm"
          },
          {
            "name": "mlly",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mz",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.12",
            "ecosystem": "npm"
          },
          {
            "name": "node-fetch",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-gyp-build",
            "direct": false,
            "version": "4.8.4",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "obug",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pathe",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "picocolors",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "pirates",
            "direct": false,
            "version": "4.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "pkg-types",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "postcss",
            "direct": false,
            "version": "8.5.15",
            "ecosystem": "npm"
          },
          {
            "name": "postcss-load-config",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "rolldown",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "rollup",
            "direct": false,
            "version": "4.61.0",
            "ecosystem": "npm"
          },
          {
            "name": "rpc-websockets",
            "direct": false,
            "version": "9.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "saxes",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "siginfo",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.7.6",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-js",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "stackback",
            "direct": false,
            "version": "0.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "std-env",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "stream-chain",
            "direct": false,
            "version": "2.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "stream-json",
            "direct": false,
            "version": "1.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "sucrase",
            "direct": false,
            "version": "3.35.1",
            "ecosystem": "npm"
          },
          {
            "name": "superstruct",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "symbol-tree",
            "direct": false,
            "version": "3.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "text-encoding-utf-8",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "thenify",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "thenify-all",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinybench",
            "direct": false,
            "version": "2.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "0.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "tinyexec",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "tinyglobby",
            "direct": false,
            "version": "0.2.17",
            "ecosystem": "npm"
          },
          {
            "name": "tinyrainbow",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "tldts",
            "direct": false,
            "version": "7.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "tldts-core",
            "direct": false,
            "version": "7.4.3",
            "ecosystem": "npm"
          },
          {
            "name": "tough-cookie",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "0.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "tr46",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "tree-kill",
            "direct": false,
            "version": "1.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "ts-interface-checker",
            "direct": false,
            "version": "0.1.13",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsup",
            "direct": false,
            "version": "8.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "ufo",
            "direct": false,
            "version": "1.6.4",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "7.28.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "6.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "undici-types",
            "direct": false,
            "version": "7.27.0",
            "ecosystem": "npm"
          },
          {
            "name": "utf-8-validate",
            "direct": false,
            "version": "5.0.10",
            "ecosystem": "npm"
          },
          {
            "name": "utf-8-validate",
            "direct": false,
            "version": "6.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "14.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "8.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "vite",
            "direct": false,
            "version": "8.0.16",
            "ecosystem": "npm"
          },
          {
            "name": "vitest",
            "direct": false,
            "version": "4.1.8",
            "ecosystem": "npm"
          },
          {
            "name": "w3c-xmlserializer",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "webidl-conversions",
            "direct": false,
            "version": "8.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "16.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-url",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "why-is-node-running",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "7.5.11",
            "ecosystem": "npm"
          },
          {
            "name": "ws",
            "direct": false,
            "version": "8.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "xml-name-validator",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "xmlchars",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 317,
        "direct_count": 11,
        "indirect_count": 306
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 0,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "BranchManager69",
          "commits": 226,
          "avatar_url": "https://avatars.githubusercontent.com/u/121578862?v=4"
        }
      ],
      "contributors_sampled": 1,
      "top_contributor_share": 1
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": true,
      "ci_workflows": [],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "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": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 3,
            "reason": "project has 1 contributing companies or organizations -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project was created within the last 90 days. Please review its contents carefully",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": null,
            "reason": "no dependencies found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 7,
            "reason": "3 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "6d2ccfbc19725b88d061aff0ecf0ab4c57c4c406",
        "ran_at": "2026-07-23T19:08:57Z",
        "aggregate_score": 2.4,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-18T11:38:51Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Dexter-DAO/dexter-vault-sdk",
    "host": "github.com",
    "name": "dexter-vault-sdk",
    "owner": "Dexter-DAO"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 44,
      "inputs": {
        "security": 34,
        "vitality": 69,
        "community": 33,
        "governance": 35,
        "engineering": 44
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 69,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 59,
            "inputs": {
              "commits_last_year": 226,
              "human_commit_share": 1,
              "days_since_last_push": 5,
              "active_weeks_last_year": 7
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "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": "226 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 226
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "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": 84,
            "inputs": {
              "releases_count": 1,
              "latest_release_tag": "v0.10.0",
              "releases_from_tags": false,
              "days_since_latest_release": 35,
              "mean_days_between_releases": null
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "1 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 35 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 35
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "cadence unknown (single release)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence_unknown",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 33,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 0,
              "stars": 1,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "1 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "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": 62,
            "inputs": {
              "packages": [
                "@dexterai/vault"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 5122
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "5,122 downloads/month across npm",
                "points": 49.5,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 5122,
                      "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": "at_risk",
        "name": "Sustainability & Governance",
        "value": 35,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 13,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 1,
              "top_contributor_share": 1
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 100% of commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "1 contributors",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "critical",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution",
                    "pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "merged_prs": 0,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "no decided pull requests or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_decided_prs_or_data",
                    "params": {}
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 44,
            "inputs": {
              "followers": 4,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "Dexter-DAO",
              "public_repos": 13,
              "account_age_days": 208
            },
            "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": "4 followers of Dexter-DAO",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 4,
                      "login": "Dexter-DAO"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "13 public repos, account ~0 yr old",
                "points": 9.5,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 13
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 0
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@dexterai/vault"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 5
            },
            "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 5 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "55 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 55
                    }
                  }
                ],
                "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": "at_risk",
        "name": "Engineering Quality",
        "value": 44,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "at_risk",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 30,
            "inputs": {
              "has_ci": false,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": "https://dexter.cash",
              "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": "https://dexter.cash",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 34,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "critical",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "dangerous_workflow",
                    "packaging",
                    "pinned_dependencies",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 24,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 12,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 6,
              "scorecard_aggregate": 2.4
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "3 existing vulnerabilities detected",
                "points": 5.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Matched the npm:@dexterai/vault@0.37.3 runtime dependency closure — what installing the published package pulls in — 111 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@dexterai/vault@0.37.3",
                  "assessed": 111
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 72,
            "inputs": {
              "source": "osv",
              "advisories": 2,
              "affected_packages": 2,
              "assessed_packages": 111,
              "unassessed_packages": 0,
              "affected_by_severity": "high 2",
              "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": "2 affected: bigint-buffer 1.1.5 (high 7.5), uuid 8.3.2 (high 7.5)",
                "points": 8.4,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 2,
                      "packages": "bigint-buffer 1.1.5 (high 7.5), uuid 8.3.2 (high 7.5)"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "2 advisory-carrying package(s) unaddressed past 90 days; oldest published 475 days ago",
                "points": 29.1,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 2,
                      "oldest": 475
                    }
                  }
                ],
                "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": 111,
              "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": 2
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 60,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.85,
              "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": "85 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 85,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_pinned_dependencies"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 59,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "tsconfig.json"
              ],
              "agent_commit_share": 0.73,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "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": "73 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 73,
                      "sampled": 100
                    }
                  }
                ],
                "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": "no dependencies found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": 38328,
              "source_files_sampled": 165,
              "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/165 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 165,
                      "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-23T19:09:02.655736Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/d/Dexter-DAO/dexter-vault-sdk.svg",
  "full_name": "Dexter-DAO/dexter-vault-sdk",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistikennpm.