test: enable local feature flag evaluation compliance - #930
Draft
marandaneto wants to merge 2 commits into
Draft
Conversation
Contributor
posthog-python Compliance ReportDate: 2026-09-09T06:59:06.059498+00:00 ✅ All Tests Passed!121/121 tests passed Capture_V1 Tests✅ 95/95 tests passed View Details
Capture_Ai Tests✅ 5/5 tests passed View Details
Feature_Flags Tests✅ 17/17 tests passed View Details
Feature_Flags_Local_Evaluation Tests✅ 4/4 tests passed View Details
|
marandaneto
marked this pull request as ready for review
September 9, 2026 07:29
Contributor
|
Reviews (1): Last reviewed commit: "test: upgrade SDK compliance harness to ..." | Re-trigger Greptile |
ioannisj
approved these changes
Sep 9, 2026
marandaneto
marked this pull request as draft
September 9, 2026 12:20
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 and Context
Stacked on #922. Merge that PR first, then retarget this PR to
main.The SDK specs and harness now include optional local feature flag evaluation tests. This PR enables them for both Python capture adapters and upgrades the harness workflow and Docker image from 0.10.0 to released version 1.1.1. Both reusable workflow references are pinned to its release commit,
1d6b197ef46758f577f470535bb3d70e37a15fa2.The adapter now accepts a personal API key, explicitly reloads definitions with a bounded readiness check, and uses the real SDK local-only result API. It distinguishes a conclusive false from an inconclusive result without remote fallback. Forced remote calls use a separate definitions-free Client. Failed loads cannot acknowledge stale definitions, and timed-out loads cannot publish into replacement Clients after reset.
The workflow adds adapter protocol tests and makes compliance failures blocking. No shipped SDK runtime code changes, so no SDK release changeset is included.
Harness routing fix
PostHog/posthog-sdk-test-harness#54 is now included in harness 1.1.1. The released image correctly accepts normal capture-v1 routing for AI-named events, removing the failure seen with 1.1.0. Both complete compliance suites pass with 1.1.1. No SDK routing workaround or additional adapter change was needed for the patch upgrade.
💚 How did you test it?
git diff --checkpassed.autoreview --mode branch --base origin/fix/versioned-boolean-local-evaluationpassed at8939d3fa4de04e984ebb3e870db391809716c5f2with no actionable findings.📝 Checklist
If releasing new changes
sampo addto generate a changeset fileNot applicable: this PR changes test infrastructure, not the published SDK.
🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Implemented with Pi using Git, pytest, Docker, Ruff, Mypy, actionlint, and isolated Pi autoreview. The work was directed by @marandaneto and requires human review.
The adapter delegates matching to the SDK instead of recreating matcher behavior. The separate upstream harness routing fix is now released and consumed here. This draft remains stacked on #922.