v1.3.3 is a patch release on top of v1.3.2. The goal is not a new feature sprint; it is making the workflow runtime and public docs match the production bar QAIL now expects.
Why This Is a Patch Release
- v1.3.3 is the current stable patch on top of the v1.3.x native-policy line.
- The release scope is workflow storage/runtime semantics plus documentation, not a breaking API release.
- v1.3.2 remains the prior stable patch for protocol, parser, MERGE, and real database validation coverage.
Flow Engine and Flow Ledger
qail-workflow stays storage-agnostic. It owns the state-machine semantics: run, resume, wait, timeout, branch cursors, and side-effect checkpoint hooks. qail-workflow-postgres is the Flow Ledger: the Postgres-backed executor wrapper for workflow state, leases, operation idempotency, side-effect replay, and timeout due-row discovery.
- Workflow state is persisted in qail_workflow_states.
- Per-workflow leases fence concurrent workers.
- Operation idempotency covers run, resume, and timeout calls.
- Side-effect rows replay completed query and charge results and skip completed notifications.
- Timeout due-row discovery uses Postgres row locking and claim TTLs.
Exactly Once Still Needs The Provider
The workflow layer provides replay control, not magic exactly-once delivery. Payment, notification, and external mutation providers still need the workflow side-effect operation id as their own idempotency key when duplicate delivery would be unsafe.
Why The Docs Changed
The previous public docs described crate names, but not enough operational meaning. The new manual adds a platform map, native access-policy semantics, tenant-first RLS boundaries, and workflow production guidance so developers and LLMs can answer which layer owns each safety property.
- Platform Map explains AST Kernel, Postgres Driver, Access Gateway, SchemaOps CLI, Flow Engine, Flow Ledger, and Vector Bridge.
- Access Policy explains vertical operation/column permission checks and fail-closed AST behavior.
- RLS docs explain transaction-local PostgreSQL context and tenant-first scoping.
- Workflow docs explain leases, idempotency, side-effect replay, timeouts, and v2 side-effect id rollout.
Release Decision
This release uses v1.3.3 because v1.3.2 was the previous published patch. v1.3.4 would only make sense for a later follow-up patch.
Patch releases should make the current contract boringly dependable. That is the point of this one.← Back to Blog