Follow-up to #187/#188.
Problem
dashboard/src/lib/model-breakdown.ts computes fuzzyPricingModels per provider (buildFleetData() / buildUsageInsights()), and plan-value.ts correctly sets confidence: "floor" when any model in the comparison window is fuzzy-priced. But DashboardPage.jsx / ProviderBreakdownCard.jsx only render missingPricingModels ("N pricing missing") — fuzzyPricingModels is computed and then dropped. A user looking at the per-provider breakdown has no way to tell "$3,164.69 is measured" from "$3,164.69 is a guessed substring match."
Verified: grep -rn "fuzzyPricingModels" dashboard/src/ shows it consumed only inside model-breakdown.ts itself — zero JSX consumers.
Ask
Add a caveat to ProviderBreakdownCard.jsx mirroring the existing provider_missing_pricing pattern (usage.overview.provider_missing_pricing copy key), e.g. provider_fuzzy_pricing: "{{count}} pricing estimated", shown whenever provider.fuzzyPricingModels.length > 0.
Evidence
dashboard/src/lib/model-breakdown.ts:159 (fuzzyPricingModels returned from buildFleetData)
dashboard/src/ui/dashboard/components/ProviderBreakdownCard.jsx:78-79,176-182 (only missingPricingModels rendered)
dashboard/src/content/copy.csv:234 (provider_missing_pricing exists; no fuzzy equivalent)
Follow-up to #187/#188.
Problem
dashboard/src/lib/model-breakdown.tscomputesfuzzyPricingModelsper provider (buildFleetData()/buildUsageInsights()), andplan-value.tscorrectly setsconfidence: "floor"when any model in the comparison window is fuzzy-priced. ButDashboardPage.jsx/ProviderBreakdownCard.jsxonly rendermissingPricingModels("N pricing missing") —fuzzyPricingModelsis computed and then dropped. A user looking at the per-provider breakdown has no way to tell "$3,164.69 is measured" from "$3,164.69 is a guessed substring match."Verified:
grep -rn "fuzzyPricingModels" dashboard/src/shows it consumed only insidemodel-breakdown.tsitself — zero JSX consumers.Ask
Add a caveat to
ProviderBreakdownCard.jsxmirroring the existingprovider_missing_pricingpattern (usage.overview.provider_missing_pricingcopy key), e.g.provider_fuzzy_pricing: "{{count}} pricing estimated", shown wheneverprovider.fuzzyPricingModels.length > 0.Evidence
dashboard/src/lib/model-breakdown.ts:159(fuzzyPricingModelsreturned frombuildFleetData)dashboard/src/ui/dashboard/components/ProviderBreakdownCard.jsx:78-79,176-182(onlymissingPricingModelsrendered)dashboard/src/content/copy.csv:234(provider_missing_pricingexists; no fuzzy equivalent)