namespace ErsatzTV.Core.Domain; /// /// A root aggregate that carries an integer optimistic-concurrency token (issue #253). /// The token is exposed as a strong ETag on the aggregate's GET, checked against a /// PUT's If-Match header (mismatch → 412 Precondition Failed), and bumped on every /// successful write so a stale second writer is rejected and every other client's ETag rotates. /// public interface IVersionedAggregate { int Version { get; set; } }