miroir/crates
jedarden e2fa9b2a7f feat(mode-a): integrate ModeACoordinator with anti-entropy, task_pruner, and canary (P6.3, miroir-m9q.3)
Implements plan §14.5 Mode A rendezvous-partitioned ownership for background work:
- Anti-entropy reconciler: uses owns_shard() to partition shard fingerprinting
- Task registry pruner: uses owns_task_sync() for partitioned task cleanup
- Canary runner: uses owns_task() for partitioned canary execution
- Settings drift checker: already integrated in rebalancer_worker/drift_reconciler.rs
- TTL sweeper: structure exists in rebalancer_worker/ttl_worker.rs

Key changes:
- AntiEntropyReconciler: replaced simple modulo partitioning with rendezvous hashing via ModeACoordinator
- ModeACoordinator: added owns_task_sync() for sync callback use (task_pruner)
- CanaryRunner: added mode_a_coordinator field and with_mode_a() method
- main.rs: integrated ModeACoordinator with task_pruner spawn

Acceptance tests added:
- test_owns_exactly_one_peer_per_item: verifies exactly one pod owns each item
- test_mode_a_three_pods_each_shard_processed_once: verifies shard partitioning across 3 pods
- test_mode_a_pod_reassignment: verifies shard reassignment when pod dies
- test_owns_task_sync: tests sync ownership function

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 06:31:32 -04:00
..
miroir-core feat(mode-a): integrate ModeACoordinator with anti-entropy, task_pruner, and canary (P6.3, miroir-m9q.3) 2026-05-24 06:31:32 -04:00
miroir-ctl feat(proxy): implement streaming routed dump import (P5.9, §13.9) 2026-05-24 06:07:00 -04:00
miroir-proxy feat(mode-a): integrate ModeACoordinator with anti-entropy, task_pruner, and canary (P6.3, miroir-m9q.3) 2026-05-24 06:31:32 -04:00