SIGN IN SIGN UP

fix(deals): vendor family independent of entry and long-context tier with parser coverage

Family was only set when MODEL_DEALS[modelId] existed, breaking the
never-from-scraped guarantee for known vendors without deals
(src/plugin/deals-enrichment.ts:17). Move vendorFamilyForModel before
the entry guard and update the empty-deals degradation test.

Emit overContext for long-context tiers (>256K) that differ from the
base tier (scripts/refresh-deals.mjs:113, src/catalog/deals.ts:63) —
covers Qwen 3.6-Plus, Qwen 3.7-Flash/Plus, GPT 5.6 variants and Grok
4.6; MiniMax M3 identical tier correctly omitted.

Add missing seams at test boundaries: html-tables, parse-docs
(extractModelRecords, extractPlanAllowances, num, endsAtFor,
ratesFor, benchmarkFor) and refresh-deals (discountFor,
peakOffPeakFor, modelDealEntry, emitDealsModule) against
tests/fixtures/*.html, and wire tui-deals-panel into test:unit.
Tests verify behavior through public interfaces with independent
fixture literals.
R
Rashid Razak committed
95de39a55bf5192051516fc2a3a6174a38caca5a
Parent: cb167ff