Keep Voyage reranking fork-only initially behind an optional provider interface. With no provider configured, preserve upstream ranking byte-for-byte. Tests use a deterministic local provider and require no network credentials.
Acceptance: provider failure has an explicit fallback/error policy, no-provider behavior is unchanged, and premium defaults stay outside generic upstream code.
Validation: deterministic ranking, no-provider, timeout, malformed response, and secret-redaction tests.
Parent epic: #39
Tracking ID: R17
Keep Voyage reranking fork-only initially behind an optional provider interface. With no provider configured, preserve upstream ranking byte-for-byte. Tests use a deterministic local provider and require no network credentials.
Acceptance: provider failure has an explicit fallback/error policy, no-provider behavior is unchanged, and premium defaults stay outside generic upstream code.
Validation: deterministic ranking, no-provider, timeout, malformed response, and secret-redaction tests.
Parent epic: #39
Tracking ID:
R17