Skip to content

Versioning and safe upgrades

SDK 0.3.0 targets proposal edition 0.4. The SDK version and standard edition are different identifiers. The finite-v1 schema and journal event envelopes are version-bound; a package upgrade is not automatic migration of existing data.

Edition 0.4 adds observation metadata and changes event hashes. Preserve edition 0.3 journals with the SDK version that produced them for historical playback. Do not relabel a contract or recompute historical events to make the new parser accept them. That would replace evidence rather than prove compatible migration.

Before changing execution ownership or format, reconcile in-flight effects and record the source’s final disposition. Create an explicitly linked new mission only through a reviewed migration procedure, carrying forward authorized resource exposure, artifact lineage and relevant decisions. An audit import in this release produces a snapshot; it is not an import-into-store or live migration command.

Keep the workflow definition revision, adapter implementation version and material artifact revisions in your application records. Updating a code package can change behavior even when the graph JSON is unchanged. A months-long workflow needs a strategy for compatibility and dependency availability; the current SDK does not bundle a worker-version router or historical runtime images.

activatePlan appends plan identity and checks expectedPlan. It does not migrate graph topology or modify mission limits. Registration of a new trigger ID changes its deduplication namespace; preserve the relationship to past occurrences and prevent repeated external work during transition.

Run all language examples and the shared corpus, test reopening representative stored missions, review changed error semantics and verify package entrypoints. Test the actual adapter’s result parsing and external deduplication contract. Back up databases with a consistent SQLite procedure and retain artifact bytes for the required period.

The documentation source contains a verification script so future changes can detect copied examples that no longer match the package. Update text exports, API tables and executable sources together, then build the site. Never leave a documentation tab showing a new API while the downloadable package still has the old one.

Enable aiws-limits/1 explicitly using a new, human-approved scope tree and shared ledger. Do not reopen a mission/handoff database as a limit ledger or import running work with zero consumption. Automatic import and topology changes are unsupported. Every affected external call must pass both ledger and existing dispatch checks. The host reconciles crashes between databases conservatively; restarting never proves a dispatched effect did not occur. The old 0.3.0 binary packages do not contain this source addition.