Upgrade from 0.2 to 0.3
This guide is for users migrating from 0.2.0-rc.1 to or evaluating 0.3.0. The stable release is available through GitHub Releases, npm, and PyPI; still verify the target version in the selected channel before installation.
Before upgrading
- Commit or back up the application and record Node, Python, configuration, Session directory, and package versions.
- Stop active CLI, Worker, and SDK processes.
- Back up
sessions/,.coremind/, and business-side effect receipts. Keep secrets only in environment variables. - Move direct dependencies on low-level model, message, or tool types to CoreMind public types.
Install and diagnose
For a source checkout, run at the repository root:
powershell
npm ci
npm run build:python-worker
npm run checkUpgrade all eight npm packages as one version family. Upgrade the Python wheel as a whole; never pair the new Python client with an old Worker. Then run:
powershell
coremind --version
coremind doctor coremind.yaml
coremind check coremind.yaml --profile strictCompatibility and additive contracts
- Config remains schema v2 and Protocol requests remain v1. Permission modes, generic outcomes, and CLI exit codes are retained.
RunResult.operationandRunResult.snapshotare authoritative evidence. JSON readers must tolerate additive fields, while TypeScript fixtures that constructRunResultmanually must add the snapshot.- The Python SDK requires its bundled Worker to advertise
runSnapshot; mixed versions fail withprotocol_capability_missing. - Session migration creates
.v3.backup, publishes through the versioned repository, and switches the stable public path last. Lossy migration fails closed and preserves the source. - Large tool output enters
.coremind/artifacts/; the model receives only a bounded preview and workspace-relative reference. Suspected credentials are never persisted as artifacts. - TUI adds
/artifactsand/context;/statusincludes recovery, compaction, artifacts, and evaluation. - Lifecycle extensions expose only four events and require explicit trust, capability declarations, and grants. They are not an operating-system sandbox.
- Provider certification now requires seven live checks; older five-check evidence is not current certification.
Verify
Run the same business case through CLI, TypeScript, and Python and compare snapshot.runId, operation, outcome, metrics, and trace. A write case must also cover approval, checkpoint, diff, restore, Session resume, and abort.
Roll back
- Stop all new-version processes and retain RunState, traces, artifacts, and external effect receipts as audit evidence.
- Handle a lock only after proving that no writer is alive; never delete an active lock.
- Restore the legacy Session from
.v3.backup, then return the complete npm package family and Python wheel to0.2.0-rc.1. - Never roll back one internal package in isolation or replay an external effect whose result is uncertain.
See the detailed Runtime Adapter, Session and recovery, and Context and Artifact migrations.