Repository navigation
Conversation
Apply cross-SDK evaluator review findings for forward-compatible parsing and root error propagation. Environment: Datadog workspace Co-Authored-By: Codex GPT-5 <noreply@localhost>
OpenFeature Browser Provider Bundle SizesMeasured from the Vite production output after installing packed Both scenarios initialize an OpenFeature provider, evaluate a boolean flag, change context, and evaluate again. Telemetry is disabled for DatadogProvider; no tracking hooks are registered for DatadogCoreProvider. DatadogProvider fetches precomputed assignments for each context; DatadogCoreProvider receives rules from fetchRulesConfiguration once and evaluates locally. Sizes include OpenFeature and the same small scenario harness. Configuration responses are supplied by Playwright and are not bundled. These are complete scenario JS sizes, not configuration payload sizes or isolated provider/Protobuf costs; the difference between rows is not a decoder-only delta.
Dependency checks passed: no Protobuf markers in default/precomputed scenarios; markers present in rules-based scenarios. OpenFeature Browser Tracking Hook Bundle SizesSynthetic entrypoints import and call tracking hook factories from the packed
OpenFeature Node Server Bundle SizesIndependent Webpack production builds of the installed core and Node SDK tarballs, targeting Node 18 with ESM (
Adding SSR helpers to the provider adds 83.1 KiB raw / 23.6 KiB gzip in this build. This includes fetching, parsing, and serialization, not just the decoder. SSR helpers fetch rules for the browser, not for configuring that provider (which uses its existing JSON API). Adding precomputation to the provider adds 3.2 KiB raw / 1.0 KiB gzip in this build. Both precompute scenarios import precomputeConfiguration from /rules-based and receive already-parsed rules from the test harness; they do not fetch, parse, or serialize configuration. These are bundler sizes, not npm install sizes, unbundled Node require/import costs, payload sizes, or latency. Gzip compares compressed artifacts. Deltas compare scenarios in this build, not changes against the base branch. The browser scenarios include OpenFeature and a different harness, so their sizes are not directly comparable. Dependency checks passed: no Protobuf runtime or generated schema modules in the provider-only or either precompute bundle; present in both SSR bundles (checked using Webpack module statistics). This report shows current PR artifact sizes only; it does not compare against the base branch. |
Keep malformed evaluator parameters from failing configuration evaluation and log the depth fallback. Environment: Datadog workspace Co-Authored-By: Codex GPT-5 <noreply@localhost>
|
🤖 Comment from Claude working with Aaron Silverman: Heads up: this PR duplicates #453 (same author, same change). #453 contains everything in this PR's two commits, plus Suggest closing this PR in favor of #453. Nothing here needs to move. |
Preserve JSON and protobuf depth representation semantics and assert prerequisite error messages. Environment: Datadog workspace Co-Authored-By: Codex GPT-5 <noreply@localhost>
Normalize graph errors, tolerate malformed evaluator options, and preserve dependency telemetry ordering. Environment: Datadog workspace Co-Authored-By: Codex GPT-5 <noreply@localhost>
Summary
Applies the evaluator findings synthesized from Aaron’s dependent-flags reviews across the Java, .NET, Go, libdatadog, Python, PHP, Ruby, and JavaScript workstreams.
flagEvaluationobjects while continuing to require a non-emptykeyGENERALfor an existing root flag whose graph failsevaluatorParamsblocks and invalid or wrongly typedmaxDependencyDepthvalues as absent, log an error, and use the hard-coded depth of 10Scope
This PR is limited to evaluator parsing, failure semantics, and regressions. Capability negotiation, tracer integration, release pins, and system-test activation remain in their owning workstreams.
Validation
corepack yarn buildcorepack yarn typecheckcorepack yarn lintcorepack yarn format:checkcorepack yarn test:build— 126 passedcorepack yarn testgit diff --check