Skip to content

feat(worker): materialize venue dimension variants (pm-data-freshness + pm-api-latency)#730

Merged
Flotapponnier merged 1 commit into
devfrom
feat/benchmark-venue-dimension
Jun 25, 2026
Merged

feat(worker): materialize venue dimension variants (pm-data-freshness + pm-api-latency)#730
Flotapponnier merged 1 commit into
devfrom
feat/benchmark-venue-dimension

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Root cause: variantCombos() walked chain × region × kind. Specs declaring dimensions.venue (pm-data-freshness, pm-api-latency) saw the Venue toggle render in the bench page UI, but every click fell back to the unfiltered aggregate because the worker never pre-materialized per-venue snapshots.

Fix: add venue to the cartesian product in variantCombos() and propagate it through variantPath(). Backend was already venue-aware (BenchmarkFilters.venue, parseFilterSig, activeFilterLabels, injectLabels) — only the variant enumerator was missing it.

After merge + worker redeploy: clicking the Venue tab on /benchmarks/pm-data-freshness or /benchmarks/pm-api-latency filters the leaderboard to that venue's per-provider scores instead of returning the all-venues aggregate.

variantCombos() walked chain × region × kind only. Specs declaring dimensions.venue (pm-data-freshness, pm-api-latency) saw their venue tabs render in the UI but every variant request fell back to the unfiltered aggregate because the worker never materialized per-venue snapshots.

Add venue to the cartesian product and propagate it through variantPath(). After this lands and the worker redeploys, /api/bench/<slug>/variant?venue=X returns the per-venue snapshot, and the Venue toggle on the bench page actually filters.
@Flotapponnier
Flotapponnier merged commit 7d18644 into dev Jun 25, 2026
1 check passed
@Flotapponnier
Flotapponnier deleted the feat/benchmark-venue-dimension branch June 25, 2026 16:05
Flotapponnier added a commit that referenced this pull request Jun 26, 2026
Dev was force-pushed after PR #730 and the venue support in BenchmarkFilters (materialize/filters.ts) was lost in the spec/snapshot refactor PR #739. The worker still references f.venue and dims.venue, so typecheck failed. Re-add venue across:
- BenchmarkFilters union (load.ts)
- parseFilterSig allowlist
- Spec.dimensions schema (spec-schema.ts) so YAML venue dim parses
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant