Skip to content

feat(cymbal): set posthog-php wire-order cutoff at 4.11.0 - #70879

Merged
cat-ph merged 2 commits into
masterfrom
cat/cymbal-php-cutoff
Jul 16, 2026
Merged

feat(cymbal): set posthog-php wire-order cutoff at 4.11.0#70879
cat-ph merged 2 commits into
masterfrom
cat/cymbal-php-cutoff

Conversation

@cat-ph

@cat-ph cat-ph commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Problem

Second SDK flip of the wire-order standardization (PostHog/sdk-specs#11): posthog-php ships canonical bottom-up frames in 4.11.0 (PostHog/posthog-php#200, latest release 4.10.0 + that PR's lone minor changeset). The normalization gate must stop reordering php payloads at that version.

The rust flip (#69837 + posthog-rs 0.19.1) validated the full mechanism in prod: post-flip events pass the gate untouched (stored order verified canonical on live traffic), no split wave, legacy matching healthy. PHP is next by the smallest-blast-radius ordering (~40k exception events/day, 52 teams) and is mechanically the cleanest crash-first SDK — no resolution reshaping, so legacy-order reconstruction is byte-exact even after the flip.

Changes

  • posthog-php gets canonical_since: Some(4.11.0) in the normalization table; everything below (or unparseable, e.g. dev-main) keeps normalizing.
  • Mirror of the rs cutoff test: 4.10.0 / 4.9.0 / dev-main / missing versions still normalize; 4.11.x, 4.12.0, 5.0.0 pass through; legacy-order reconstruction ignores the cutoff (continuity for pre-flip-keyed issues).

Merge sequencing — do not merge out of order

  1. Merge this, wait for cymbal autodeploy.
  2. Then merge feat: canonical bottom-up stack frame order for error tracking posthog-php#200 and release as 4.11.0.
  3. No other posthog-php minor may release between the two steps; 4.10.x patches are fine.

Watch on the et-wire-order-launch dashboard as with rs.

How did you test this code?

Automated only: new php_cutoff_gates_normalization_by_version unit test; full cargo test -p cymbal 306 passed, 0 failed (DB-backed tests against local Postgres + Kafka); clippy -D warnings and fmt clean. The change is a mechanical clone of the reviewed rs cutoff (#69837).

Automatic notifications

  • Publish to changelog?
  • Alert Sales and Marketing teams?

Docs update

Rollout process documented in the sdk-specs change.

🤖 Agent context

Autonomy: Human-driven (agent-assisted)

Claude Code authored this under my direction, step 2 of the per-SDK flip rollout, following the sequencing contract established in #69837. Target version derived from posthog-php's latest release plus #200's pending changeset (verified no other changesets are queued).

@cat-ph cat-ph self-assigned this Jul 14, 2026
@trunk-io

trunk-io Bot commented Jul 14, 2026

Copy link
Copy Markdown

Static BadgeStatic BadgeStatic BadgeStatic Badge

View Full Report ↗︎Docs

@cat-ph
cat-ph marked this pull request as ready for review July 15, 2026 14:42
@cat-ph
cat-ph requested review from a team, ablaszkiewicz and hpouillot July 15, 2026 14:42
@greptile-apps

greptile-apps Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Reviews (1): Last reviewed commit: "feat(cymbal): set posthog-php wire-order..." | Re-trigger Greptile

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fdbaefc439

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread rust/cymbal/src/modes/processing/normalization.rs Outdated
4.10.0 was claimed by an unrelated release before the flip merged.
@cat-ph cat-ph changed the title feat(cymbal): set posthog-php wire-order cutoff at 4.10.0 feat(cymbal): set posthog-php wire-order cutoff at 4.11.0 Jul 16, 2026
@cat-ph
cat-ph merged commit 725a25f into master Jul 16, 2026
189 checks passed
@cat-ph
cat-ph deleted the cat/cymbal-php-cutoff branch July 16, 2026 14:56
@deployment-status-posthog

deployment-status-posthog Bot commented Jul 16, 2026

Copy link
Copy Markdown

Deploy status

Environment Status Deployed At Workflow
dev ✅ Deployed 2026-07-16 15:52 UTC Run
prod-us ✅ Deployed 2026-07-16 16:08 UTC Run
prod-eu ✅ Deployed 2026-07-16 16:07 UTC Run

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants