chore: retire utm badge forwarding + dead acquisition-destination pipeline (TASK-21226) — HOLD until 2026-09-07 - #2881
chore: retire utm badge forwarding + dead acquisition-destination pipeline (TASK-21226) — HOLD until 2026-09-07#2881kushagrasarathe wants to merge 1 commit into
Conversation
…on pipeline (TASK-21226) utm_campaign is analytics-only now — it never becomes a badge identity. The acquisition-destination machinery collapsed to a constant /home after TASK-20535 removed the offramp migration surface, so this deletes it: acquisition-navigation, registration-acquisition, the destination reads in badge-campaigns/invite-acquisition, and the InvitesPage ladder. DO NOT MERGE before the offramp.xyz links are confirmed dead (2026-09-07 floor). Pairs with peanut-api-ts#1463.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
Code-analysis diffPainscore total: 7211.27 → 7204.32 (-6.95) 🆕 New findings (31)
…and 11 more. ✅ Resolved (33)
…and 13 more. 📈 Painscore deltas (top movers)
|
🧪 UI test report — ✅ all greenSuites
📊 Coverage (unit)
⏱ 10 slowest test cases
|
There was a problem hiding this comment.
Chip review — no blocking findings — this is not an approval
No actionable defects found for the planned post-2026-09-07 merge. The UTM retirement, mixed-version parsing, queued identity settlement, and /home navigation cleanup are consistent; keep the explicit merge hold.
Checked clean
- Exact detached HEAD and merge base match the supplied SHAs; the review covered all 16 changed invite and badge files.
- Correctness: traced URL parsing, deferred-install restore, logged-in auto-claim, registration acceptance, waitlist retry, and the Shhhhh continuation.
- Security and adversarial paths: malformed or mixed-version acquisition payloads stay bounded to opaque badge claims and /home; the validated redirect still has priority.
- Slop and architecture: the removed destination services have no production references, and the remaining acquisition paths preserve their tests.
- CI at the exact head completed successfully, including format, lint, typecheck, unit, design-system, analysis, and preview checks.
- The linked task and PR both require no merge before 2026-09-07; the Lexicon has no separate UTM or badge-campaign definition, so behavior was verified from the task and code.
Second opinion by moonshotai/kimi-k3: 0 finding(s), marked with the model name. It reads the diff only, so treat its findings as advice.
Exact head: 75f35ab071df · Context: repo, product, ops, notion
Warning
DO NOT MERGE before the offramp.xyz campaign links are confirmed dead — 2026-09-07 floor. Merging earlier stops
?utm_campaign=offrampfrom queueing the badge claim. Pairs with peanut-api-ts#1463 (either merge order is safe).Summary
FE half of the offramp wind-down cleanup (TASK-21226):
utm_campaignis analytics-only now — badge-campaign-context stops source-qualifying it intoutm:badge identities. A utm-only/invitelink is a dead bare link./homeafter TASK-20535 removed the migration surface:acquisition-navigation.ts,registration-acquisition.ts(a guaranteed no-op), theacquisitionclaim projection +destinationForConfirmedBadgeCampaignAcquisitionin badge-campaigns,destinationForInviteAcquisition, and the InvitesPage destination ladder.LegacyInviteAcquisitionshrinks to{ campaignTag }; old backends still echoingfallback/destinationare tolerated (fields ignored).utm:-prefixed identities queued before this deploy still settle (they resolveunknownat the backend and are dropped gracefully).Task
TASK-21226 (parent: TASK-21539 Offramp wind-down)
Risks / breaking changes
?utm_campaign=<x>-only links never queue a badge claim — intended; every live campaign usesbadge_campaign/campaignor invite codes.utm_campaignlose their (already-unknown) badge intent. Cohort is pre-Sep-7 installs that never opened the app; the claim would resolveunknownanyway once api#1463 lands.QA
npm test(4520 passed),npm run typecheck,npm run build— all green locally.🤖 Generated with Claude Code