fix: clarifications on event-driven-status by toddbaert · Pull Request #408 · open-feature/spec · GitHub
Skip to content

fix: clarifications on event-driven-status - #408

Merged
toddbaert merged 2 commits into
mainfrom
fix/provider-event-derived-state-addendum
Jul 16, 2026
Merged

toddbaert merged 2 commits into
mainfrom
fix/provider-event-derived-state-addendum

Conversation

@toddbaert

Copy link
Copy Markdown
Member
  • clarify ordering of events relative to initialize
  • clarify spontaneous events might exist without lifecycle methods
  • recommend coupling lifecycle and event interfaces

Just a few clarifications from #385, specifically addressing some post-merge comments from @dd-oleksii

@toddbaert
toddbaert requested a review from a team as a code owner July 13, 2026 17:41
@coderabbitai

coderabbitai Bot commented Jul 13, 2026 •

Copy link
Copy Markdown

@toddbaert
toddbaert force-pushed the fix/provider-event-derived-state-addendum branch from e91cb09 to da6d8e7 Compare July 13, 2026 17:41

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@specification/sections/02-providers.md`:
- Around line 343-344: Make the event-enabled versus legacy-provider conformance
boundary explicit: in specification/sections/02-providers.md lines 343-344 and
359-367, define whether lifecycle-event requirements and initialization ordering
apply to marker-enabled providers only, and state the legacy exception
consistently; mirror that compatibility scope in specification.json lines
585-592 and align the lifecycle event-support requirement in
specification/sections/05-events.md lines 38-39.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 233a723e-666f-4cf0-8ddc-00359fc7934d

📥 Commits

Reviewing files that changed from the base of the PR and between 8bb630c and da6d8e7.

📒 Files selected for processing (5)
  • specification.json
  • specification/appendix-e-migrations.md
  • specification/sections/01-flag-evaluation.md
  • specification/sections/02-providers.md
  • specification/sections/05-events.md

Comment thread specification/sections/02-providers.md
@toddbaert
toddbaert requested a review from dd-oleksii July 13, 2026 18:22
* clarify ordering of events relative to initialize
* clarify spontaneous events might exist without lifecycle methods
* recommend coupling lifecycle and event interfaces

Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
@toddbaert
toddbaert force-pushed the fix/provider-event-derived-state-addendum branch from 150bfdf to 1e90cf9 Compare July 15, 2026 20:13
@toddbaert
toddbaert merged commit 7886c6a into main Jul 16, 2026
10 of 11 checks passed
@toddbaert
toddbaert deleted the fix/provider-event-derived-state-addendum branch July 16, 2026 12:32
toddbaert added a commit that referenced this pull request Oct 7, 2026
> Reopens [#431](#431), which
could not be reopened after its branch moved. Same change, plus a second
package. **Base of the provider-conformance stack**:
[#423](#423) (assets) →
[#439](#439) (Appendix F) →
[#425](#425) (report schema)
stack on this, but it stands on its own and can merge alone.

## What

Sets up [release-please](https://github.com/googleapis/release-please)
to cut the specification's releases, replacing the manual tagging step.

## Why

The `vX.Y.Z` tags are created by hand. That is easy to postpone — v0.9.0
went out in July and the commits since it are unreleased — and it
assembles the changelog from whoever's memory is handy. release-please
proposes the version and the notes as a pull request, and tags once that
pull request is merged.

## What does not change

| | before | after |
|---|---|---|
| tag | `v0.9.0` | `v0.9.1`, `v0.10.0`, … |
| next version after a breaking change | minor, while < 1.0.0 |
unchanged |
| who decides a release goes out | a maintainer merging | a maintainer
merging the release PR |

`include-component-in-tag: false` keeps the bare `vX.Y.Z` shape rather
than `spec/vX.Y.Z`, and `.release-please-manifest.json` starts at
`0.9.0` so numbering continues rather than restarting. `release-type:
simple` because the root `package.json` is `private: true` and carries
no version of its own; `simple` tracks the version in `version.txt`,
which is why that file is added here.

## Scope: the specification package only

One package, `.`, tagged `vX.Y.Z` as it always has been.

The conformance assets under `specification/assets/provider-tck` need
their own tags too — a Go consumer cannot name a version without one —
but that configuration belongs beside the assets, so it is added in
[#423](#423) along with the
files it describes. This PR stays the general setup and can merge on its
own.

## What does change, and needs a decision

**Release notes become generated from conventional commits.** v0.9.0's
notes were written by hand, including the `⚠️ This release contains
breaking changes` callout linking #280, #306 and #360. Anything beyond
the commit subjects now has to be added to the release pull request
before it is merged.

If the TSC would rather keep the old shape, `changelog-sections` can be
tuned in a follow-up — the defaults are left here so the first release
is easy to eyeball.

## What to expect on merge

release-please runs on push to `main` and should open a release pull
request proposing **v0.9.1**; the non-chore commits since v0.9.0 are
#416, #419, #429 and #408, all `fix:` or `docs:`. Nothing is tagged
until that pull request is merged, so the first run is reviewable before
it has any effect.

The action configuration is the shape v5 actually reads: `command` and
`default-branch` are not v5 inputs, `target-branch` is, and `signoff` is
a configuration-file option rather than an action input — which matters
because this repository enforces DCO on the bot's own commits.

---------

Signed-off-by: Simon Schrottner <simon.schrottner@flagsmith.com>
Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.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.

2 participants