miroir/crates
jedarden 0fb5f58f2e Phase 1 (miroir-cdo): Core Routing — Final verification complete
This commit completes Phase 1 of the Core Routing implementation by
updating test assertions to match the Definition of Done requirements.

## Changes
- Updated `test_shard_distribution_64_3_rf1` to assert 18-26 shard range
  (previously 15-27) to match DoD requirement
- Updated `acceptance_uniformity_64_shards_3_nodes_rf1` to assert 18-26
  shard range for consistency

## DoD Verification
All Phase 1 requirements are satisfied:
- ✓ Rendezvous assignment is deterministic (test_rendezvous_determinism)
- ✓ Adding a 4th node moves at most ~2 × (1/4) of shards (test_minimal_reshuffling_on_add)
- ✓ 64 shards / 3 nodes / RF=1 → each node holds 18–26 shards (test_shard_distribution_64_3_rf1)
- ✓ Top-RF placement changes minimally (test_top_rf_stability)
- ✓ write_targets returns exactly RG × RF nodes (test_write_targets_count)
- ✓ query_group distributes evenly (test_query_group_distribution)
- ✓ covering_set returns one node per shard (test_covering_set_one_per_shard)
- ✓ merger passes all tests (comprehensive tests in merger.rs)
- ✓ ≥90% line coverage (router: 96.20%, topology: 100%, scatter: 100%, merger: 94.67%)

## Implementation Summary
Phase 1 implements the deterministic, coordination-free routing primitives:
- router.rs: HRW-based rendezvous hashing with seed 0 (matches Meilisearch Enterprise)
- topology.rs: Node health state machine (healthy/degraded/draining/failed/joining/active/removed)
- scatter.rs: Fan-out orchestration primitives (stubbed for Phase 1)
- merger.rs: Result merge with global sort, offset/limit, facet aggregation

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-09 12:19:46 -04:00
..
miroir-core Phase 1 (miroir-cdo): Core Routing — Final verification complete 2026-05-09 12:19:46 -04:00
miroir-ctl Phase 0 (miroir-qon): Add serial_test annotation to fix test race condition 2026-05-09 02:19:32 -04:00
miroir-proxy Phase 2 (miroir-9dj): Proxy + API Surface — Complete implementation 2026-05-09 12:08:28 -04:00