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> |
||
|---|---|---|
| .. | ||
| miroir-core | ||
| miroir-ctl | ||
| miroir-proxy | ||