Covers the Voyage provider: no text generation on purpose, embedding requests and responses (auth, single-or-many input shaping, input-type defaults and overrides, index-ordered decoding), reranking requests and responses (top-k, falling back to the original document text when the API doesn't echo it), readable errors with the HTTP status, and base-URL overrides.

## Before writing SPEC.md files

Read https://raw.githubusercontent.com/brillout/sdd/refs/heads/main/sdd.md
