miroir/crates
jedarden 83c03d0909 feat(reshard): implement dual-hash dual-write phase (P5.1.b)
Implements plan §13.1 step 2: dual-hash dual-write during resharding.
When an index is in resharding dual-write phase (shadow exists),
every write routes to BOTH live (hash %S_old) AND shadow (hash %S_new)
indexes, each with its own _miroir_shard tag. Shadow writes are tagged
with origin="reshard_backfill" for CDC suppression (plan §13.13).

Changes:
- Add ReshardingRegistry to track active resharding operations
- Add ReshardOperationState for dual-write detection
- Add prepare_dual_write_documents() to separate live/shard batches
- Modify write_documents_impl to check resharding registry
- Add shadow index write path with origin tagging
- Add ReshardingRegistry to AppState for write path access

Tests:
- 15 ReshardingRegistry tests covering register, get, update, remove
- 4 dual_write tests for document preparation logic

Closes: miroir-uhj.1.2
2026-05-24 03:02:36 -04:00
..
miroir-core feat(reshard): implement dual-hash dual-write phase (P5.1.b) 2026-05-24 03:02:36 -04:00
miroir-ctl feat(multi-search): implement timeout enforcement and acceptance tests (§13.11) 2026-05-24 01:54:20 -04:00
miroir-proxy feat(reshard): implement dual-hash dual-write phase (P5.1.b) 2026-05-24 03:02:36 -04:00