kedgeway

Docs / Use / Fixtures

Fixtures

A fixture is a saved ecosystem snapshot. Pass it with --fixture to run without Raven: for tests, offline machines and CI.

Terminal
kedgeway diagnose ./my-contract --fixture snapshot.json

Shape

FieldTypeNotes
observedAtstringRequired. When the snapshot was taken, ISO 8601.
sorobanSdk.currentMajorinteger or nullRequired. Null makes soroban-sdk findings SDK_UNKNOWN.
sorobanSdk.deprecatedVersionsstring[]Required. Versions listed as deprecated. Only their majors are compared.
sorobanSdk.sourcestringRequired. Shown as the source in findings.
jsSdk.currentVersionstring or nullRequired. Null makes JavaScript findings JS_SDK_UNKNOWN.
jsSdk.sourcestringRequired.
protocolCurrentnumber or nullOptional. Defaults to null.
notesarrayRequired, may be empty. Items have title, url and snippet (all strings).
degradedstring[]Optional. Defaults to empty. Each entry becomes a DATA_DEGRADED finding.

Complete example

Terminal
{
  "observedAt": "2026-11-11T22:00:57Z",
  "sorobanSdk": {
    "currentMajor": 28,
    "deprecatedVersions": ["21.0.0", "20.5.0"],
    "source": "snapshot saved from Software Versions page"
  },
  "jsSdk": {
    "currentVersion": "<current @stellar/stellar-sdk version>",
    "source": "snapshot saved from Software Versions page"
  },
  "protocolCurrent": null,
  "notes": [
    { "title": "Upgrade notes", "url": "https://example.com/notes", "snippet": "Short excerpt." }
  ],
  "degraded": []
}

A file that does not match this shape makes the run exit with 1 and a message. Fixtures are not refreshed automatically: the ecosystem moves, your fixture does not.