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.jsonShape
| Field | Type | Notes |
|---|---|---|
observedAt | string | Required. When the snapshot was taken, ISO 8601. |
sorobanSdk.currentMajor | integer or null | Required. Null makes soroban-sdk findings SDK_UNKNOWN. |
sorobanSdk.deprecatedVersions | string[] | Required. Versions listed as deprecated. Only their majors are compared. |
sorobanSdk.source | string | Required. Shown as the source in findings. |
jsSdk.currentVersion | string or null | Required. Null makes JavaScript findings JS_SDK_UNKNOWN. |
jsSdk.source | string | Required. |
protocolCurrent | number or null | Optional. Defaults to null. |
notes | array | Required, may be empty. Items have title, url and snippet (all strings). |
degraded | string[] | 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.