Skip to content

feat: add internal BigSegmentsBuilder + config struct#541

Open
beekld wants to merge 4 commits into
mainfrom
beeklimt/SDK-2364
Open

feat: add internal BigSegmentsBuilder + config struct#541
beekld wants to merge 4 commits into
mainfrom
beeklimt/SDK-2364

Conversation

@beekld
Copy link
Copy Markdown
Contributor

@beekld beekld commented May 29, 2026

Summary

Internal-only plumbing for Big Segments configuration: a private BigSegmentsBuilder (under src/config/builders/) that produces a public built::BigSegmentsConfig. No ConfigBuilder method yet, so this isn't reachable from customer code.

Test plan

  • 9/9 new BigSegmentsBuilderTest cases pass

Note

Low Risk
New internal config types and builder only; no client wiring or evaluation behavior changes yet, with behavior locked by unit tests.

Overview
Adds internal Big Segments configuration plumbing: a public built::BigSegmentsConfig value type and a private BigSegmentsBuilder under src/config/builders/ that resolves store pointer, LRU cache size/TTL, metadata poll interval, and stale-after threshold.

Build() applies spec defaults (e.g. 1000 cache entries, 5s cache/poll, 2min stale), coerces zero/negative durations back to defaults, and clamps status_poll_interval to stale_after when poll would be slower than staleness detection. A null store is allowed for “not configured.” CMake picks up the new built header glob and big_segments_builder.cpp; nine unit tests cover defaults, setters, coercion, clamping, and repeatability. There is still no ConfigBuilder hook—customer-facing wiring is not in this diff.

Reviewed by Cursor Bugbot for commit 915ddb1. Bugbot is set up for automated code reviews on this repo. Configure here.

@beekld beekld marked this pull request as ready for review May 29, 2026 02:06
@beekld beekld requested a review from a team as a code owner May 29, 2026 02:06
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