You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Audience: Maintainers, release engineers, and backend integration teams.
This matrix tracks event-schema drift, storage-version drift, and deployment
compatibility across the apexchainx_calculator contract lifecycle.
Purpose: Prevent silent breaking changes by providing a single source of
truth for version relationships, schema compatibility, and deployment
constraints.
Tracks the relationship between contract versions and their emitted event
schemas. Each row represents a contract release; columns represent event
variants and their schema version at that release.
Legend: Solid lines = existing migration path. Dashed lines = planned but
not yet implemented.
Version Negotiation Contract
The get_version_info() endpoint returns the current storage version and
migration posture. Backends MUST call this before issuing operational
transactions.
Field
Current Value
Notes
storage_version
1
Value from STORAGE_VERSION_KEY
result_schema_version
1
Value from RESULT_SCHEMA_VERSION
needs_migration
false
true when storage ≠ expected
is_paused
varies
Runtime-dependent
contract_name
"sla_calc"
Fixed identifier
When to Increment STORAGE_VERSION
Change Type
Requires Increment?
Migration Required?
Adding a new storage key
Yes, if existing data is reinterpreted
Usually no (new key is empty)
Adding a new storage key
No, if it's truly additive (new feature, no existing data change)
No
Changing serialisation format of an existing value
Yes
Yes — migrate() must rewrite values
Removing a storage key
Yes
Yes — migrate() must clean up stale entries
Changing the meaning of an existing stored value
Yes
Yes — migrate() must transform values
Deployment Compatibility Matrix
Describes which contract versions can be safely deployed alongside which
backend versions.
Legend
Symbol
Meaning
✅
Fully compatible
⚠️
Compatible with caveats (see notes)
❌
Incompatible — must upgrade one side
Contract vs Backend Compatibility
Contract Version
Backend v0.1.x
Notes
v0.1.0
✅
Initial release; all events, storage, and APIs match
Contract vs Frontend Compatibility
Contract Version
Frontend v0.1.x
Notes
v0.1.0
✅
Initial release
Rollback Safety
Scenario
Safe?
Notes
Upgrade from v0.1.0 to v0.2.0
✅
Forward-compatible if storage version matches
Rollback from v0.2.0 to v0.1.0
⚠️
Only safe if v0.2.0 did not write new storage keys or change existing serialisation
Rollback after migration
❌
migrate() may rewrite data incompatibly; rollback requires a restore
Cross-Contract Dependency Matrix
Tracks compatibility between apexchainx_calculator and other contracts in the
ApexChainx ecosystem.
Contract
Current Version
Compatible With
Notes
apexchainx_calculator
v0.1.0
Self
N/A
(Future contracts TBD)
—
—
This section will be populated as new contracts are added
Release Compatibility Table
A chronological log of release compatibility assertions. Each row documents
what was verified at release time.