miroir/crates
jedarden ebc300355c P2.3: Implement scatter-gather search with group fallback
Implement the search read path with scatter-gather + merge + group selection:

1. Group-unavailability fallback: When a shard has no available replica
   in the primary group, the Fallback policy tries other replica groups
   before failing. This provides full results (not degraded) when an
   alternate group is healthy.

2. X-Miroir-Degraded header: Now includes actual shard IDs in the format
   "X-Miroir-Degraded: shards=3,7,11" instead of just "partial".

3. Acceptance tests for P2.3:
   - Unique-keyword search deduplicates correctly (RRF)
   - Facet counts sum across shards
   - Paging with no dupes/gaps
   - Node down with RF=2 still covers all shards
   - Group down falls back to other group (not degraded)
   - Degraded header includes actual shard IDs

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 06:40:04 -04:00
..
miroir-core P2.3: Implement scatter-gather search with group fallback 2026-04-19 06:40:04 -04:00
miroir-ctl P0.7: Fix cargo fmt and clippy warnings for CI smoke 2026-04-18 22:06:56 -04:00
miroir-proxy P2.3: Implement scatter-gather search with group fallback 2026-04-19 06:40:04 -04:00