@eristack/ai-knowledge
optimistic-document-version
26 linesSource
Canon optimistic locking for ERP documents: version + expectedVersion, 409 CONFLICT_VERSION — docs/recipe only, not a package. Distinct from epoch.
Optimistic document version
Read knowledge/optimistic-document-version.md only.
Quick rules
- Aggregates carry version; PATCH sends expectedVersion.
- Mismatch → 409 CONFLICT_VERSION (versionConflict() / BackseatVersionConflictError from @eristack/backseat).
- SQL: UPDATE … WHERE id = ? AND version = ?.
- Epoch bumps cache — not write conflicts.
No @eristack/concurrency package unless maintainers add one later.