- Run cargo clippy --fix to apply uninlined format args suggestions
- Fix deprecated IndexMap::remove calls in session_pinning.rs (use shift_remove)
- Various test and source files updated by clippy auto-fix
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Add test-helpers feature to miroir-core for test-only methods
- Add test helper methods to InMemoryTaskRegistry:
- set_error_for_test: Set error and node_errors for testing
- set_timestamps_for_test: Set started_at/finished_at timestamps
- set_node_task_status_for_test: Set node task status
- set_task_status_for_test: Set overall task status
- update_status: Async status update with timestamp handling
- update_node_task: Async node task status update
- Fix error_format_parity.rs: Replace MiroirCode::ALL with static array
to avoid const evaluation issues in test contexts
- Add regex dependency to miroir-proxy for testing
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Fixes:
- Removed #[axum::debug_handler] from search_handler to fix Send trait issue
(EnteredSpan is not Send, causing compilation error)
- Updated p2_phase2_dod.rs tests to use new plan_search_scatter signature
(async function with additional replica_selector parameter)
- Removed unused imports
The P2.4 implementation was already complete in indexes.rs and keys.rs:
- POST /indexes creates index on every node with rollback on failure
- PATCH /indexes/{uid}/settings sequential broadcast with rollback
- DELETE /indexes/{uid} broadcasts to all nodes
- GET /indexes/{uid}/stats aggregates logical doc count (divided by RG*RF)
- POST/PATCH/DELETE /keys broadcasts with rollback
All tests pass:
- p24_index_lifecycle: 11/11 tests pass
- p2_phase2_dod: 14/14 tests pass
- miroir-proxy lib: 135/135 tests pass
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>