Repository navigation
fix(flags): skip client-only definition warnings - #1198
Conversation
posthog-python Compliance ReportDate: 2026-11-06T12:30:29.018989+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
|
SDK performance: posthog-pythonBenchmarks completed. No changes flagged for review. Flags require at least a 5% change in the median and all six pairs agreeing on direction. This is a noise filter, not proof of a performance change or a CI gate. View all results
Values are medians of paired measurements. Not flagged does not mean unchanged. Unavailable means a measurement could not be provided, not zero. Estimated allocation measurements retain their instrumentation uncertainty. RSS measures the whole process, not just SDK allocations; observed peaks are sampled checkpoints. Paired ranges in the diagnostics describe variability, not confidence intervals. Each shard uses its own runner; compare Before PR against With PR within a row, not across shards. Compared 102 metric rows; 102 rows shown in all results. Omitted or shortened data remain in |
💡 Motivation and Context
Server SDKs currently warn when loaded client-only feature flags cannot resolve locally, even when the application never evaluates them. This follows the warning contract in sdk-specs #169 and the Node fix in posthog-js #5532.
Filter client-only definitions in the warning collector, not the shared unresolved-reason classifier. Both API and shared-cache publication retain their existing locking, definitions and evaluation behavior.
Only the exact runtime string
clientis excluded from definition-load warnings. Server, all, null and absent runtimes remain eligible. Keep client definitions, local values and unresolved reasons unchanged. Remove client-only flags from warning history so they warn again if their runtime changes back. Dependency evaluation and Node's separate bulk-fallback optimization are not changed.💚 How did you test it?
origin/mainreported no findings. The scoped test-quality and independent review checks are complete.📝 Checklist
If releasing new changes
pypi/posthog.🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Implemented with Pi subagents, Git and the repository's native test tools. Separate Pi reviewers checked the patches and test coverage. Final review used the isolated Pi autoreview helper. The changes follow the merged SDK contract and keep warning collection separate from evaluation.