miroir/crates
jedarden 70f8401940 fix(proxy): resolve CDC manager type mismatches in FromRef implementations
The AppState struct includes cdc_manager: Option<Arc<CdcManager>>, but the
FromRef implementations were trying to extract CdcManager directly. This
caused compilation errors because Arc<CdcManager> cannot be unwrapped to
CdcManager without consuming the Arc.

Changes:
- Updated FromRef<UnifiedState> for Arc<CdcManager> instead of CdcManager
- Updated CDC route trait bound to Arc<CdcManager>: FromRef<S>
- Added missing cdc_manager field in admin_endpoints AppState FromRef impl
- Added serde_urlencoded dev dependency for CDC route query param tests

The scoped key rotation implementation (P5.21.a, §13.21) was already complete:
- Key creation via POST /keys with actions: ["search"], indexes scoped
- Redis hash storage with {primary_uid, previous_uid, rotated_at, generation}
- Leader lease coordination (search_ui_key_rotation:<index> scope)
- Per-pod observation beacon (60s TTL)
- Revocation safety gate with drain period
- Background rotation task

Closes: miroir-uhj.21.1
2026-05-24 04:38:47 -04:00
..
miroir-core feat(cdc): implement internal queue and GET /_miroir/changes endpoint (P5.13, §13.13) 2026-05-24 04:30:09 -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 fix(proxy): resolve CDC manager type mismatches in FromRef implementations 2026-05-24 04:38:47 -04:00