Skip to content

openfeature-support-sample#444

Draft
cbanner wants to merge 3 commits intomasterfrom
006-openfeature-spec-gaps
Draft

openfeature-support-sample#444
cbanner wants to merge 3 commits intomasterfrom
006-openfeature-spec-gaps

Conversation

@cbanner
Copy link
Copy Markdown

@cbanner cbanner commented Apr 11, 2026

Summary

  • Add OpenFeature provider package (pkg/openfeature/) that delegates flag evaluation to the Optimizely Go SDK
  • Support both provider-managed and caller-managed Optimizely client lifecycle modes
  • Implement all OpenFeature interfaces: FeatureProvider, StateHandler, EventHandler, Tracker
  • Include comprehensive README with usage guide, native SDK comparison, and caveats

Test plan

  • 92 unit tests passing with race detector enabled
  • 92.9% statement coverage across the provider package
  • Parity test validates OpenFeature results match native Decide API
  • Manual validation with a live Optimizely project and SDK key
  • Review with team for API surface approval

🤖 Generated with Claude Code

cbanner and others added 3 commits April 10, 2026 15:08
…n v1.2.0)

Establishes development guidance and project constitution with 8 core
principles for the Optimizely Go SDK: backward compatibility, correctness,
TDD, performance, cross-SDK parity, security, observability, and idiomatic Go.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Implement an OpenFeature-compatible provider (pkg/openfeature/) that
delegates flag evaluation, tracking, and lifecycle management to the
Optimizely Go SDK. Supports both SDK-key and pre-initialized client
construction modes, emits OpenFeature lifecycle events, and maps
Optimizely decisions to spec-compliant resolution details.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Covers getting started (both construction modes), evaluation context
mapping, flag evaluation for all types, tracking, events, a native SDK
comparison table, and caveats for developers adopting the provider.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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