Repository navigation
chore(compliance): run the 1.26.0 test harness against the adapter - #902
Merged
Merged
Conversation
Bump the harness from 1.20.0 (CI) and 0.10.0 (local docker-compose) to 1.25.0, and declare the 1.25 capabilities the SDK supports: generated_payloads, log_capture, property_layers and fail_open. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
PostHog Review · Standard · reviewed 84d3f39: 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-android Compliance ReportDate: 2026-10-29T02:02:00.452104+00:00 ✅ All Tests Passed!232/232 tests passed Capture_V1 Tests✅ 105/105 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>
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.Stacked on #881. A harness maintainer asked that the capture v1 branches move to the latest harness. This PR moves the adapter to
posthog-sdk-test-harness1.25.0 and declares the new capabilities the Android SDK actually supports.test-harness-versiongoes from1.20.0to1.26.0. The reusable workflow SHA is unchanged; dependabot keeps bumping it.docker-compose.yml: the image goes from0.10.0to1.26.0.generated_payloads,log_capture,property_layersandfail_open.Capabilities
generated_payloads/capture_aihonorspad_properties_to_bytesandmarkerby adding a$test_paddingstring, sopropertiesserializes (compact JSON, UTF-8) to the requested size. This runs the 8 MiB ceiling and the ~5 MiB batch tests againstcaptureAi.log_capturePostHogLoggerthat still prints each line./statereturnslog_lines. The SDK logs an over-ceiling AI event by name and size, never by content.property_layers/initregisterssuper_propertieswithregister()and installs abefore_sendhook forset_properties.fail_opensetup()already disables the SDK for an empty orphx_token. The adapter passesapi_keythrough as given, so it needed no change beyond declaring the capability.event_uuid_overridecapture/captureAitake no caller uuid. In 1.25.0,capture_ai_keeps_supplied_uuidis server-only and requires this capability, so it is skipped.bounded_retriesmax_retriesto. The harness guide says SDKs that retry without a limit leave it out.disable_geoip$geoip_disableto events.historical_migrationreported_dropsdropresults. The duplicate-copy test also requiresevent_uuid_override.Behaviour changes in 1.24
The SDK under test passes all of them unchanged: 404, 429 and 502 are retried,
implements_backoffpasses, the partial-batchwarningtests pass, andfailing_ai_lane_does_not_delay_analyticsandcapture_ai_does_not_reroute_non_ai_eventspass. No SDK change is needed.No spec divergence: this PR changes only the test adapter and CI, not SDK behaviour.
💚 How did you test it?
I ran the full 1.25.0 suite locally: 228 passed, 0 failed across
capture_v1,capture_ai_v1andfeature_flags, with--sdk-type server. The newevent_size.*,property_layers.*andfail_open.*tests all ran and passed.The
docker compose uppath didn't finish on my machine: the emulated amd64 Gradle build ran out of memory in the Colima VM. So I built the adapter withinstallDiston the host, ran it in aneclipse-temurin:17-jrecontainer, and ranghcr.io/posthog/sdk-test-harness:1.25.0against it on the same Docker network. CI on this PR runs the regular Dockerfile path../gradlew spotlessKotlinCheckpasses.📝 Checklist
If releasing new changes
pnpm changesetto generate a changeset fileNo changeset: this changes only the compliance adapter and CI, and no published package changes. That matches the earlier
chore(compliance)commits.🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Claude Code (Opus 5.5) read the 1.21.0 to 1.25.0 release notes and the 1.25.0 contracts and
ADAPTER_GUIDE.md, checked the SDK source for each new capability, and declared only the ones the SDK supports and the adapter now implements. Anna Garcia directed the work, including keepingevent_uuid_overrideundeclared because mobile capture takes no caller uuid.🤖 Generated with Claude Code