Skip to content

Add Optimizely docs: docs/optimizely.md and README + providers updates#145

Merged
EtaCassiopeia merged 2 commits into
mainfrom
feat/optimizely-docs
May 13, 2026
Merged

Add Optimizely docs: docs/optimizely.md and README + providers updates#145
EtaCassiopeia merged 2 commits into
mainfrom
feat/optimizely-docs

Conversation

@EtaCassiopeia
Copy link
Copy Markdown
Owner

@EtaCassiopeia EtaCassiopeia commented May 13, 2026

Summary

Implements #137 (D5 — Optimizely docs) from the 1.0-readiness milestone.

Stacked. Base branch is feat/optimizely-hardening-and-failure-tests (#141). This branch also merges in feat/init-timeout-and-sync-verify (#138) and feat/typed-errors-and-ofrep-validation (#139) so the documentation references real APIs (init timeout, validated OptimizelyProvider.make, typed Unauthorized/Unreachable errors). Once #138, #139, #140, and #141 land in main, retarget to main.

What lands

  • docs/optimizely.md (new) — comprehensive Optimizely guide with seven sections:

    1. Getting an SDK key.
    2. Quick start — full runnable snippet using OptimizelyProvider.make(sdkKey) + FeatureFlags.fromProviderAsync.
    3. Configuring init timeout — when to lower it (tests), when to raise it (cold start on constrained network), how to handle Fatal status with a polling helper.
    4. Self-hosted Optimizely Agent — the two-arg OptimizelyProvider.make(sdkKey, datafileUrl) overload.
    5. Production resilience — CircuitBreakerProvider composition with concrete config, including the infrastructure-vs-application error classification note.
    6. Testing your app — TestFeatureProvider for unit tests, plus the WireMock pattern for integration tests of the Optimizely wiring itself.
    7. Operations — alerting matrix (Unauthorized / Unreachable / Fatal / errorCode-populated FlagResolution), ConfigurationChanged handling, and the recommended liveness/readiness check.
  • docs/providers.md — replaced the existing "Using Optimizely" section (which referenced the unpublished contrib provider) with a quick-start pointing at zio-openfeature-optimizely. Updated the "Other Providers" table to reference our module and link to the dedicated guide. User-targeting + feature-variables subsections rewritten against the actual API (including the openfeature.variableKey context-attribute override).

  • README.md — added zio-openfeature-optimizely to the installation snippet alongside OFREP. Added a "Using Optimizely Feature Experimentation" subsection with a compact runnable example. Fixed the "Popular Providers" table to point Optimizely at our module rather than the unpublished contrib artifact.

Closes #137

@EtaCassiopeia EtaCassiopeia added the area:optimizely optimizely module label May 13, 2026
@EtaCassiopeia EtaCassiopeia added this to the 1.0-readiness milestone May 13, 2026
@EtaCassiopeia EtaCassiopeia added the kind:docs documentation label May 13, 2026
@EtaCassiopeia EtaCassiopeia force-pushed the feat/optimizely-hardening-and-failure-tests branch from 984ef59 to b28b946 Compare May 13, 2026 16:47
Base automatically changed from feat/optimizely-hardening-and-failure-tests to main May 13, 2026 16:51
@EtaCassiopeia EtaCassiopeia force-pushed the feat/optimizely-docs branch from ec5b1fa to 6b8dca7 Compare May 13, 2026 16:53
@EtaCassiopeia EtaCassiopeia merged commit ec516fb into main May 13, 2026
8 checks passed
@EtaCassiopeia EtaCassiopeia deleted the feat/optimizely-docs branch May 13, 2026 16:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:optimizely optimizely module kind:docs documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[D5] Add Optimizely section to README + docs/optimizely.md

1 participant