feat(localdb): LWW applier (hlc+node_id tie-break, applying guard, dead-letter, atomic watermark)

Claude-Session: https://claude.ai/code/session_01BL2Vu1ESDQ9SCN4gVKkdts
This commit is contained in:
Joseph Doherty
2026-07-17 22:03:24 -04:00
parent 3cf8cabaf9
commit d7cbdce65c
5 changed files with 476 additions and 1 deletions
@@ -18,7 +18,7 @@ internal sealed record PeerState(
internal sealed class OplogStore(ILocalDb db, ReplicationOptions options, Func<DateTimeOffset>? utcNow = null)
{
// Must match the delete trigger's strftime('%Y-%m-%dT%H:%M:%fZ') output so string comparison is chronological.
private const string TombstoneUtcFormat = "yyyy-MM-ddTHH:mm:ss.fffZ";
internal const string TombstoneUtcFormat = "yyyy-MM-ddTHH:mm:ss.fffZ";
private readonly Func<DateTimeOffset> _utcNow = utcNow ?? (() => DateTimeOffset.UtcNow);