Skip to content

Conversation

@cupofcat
Copy link
Contributor

@cupofcat cupofcat commented Dec 3, 2025

Update the status of the ADR to accepted

@cupofcat cupofcat requested review from a team as code owners December 3, 2025 13:02
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Dec 3, 2025
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @cupofcat, 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 formalizes a significant architectural decision by marking the "Harden Hashing Consistency And Add Support For Non-string Attributes in Fractional Evaluation" ADR as accepted. The core purpose of this ADR is to improve the reliability and flexibility of the fractional operator within flagd. It addresses current inconsistencies in hashing across different language providers and removes the need for explicit string coercion for non-string attributes, making flag definitions more ergonomic. While this enhancement will lead to a one-time rebucketing for all users, it establishes a more robust and consistent foundation for feature flag evaluation.

Highlights

  • ADR Status Update: The Architecture Decision Record (ADR) titled "Harden Hashing Consistency And Add Support For Non-string Attributes in Fractional Evaluation" has been updated to "accepted".
  • Fractional Operator Enhancement: The accepted ADR proposes enhancing the fractional operator to ensure consistent hashing across all providers and platforms, and to support non-string values as hashing input.
  • Deterministic Encoding: The proposal standardizes deterministic byte encodings for various data types using RFC 8949 Concise Binary Object Representation (CBOR) to achieve platform-independent hashing.
  • Rebucketing Impact: This change will result in a breaking behavioral change for all users due to rebucketing, as all hashes will change with the new encoding scheme.
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.

@cupofcat cupofcat changed the title Update the status of Harden Hashing Consistency And Add Support For Non-string Attributes in Fractional Evaluation ADR to accepted chore(ADR): Update the status of Harden Hashing Consistency And Add Support For Non-string Attributes in Fractional Evaluation ADR to accepted Dec 3, 2025
@netlify
Copy link

netlify bot commented Dec 3, 2025

Deploy Preview for polite-licorice-3db33c canceled.

Name Link
🔨 Latest commit 3495564
🔍 Latest deploy log https://app.netlify.com/projects/polite-licorice-3db33c/deploys/6930355fe35d8a0008343e82

Copy link
Contributor

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

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 introduces an Architecture Decision Record (ADR) to standardize hashing in the fractional operator and add support for non-string attributes. The ADR is well-structured and clearly outlines the problem, proposed solution, and consequences, including the breaking change of rebucketing for all users. The choice of CBOR for deterministic encoding is solid. I have one suggestion to improve the clarity of the data type definitions to ensure consistent implementation across different providers.

@dosubot dosubot bot added size:XS This PR changes 0-9 lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Dec 3, 2025
@sonarqubecloud
Copy link

sonarqubecloud bot commented Dec 3, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants