Versioning & Tags
JustWorkflowIt uses immutable versions with mutable tags to give you safe, zero-downtime workflow deployments.
Immutable Versions
Section titled “Immutable Versions”Every workflow version is assigned a monotonically increasing versionNumber and a unique versionId. Once registered, a version’s step definition cannot be changed — this guarantees that running jobs always execute the exact definition they started with.
Mutable Tags
Section titled “Mutable Tags”Tags are named pointers (like $LIVE) that can be moved between versions atomically. This decouples “which version to run” from “which version exists”:
Version 1 (old)Version 2 ← $LIVE # Currently activeVersion 3 (staged) # Ready to promotePromoting Version 3:
curl -X PUT .../tags/$LIVE -d '{"versionId": "version-3-uuid"}'Now $LIVE points to Version 3. Any new jobs referencing $LIVE will use Version 3. Jobs already running on Version 2 are unaffected.
Deduplication
Section titled “Deduplication”If you register a version with a definition identical to the current $LIVE version (byte-for-byte after minification), the existing version is returned instead of creating a duplicate.