Repository navigation
chore(compliance): bump the SDK test harness to 1.26.0 - #988
Merged
Merged
Conversation
Declare disable_geoip, generated_payloads, property_layers and fail_open, and add the adapter fields they need. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
PostHog Review · Standard · reviewed c49ae6a: 1 Should fix.
See this review and its findings in PostHog Review. Comment @posthog review --deep for a Deep review. A Deep review takes longer and looks deeper than a Standard review.
Contributor
posthog-ios Compliance ReportDate: 2026-10-29T02:16:14.646975+00:00 ✅ All Tests Passed!233/233 tests passed Capture_V1 Tests✅ 106/106 tests passed View Details
Capture_Ai_V1 Tests✅ 110/110 tests passed View Details
Feature_Flags Tests✅ 17/17 tests passed View Details
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6 tasks done
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
Update: moved to 1.26.0, the version the server SDK PRs use (e.g. PostHog/posthog-rs#317). 1.26.0 renames
event_size.batches_close_before_byte_target_and_keep_ordertoevent_size.batches_close_before_byte_target(it no longer checks order across requests) and runsreported_drops,property_layersandfail_openon the AI lane too. The local run below was on 1.25.0; CI on this PR runs 1.26.0.Moves the capture v1 branch's compliance adapter to the latest SDK test harness, as a harness maintainer asked in PostHog/posthog-android#881 (comment). Stacked on #938.
sdk_compliance_adapter/docker-compose.yml: default imagesdk-test-harness:1.14.0→1.26.0. The workflow takes the image from this file and pins no version itself.flags_response_v4: not declared, so the harness keeps checking?v=2, which the adapter sends. 1.24 and 1.25 add the capture capabilities below.Capabilities in
/health:disable_geoip/initalready mapsdisable_geoiptoconfig.disableGeoIp, and the SDK sets$geoip_disableon events.generated_payloads/capture_ainow padspropertiestopad_properties_to_byteswith a$test_paddingstring that starts withmarker. The SDK already enforces the 8 MiB AI ceiling and 5 MiB byte-aware batches.property_layers/initnow registerssuper_propertieswithregister()and turnsbefore_send.set_propertiesinto asetBeforeSendhook.fail_open/initno longer rejects an empty token; it passes the token as given.setup()stays disabled for an empty orphx_token, so nothing is sent.bounded_retriesmax_retries_respecteddoesn't apply.historical_migrationreported_dropslog_capturehedgeLogprints straight to stdout, with no log sink to hook. Reading the SDK's lines would mean redirecting the adapter process's stdout.event_uuid_overridecapture/captureAiin 4.0 take no caller uuid. This keepscapture_ai_keeps_supplied_uuidand the other uuid-override tests skipped.Adapter/CI only, with no SDK change, so there's no changeset. Earlier adapter-only PRs (e.g. #622) didn't add one either.
💚 How did you test it?
Ran the suite locally the way the workflow does: adapter built natively (
swift build -Xswiftc -DTESTING), harnessghcr.io/posthog/sdk-test-harness:1.25.0in Docker (colima). 229/229 passed, 0 failed (capture_v1, capture_ai_v1, feature_flags), on the final commit.The 1.24 behaviour changes pass against the SDK:
retries_on_404,retries_on_429andretries_on_502(both lanes),implements_backoff, thewarningpartial-batch tests, andfailing_ai_lane_does_not_delay_analytics. The new gated tests also pass:property_layers.*,fail_open.*,event_size.event_over_ceiling_is_not_sent,event_size.batches_close_before_byte_target_and_keep_order, andgeoip_disable_injected_into_properties(both lanes).swiftformat --lintandswiftlintare clean on the adapter sources.📝 Checklist
If releasing new changes
pnpm changesetto generate a changeset file🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Claude Code (Opus) read the harness release notes and the 1.25.0 contracts (
ADAPTER_GUIDE.md,capture_analytics_v1_tests.yaml,capture_ai_v1_tests.yaml), checked each capability against the SDK source, and ran the suite locally. It declared a capability only where the SDK already has the behaviour and the adapter change is a thin mapping. It skippedlog_capturerather than capture the process's stdout, andreported_dropsbecause the SDK has no drop callback or error list to read. It also left the existingmax_retries→pushNotificationSubscriptionMaxRetriesmapping alone, since that's out of scope here.🤖 Generated with Claude Code