miroir/tests/benches/score-comparability/results
jedarden b23e70656e P2.2: Implement write path with primary key validation, shard injection, and two-rule quorum
Implements POST/PUT /indexes/{uid}/documents and DELETE /indexes/{uid}/documents:

- Primary key extraction on hot path with 400 miroir_primary_key_required if missing
- _miroir_shard injection into every document before forwarding to nodes
- Rejection of _miroir_shard in client-submitted docs (400 miroir_reserved_field)
- Two-rule quorum: per-group floor(RF/2)+1 ACKs, success if ≥1 group meets quorum
- X-Miroir-Degraded header when any group misses quorum
- 503 miroir_no_quorum only when NO group meets quorum
- Per-batch grouping by target shard for efficient HTTP fan-out
- DELETE by IDs routes each ID independently to its shard
- DELETE by filter broadcasts to all nodes

Acceptance tests pass:
- Primary key validation before any writes
- Reserved field rejection
- Shard distribution uniformity (17-26 shards/node with 64 shards/3 nodes)
- Quorum calculation: floor(RF/2)+1
- Meilisearch-compatible error shape

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 06:48:30 -04:00
..
compare.py P12.OP4: Add confidence intervals to score comparability benchmark 2026-04-19 00:07:42 -04:00
comparison-report-dfs-correct.json P12.OP4: Validate RRF merge quality — τ=0.14 confirms DFS preflight is required 2026-04-19 05:43:42 -04:00
comparison-report-dfs.json P12.OP4: Implement dfs_query_then_fetch for cross-shard comparability 2026-04-19 03:43:10 -04:00
comparison-report-rrf-correct.json Phase 1 Core Routing: validate and fix compilation 2026-04-19 03:22:33 -04:00
comparison-report-score-correct.json Phase 1 Core Routing: validate and fix compilation 2026-04-19 03:22:33 -04:00
experiment.json P2.2: Implement write path with primary key validation, shard injection, and two-rule quorum 2026-04-19 06:48:30 -04:00