Skip to content

docs: claim spec v0.9.0 - #362

Merged
josecolella merged 1 commit into
mainfrom
docs/claim-spec-v0.9.0
Oct 23, 2026
Merged

josecolella merged 1 commit into
mainfrom
docs/claim-spec-v0.9.0

Conversation

@josecolella

@josecolella josecolella commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #300. Merge after #360 and #361: the claim depends on both. 0.8.0 shipped before them, so the first release that meets the claim is the one after #361 (0.8.1).

Moves the README's specification badge from v0.8.0 to v0.9.0, the version the spec submodule is pinned to (d5b0a73).

Compliance summary

A compliance audit checked every requirement in sections 1–6 and Appendix A on main (9e166fe), reading each test's body rather than its label. Once #361 (behavior fixes) and #360 (missing tests) merge, every MUST and MUST NOT is met or n/a. The one exception is 1.4.10, which we read with the two calls listed below.

Section Fixed in #361 Tests added in #360
1 Flag evaluation API 1.4.15.1, 1.6.1, 1.6.2 1.3.1.1, 1.6.2, 1.7.6
2 Providers 2.8.5.1 2.3.1 (docs), 2.3.2
3 Evaluation context — 3.1.2, 3.1.4
4 Hooks 4.1.3, 4.1.4.1, 4.2.2.1, 4.3.8, 4.4.3, 4.4.4 4.2.1, 4.3.2, 4.4.2, 4.4.6, 4.5.2
5 Events 5.2.5 —
6 Tracking 6.1.1.1 6.1.3

For every other MUST, the audit found the implementing code and a test that exercises it.

n/a, by condition:

  • Static-context conditions (1.3.2, 1.4.2, 1.7.2, 3.2.2, 3.2.4, 3.3.2, 4.3.3, 5.3.4, 6.1.2 and their sub-requirements). This is a dynamic-context SDK.
  • 1.4.4 and 2.2.8. Ruby has no generics.
  • 4.3.9.1. finally isn't a reserved word in Ruby.
  • Multi-Provider items in Appendix A. The gem doesn't ship a Multi-Provider; see Multi-Provider in the SDK (spec Appendix A) #344.

How we read 1.4.10 (MUST NOT throw):

  • A default value of the wrong type raises ArgumentError. We treat it as Ruby's equivalent of a compile-time type error.
  • Exceptions outside StandardError and NotImplementedError propagate. These include Interrupt, SignalException, SystemExit, NoMemoryError, SystemStackError and ScriptError subclasses such as LoadError. Rescuing them would hide process-level failures and signals.

Other calls worth knowing:

  • 5.3.5: a lifecycle event emitted on the provider's init thread updates the status immediately, so set_provider_and_wait can return READY from inside a handler (1.1.2.4). Each event's status is still recorded before its own handlers run.
  • Not met, but SHOULD-level and non-blocking: 1.4.11 (partial), 1.4.12 and 1.8.4 (partial). 1.8.4 is detected only for providers that include EventEmitter.

Deferred from #300:

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Jose Colella <jose.colella@gusto.com>
@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

This review ran on the open-source allowance, not this organization's plan, because the pull request author doesn't have an assigned seat. Waiting won't change this — ask an organization admin to assign them a seat, or add seats in Billing if every seat is already assigned, then retry.

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e213836c-8802-48a9-83a4-2149485bcc36
📥 Commits

Reviewing files that changed from the base of the PR and between 9e166fe and e93bca6.

📒 Files selected for processing: 1
  • README.md
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@josecolella josecolella mentioned this pull request Oct 23, 2026
17 tasks done
@codecov

codecov Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.79%. Comparing base (9e166fe) to head (e93bca6).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #362   +/-   ##
=======================================
  Coverage   99.79%   99.79%           
=======================================
  Files          34       34           
  Lines         966      966           
=======================================
  Hits          964      964           
  Misses          2        2           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@josecolella
josecolella marked this pull request as ready for review October 23, 2026 22:39
@josecolella
josecolella requested a review from a team as a code owner October 23, 2026 22:39
Copilot AI balanced review requested due to automatic review settings October 23, 2026 22:39

Copilot AI 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.

🔵 Needs a closer look

A maintainer must verify that prerequisite PRs #360 and #361 have merged before approving the compliance claim.

No open issues 🎉

What changed in this PR

Updates the Ruby SDK’s documented specification version to v0.9.0 as the final step in the compliance work tracked by #300. The claim depends on #360 and #361 merging first.

Changes:

  • Updates the specification badge from v0.8.0 to v0.9.0.
  • Points the badge link to the corresponding specification release; no runtime code changes.
File Description
README.md Updates the specification badge version and release link.

Review effort: Balanced

@josecolella
josecolella merged commit 4f23921 into main Oct 23, 2026
29 checks passed
@josecolella
josecolella deleted the docs/claim-spec-v0.9.0 branch October 23, 2026 23:12
josecolella added a commit that referenced this pull request Oct 23, 2026
The release PR was generated from README.md before #362 landed and
reverted the badge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Jose Colella <jose.colella@gusto.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.

Spec v0.9.0 compliance

2 participants