Two cleanups from the May 2026 audit:
1. /v1/chat/completions — when the request includes an explicit `model`
field that doesn't resolve to an enabled catalog row, return 400
instead of silently auto-routing to a totally different model. The
silent fallthrough surprised playground users who 'forced' a disabled
model and got something unrelated back without a signal.
Behavior:
- model omitted → auto-route via fallback (unchanged).
- model matches enabled row → pin to it (unchanged).
- model matches disabled row → 400 with reason 'is disabled'.
- model not in catalog at all → 400 with reason 'is not in the catalog'.
Both 400s carry error.code = 'model_not_found'.
2. docs/index.html stale references — removed the Hugging Face provider
card (HF was dropped from the catalog in V4), updated provider count
from 12 → 11 across meta description, OG description, Twitter card,
hero badge, and tokens-stat sub. Removed the orphan logos/huggingface.svg.
Ve…
docs: add Open Graph + Twitter Card meta + minimal OG image (#21)
Adds the social-share metadata so links unfurl with a proper preview:
- og:title / og:description / og:url / og:image (1200x630)
- twitter:card summary_large_image
- og:image:width/height for compliant unfurlers
- canonical link
- theme-color (#0a0a0a) for browser chrome
OG image is the aperture mark only — black background, white circle,
black inner dot — no text, matches the favicon and navbar brand-mark.
Source SVG kept alongside the rendered PNG (15KB).
Single-page site under /docs:
- Pure black/white/grey palette, mono fonts for numbers and metadata
- Centerpiece: '1B tokens / month' aggregate free budget
- 12 provider cards with real logos (SVGs from SimpleIcons + LobeIcons,
SambaNova from Brandfetch, Z.ai user-supplied) all desaturated via
CSS filter for visual consistency
- Quick-start terminal block with window chrome + prompt prefixes
- Aperture-style brand mark (matched favicon and navbar)
- No build step, no JS, no external fonts — pure inline CSS
- All static assets self-contained in /docs
Activate via repo Settings -> Pages -> Source: main, /docs.