Repository navigation
feat: add evaluation case applicability controls - #56
Merged
Merged
Conversation
typotter
force-pushed
the
evaluation-skip-include
branch
from
October 23, 2026 16:27
6f28cbd to
b500475
Compare
typotter
force-pushed
the
evaluation-skip-include
branch
from
October 23, 2026 16:49
b500475 to
79da120
Compare
There was a problem hiding this comment.
🟡 Changes recommended
Contract validation accepts incorrect JSON types for version and filtering controls, weakening cross-platform consistency.
1 open issue
What changed in this PR
Adds platform applicability controls and optional feature-suite isolation to the rules-based evaluation corpus, so consumers can filter cases before initialization or configuration side effects.
Changes:
- Defines canonical platforms, case filtering, and explicit suite selection.
- Adds validation and regression tests, plus PHP and Python exclusions for known SDK gaps.
- Documents consumer ordering and expands workflow triggers for the new contract and suites.
| File | Description |
|---|---|
| README.md | Documents filtering, suite selection, and runner ordering. |
| evaluation-platforms.json | Defines the platform registry and applicability contract. |
| evaluation-cases/test-case-experimentation-opt-out.json | Adds PHP and Python exclusions for known gaps. |
| evaluation-cases/test-case-empty-flag.json | Excludes PHP empty-flag cases. |
| evaluation-cases/test-case-disabled-flag.json | Excludes PHP disabled-flag cases. |
| CONTRIBUTING.md | Adds applicability and feature-suite guidance. |
| ci/validate-fixtures.py | Validates platform annotations and self-contained suites. |
| ci/test_validate_fixtures.py | Adds filter and suite validation tests. |
| .github/workflows/validate-fixtures.yml | Triggers validation for contract and suite changes. |
| .github/workflows/downstream-compatibility.yml | Triggers downstream checks for contract and suite changes. |
Review effort: Balanced
typotter
force-pushed
the
evaluation-skip-include
branch
2 times, most recently
from
October 23, 2026 17:18
6b5fa4e to
5534027
Compare
typotter
marked this pull request as ready for review
October 23, 2026 17:56
typotter
force-pushed
the
evaluation-skip-include
branch
from
October 23, 2026 18:05
5534027 to
4742773
Compare
typotter
force-pushed
the
evaluation-skip-include
branch
from
October 23, 2026 18:13
4742773 to
5647542
Compare
typotter
changed the base branch from
main
to
dependent-flags-variant-key-fixtures
October 23, 2026 18:14
Define rules-based platform filters and self-contained feature suites so consumers only run and load supported evaluation coverage. Environment: Datadog workspace Co-Authored-By: Codex GPT-5 <noreply@localhost>
typotter
force-pushed
the
evaluation-skip-include
branch
from
October 23, 2026 18:40
5647542 to
caa6d1a
Compare
leoromanovsky
approved these changes
Oct 26, 2026
1 of 4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Motivation
Rules-based corpus consumers need portable per-platform exclusions for known SDK gaps and directory-level isolation for feature-specific UFC syntax. Filtering must happen before runner setup and configuration side effects.
Changes
ci/validate-fixtures.py_skipand_includeannotations for mutual exclusion, shape, duplicates, reasons, and canonical platformscoreand validate self-containedevaluation-suites/<suite>/directoriesDecisions
_skipand_includeare mutually exclusive case-level fieldsThis PR is stacked on #45, which introduces the self-contained
dependent-flagsfeature suite. Its diff remains limited to the shared suite/applicability contract, validator, core annotations, and workflow coverage. The final simplification received a clean local re-review.Checklist
config/ufc-config.json(N/A: no new corpus cases)evaluation-cases/(N/A: no new flags)Validation
python3 ci/validate-fixtures.py— 2 suites, 376 cases across 48 filespython3 -B -m unittest discover -s ci -p "test_*.py"— 17 tests passedgit diff --check