Operate & govern

Versioning that holds across the stack.

A Vadyl project advances through monotonic publications. Each publication carries a ContractVersionId and a SourceCommitId. In-flight workflows pin to LockedPublicationVersion. Generated SDKs embed a manifest with seven dimensions of version provenance — and a runtime check that fails fast on incompatibility.

ProjectRuntimePublication

Atomic. Auditable. Rollback first-class.

Monotonic version counter

Per-project publication version. Atomic transitions. Auditable runtime history. The descriptor cache invalidates coherently across instances.

ContractVersionId + SourceCommitId

Every publication carries explicit references to the contract surface version and the source commit. Three identities, one publication — full lineage from an SDK call back to the source line.

Multi-surface carry-forward

One publication ships every execution-surface bundle: CoreHandler · DurableWorkflow · EventConsumer · ScheduledJob · WebhookHandler · EdgeHandler · ManagementHandler — atomically.

Locked-version workflow pinning

An in-flight workflow pins to the publication it started on. New deploys can't break running flows. WorkflowInvocationIdentity carries the version through every advance, signal, compensation.

Reserve / Finalize / Rollback

AuthoredPublicationService: reserve a version slot, finalize the bundle when the build completes, rollback atomically. The state machine is durable and crash-resumable.

Unbounded latest resolution

FindMaxAuthoredArtifactPublicationVersionAsync is the canonical resolver for 'latest authored publication.' One canonical path; no scattered branches with custom max queries.

Seven-dimensional SDK taxonomy

One cross-layer rule. Six provenance dimensions.

Every generated SDK embeds a SdkGenerationManifest with seven independent dimensions. Only one — the generated-format version — is a hard cross-layer compatibility seam. The other six are provenance for traceability.

Package version
Distinct from publication version
Generated-format version
The compatibility seam ⚡
Generator version
Toolchain provenance
API version
Surface-level versioning
Surface version stamp
From ApiSurfaceCacheKey
Publication identity
Version + ContractId + CommitId
Scope
Project / PlatformSuperset
Generated-at-utc
Build timestamp, deterministic

The runtime calls verifyGeneratedCompatibility(manifest) on first use. Mismatch on the generated-format version fails fast with a typed VadylIncompatibleGeneratedSdkError. Mismatches on any of the other six dimensions are warnings, not failures — they're for traceability, not for breaking your build.

Monotonic
Per-project version

Atomic transitions

Three
Identities per publication

Version · ContractId · CommitId

7D
SDK manifest

Six provenance + one seam

Fail-fast
On format mismatch

Typed runtime error

Versioning that does not lie.

Atomic publications. Locked workflow versions. SDK manifest with seven dimensions. Runtime compatibility check. Rollback as a first-class verb. The truth flows from source commit to running call.