Skip to content

fix!: Fix numbering for immutable flag metadata requirement - #360

Merged
beeme1mr merged 1 commit into
open-feature:mainfrom
keelerm84:feat/fix-requirement-numbering
Jan 23, 2026
Merged

beeme1mr merged 1 commit into
open-feature:mainfrom
keelerm84:feat/fix-requirement-numbering

Conversation

@keelerm84

Copy link
Copy Markdown
Contributor

No description provided.

@keelerm84
keelerm84 requested a review from a team as a code owner January 15, 2026 15:05
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @keelerm84, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request resolves a numbering inconsistency within the OpenFeature specification. It specifically renumbers the conditional requirement concerning the immutability of flag metadata from 1.4.14.1 to 1.4.15.1. This change ensures that all references to this requirement are consistent and correctly aligned throughout the specification's various formats, including its machine-readable JSON, Gherkin feature tests, and Markdown documentation.

Highlights

  • Specification Renumbering: The conditional requirement for immutable flag metadata has been renumbered from 1.4.14.1 to 1.4.15.1.
  • Documentation Updates: References to the renumbered requirement have been updated across the specification.json, evaluation_v2.feature Gherkin file, and 01-flag-evaluation.md documentation.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩

Signed-off-by: Matthew Keeler <mkeeler@launchdarkly.com>
@keelerm84
keelerm84 force-pushed the feat/fix-requirement-numbering branch from fcaa56c to 39d1bdf Compare January 15, 2026 15:05

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request correctly fixes the numbering for the immutable flag metadata requirement from 1.4.14.1 to 1.4.15.1 across the specification files. The changes are consistent and accurate. I've added one comment in the Gherkin feature file to point out a pre-existing lack of clarity in a test scenario that could be improved.

# Testing immutability requirements (Spec 1.4.15/1.4.15.1)
# Testing: flag metadata must be immutable
@immutability @spec-1.4.14.1
@immutability @spec-1.4.15.1

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

While the renumbering to 1.4.15.1 is correct, there's some confusion in this scenario. The spec requirement 1.4.15.1 is about Flag metadata immutability, but the scenario is named Evaluation context immutability (line 494) and also seems to test evaluation context immutability (which is covered by spec 4.1.4.1).

To improve clarity, you could consider renaming the scenario to better reflect that it tests both context and details immutability, and adding the @spec-4.1.4.1 tag.

@beeme1mr

Copy link
Copy Markdown
Member

Thanks @keelerm84! I'm going to merge this because it's a clear typo and doesn't change the intent defined by the spec.

@beeme1mr
beeme1mr merged commit 5c38868 into open-feature:main Jan 23, 2026
6 checks passed
@keelerm84
keelerm84 deleted the feat/fix-requirement-numbering branch January 23, 2026 20: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