Skip to content

Drop Details one SKU tier; cap brand-path Details budget - #10

Merged
timwangmusic merged 1 commit into
mainfrom
perf/details-tier-trim
Aug 14, 2026
Merged

Drop Details one SKU tier; cap brand-path Details budget#10
timwangmusic merged 1 commit into
mainfrom
perf/details-tier-trim

Conversation

@timwangmusic

Copy link
Copy Markdown

What

Two cost cuts on the Place Details path — the dominant Google spend (one call per new place on a cold cell):

  1. Field mask: editorial_summary and photos removed. editorial_summary was the only Atmosphere-tier field in the mask, so every Details call now bills one SKU tier lower. Nothing on the OfferBee wire (/v1/nearby-places, /v1/nearby-places-by-category, /v1/place-search, /confirm) reads Summary or Photo — verified against geoService.ts and its callers. The Details-freshness signal (url, see detailsSourcedFields) and open-now filtering (opening_hours) keep their fields; the freshness check never looked at Photo on the hot path.
  2. Brand endpoint Details cap: DetailsLimit was tied to the candidate pool (limit, clampable to 40). Across a 25-brand request that's a worst case of 1000 Details calls on a cold cell. Now min(limit, 10); OfferBee's actual limitPerBrand of 3 is unaffected.

The category endpoint keeps its existing min(limit, 20) cap.

Tests

config_yaml_test.go's mask pin now bans editorial_summary/photos alongside name/user_ratings_total and requires exactly the four load-bearing fields. Full suite green.

🤖 Generated with Claude Code

https://claude.ai/code/session_01YXnUPPE6LvNbzU1QnYuUCn

editorial_summary was the lone Atmosphere-tier field in the Details mask;
nothing on the OfferBee wire reads Summary or Photo, so both come out and
every Details call bills one tier lower. The brand endpoint's Details budget
is capped at min(limit, 10) — it followed the candidate pool before, so a
widened limit (40) across a 25-brand request could buy 1000 Details calls
on a cold cell. The freshness signal (url) and open-now filtering
(opening_hours) keep their fields.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YXnUPPE6LvNbzU1QnYuUCn
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@timwangmusic, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 71 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: b7ad3913-e16f-417d-ad7a-17ef331d7e55

📥 Commits

Reviewing files that changed from the base of the PR and between 5128a63 and d7e0afe.

📒 Files selected for processing (3)
  • config/config.yml
  • config_yaml_test.go
  • planner/planner.go

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@timwangmusic
timwangmusic merged commit 4243be1 into main Aug 14, 2026
3 checks passed
@Ronnie434
Ronnie434 deleted the perf/details-tier-trim branch August 14, 2026 06:23
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.

3 participants