kedgeway

Stellar toolchain diagnosis

Your Soroban SDK is drifting.

kedgeway asks the live Stellar ecosystem what is current and tells you how far behind you are.

1,285 Soroban repos are on a deprecated SDK today. Scout via Raven, 2026-11-11.

fig. 1 — Sallie Gardner at a gallop · frame 08 of 11

E. Muybridge, pl. 626 · Palo Alto, 1878

01 — The ecosystem

One in five Soroban repos runs a deprecated SDK.

Scout scanned 5,863 repos on 2026-11-11. 1,285 of them (22%) use a deprecated soroban-sdk. Nothing in their build tells them.

5,863 Soroban repos by soroban-sdk status

fig. 2one cell ≈ 15 repos · 391 cells
A dot-matrix field of about 391 cells, each roughly 15 repos. Deprecated cells are dense, current cells lighter, supported cells sparse.
soroban-sdk status of 5,863 repos
statusreposshare
deprecated1,28522.0%
current1973.4%
supported4,33073.9%
unknown510.9%

Source: Stellar Raven / Scout · 2026-11-11

repos scanned
5,863
deprecated
1,285
of the ecosystem
22%
current soroban-sdk major
28

02 — How it works

Checked against the live ecosystem. Never a stale list.

kedgeway scans Cargo.toml for soroban-sdk, including workspace dependencies and package = renames, and package.json for @stellar/stellar-sdk, @stellar/stellar-base, and the legacy soroban-client and stellar-sdk. Then it asks Stellar Raven. If a source fails, the report says DATA_DEGRADED instead of guessing.

fig. 3manifests → kedgeway → Stellar Raven → report
Four steps left to right: manifests, kedgeway, Stellar Raven, report.

01

scan

Cargo.toml / package.json

02

ask raven

Software Versions + Scout

03

diagnose

report · source + time

Works with

  • Cargo.toml
  • package.json
  • GitHub Actions
  • Stellar Raven
  • Soroban

03 — The report

A report you can act on. Every line cites its source.

Findings are sorted by severity, point at the file, and say what to do. Every finding cites its source and observation time. Use --json for machines and --fail-on for CI.

fig. 4one finding, read left to right
One finding annotated left to right: severity, code, file, source.

Example report for ./my-contract. Ecosystem: soroban-sdk current major 28, observed 2026-11-11T22:00:57Z, source Stellar Raven and Scout.

  • Critical, SDK_DEPRECATED, contracts/hello/Cargo.toml: soroban-sdk 21.0.0 is on a major listed as deprecated (current: 28). Upgrade.
  • Critical, JS_LEGACY_PACKAGE, package.json: soroban-client 1.0.0 is a legacy package; replace it with @stellar/stellar-sdk.

Summary: 2 critical, 0 warning, 0 info.

04 — Findings

What it catches. Eighteen codes, three severities.

Each finding names the file, cites its source and the time it was observed, and says what to do.

fig. 5hatch density = severity
Three severities from critical to info, drawn with decreasing hatch density.
Six of the eighteen finding codes
codeseveritywhat it means
SDK_DEPRECATEDcriticalsoroban-sdk is on a deprecated major, or more than one major behind.
JS_LEGACY_PACKAGEcriticalsoroban-client or the unscoped stellar-sdk is still in package.json.
SDK_BEHINDwarningsoroban-sdk is exactly one major behind the current one.
MANIFEST_UNPARSEABLEwarningA Cargo.toml, package.json, or directory could not be read, so it was not checked.
DATA_DEGRADEDwarningA data source failed. The report says so instead of guessing.
NO_SDK_FOUNDinfoNo Stellar SDK dependency was found in the scanned path.
All 18 finding codes →

05 — Install

Install in a minute. Then sign in to Raven.

Node 22.12 or newer. Install the CLI, sign in to Raven, then diagnose a repo.

The token is stored at ~/.config/kedgeway/auth.json with mode 0600. --fail-on warning exits with code 2 if any finding is a warning or worse.

fig. 6install, sign in, diagnose
Three commands in order: npm install, login, diagnose.
Terminal
# 1. Install
npm install -g kedgeway

# 2. Sign in to Raven (opens your browser)
kedgeway login

# 3. Diagnose
kedgeway diagnose ./my-contract --fail-on warning

# Or scan a remote repository
kedgeway diagnose https://github.com/o/r

06 — FAQ

Questions, answered. Short, no marketing.

fig. 7cumulus, 4×4 ordered dither
A study of dithered cumulus cloud.

No. kedgeway sends one fixed script to Stellar Raven, with nothing from your repo in it. The comparison runs on your machine.

You sign in to Stellar Raven once with OAuth in your browser. The token is stored locally at ~/.config/kedgeway/auth.json.

Yes. --offline reuses the cached Raven snapshot from your last live run, and --fixture uses a snapshot file. A first live run needs network access and a Raven sign-in.

soroban-sdk in Cargo.toml, and @stellar/stellar-sdk, @stellar/stellar-base and the legacy soroban-client and stellar-sdk in package.json.

Yes. --fail-on exits with code 2 when a finding meets the threshold. For live data in CI set the KEDGEWAY_AUTH secret; or use a fixture.

Yes. Run kedgeway init --mode pr. A weekly GitHub Actions job checks your SDK versions against live Stellar data. When you are behind, it pushes one branch, kedgeway/migrate-<major>, and opens a single pull request with the edits, the findings, the manual steps as a checklist and the migration guide. Re-runs update the same PR. It runs in your repo with your own Raven login: no hosted service, and your source code is never rewritten.

npm install -g kedgeway. It needs Node 22.12 or newer.

07 — Integrations

Not a roadmap anymore. Four ways to run it.

fig. 8one core, four ways to run it
One core feeding four ways to run it: SDK, MCP, Action, Migrate.

fig. 9frame 05, set in type

Stop drifting. Diagnose, then migrate.

Install
npm install -g kedgeway