Skip to content

Comments

Event payload validation#108545

Draft
armenzg wants to merge 1 commit intomasterfrom
cursor/CW-837-event-payload-validation-a4c0
Draft

Event payload validation#108545
armenzg wants to merge 1 commit intomasterfrom
cursor/CW-837-event-payload-validation-a4c0

Conversation

@armenzg
Copy link
Member

@armenzg armenzg commented Feb 19, 2026

Adds pre-scheduling validation for event_payload within schedule_task to prevent invalid tasks from being queued.

This addresses issues where model changes could lead to tasks being scheduled with incompatible payloads when task brokers are updated before Sentry workers, causing failures downstream. Validation now occurs before the Celery task is dispatched, catching schema mismatches early and improving system robustness.

Legal Boilerplate

Look, I get it. The entity doing business as "Sentry" was incorporated in the State of Delaware in 2015 as Functional Software, Inc. and is gonna need some rights from me in order to utilize my contributions in this here PR. So here's the deal: I retain all rights, title and interest in and to my contributions, and by keeping this boilerplate intact I confirm that Sentry can use, modify, copy, and redistribute my contributions, under Sentry's choice of terms.


Linear Issue: CW-837

Open in Cursor Open in Web

Adds validation to schedule_task() to catch schema mismatches early,
before tasks are scheduled to the task broker. This prevents task
failures when model changes are deployed to task brokers before
Sentry workers are updated.

Changes:
- Validate transformed event payload using Pydantic models before
  scheduling the Celery task
- Use appropriate model (SeerCodeReviewTaskRequestForPrClosed or
  SeerCodeReviewTaskRequestForPrReview) based on request_type
- Log validation failures with detailed context
- Record INVALID_PAYLOAD metric when validation fails
- Add tests to verify validation happens before task scheduling

Fixes: CW-837

Co-authored-by: Armen Zambrano G. <armenzg@users.noreply.github.com>
@cursor
Copy link
Contributor

cursor bot commented Feb 19, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@linear
Copy link

linear bot commented Feb 19, 2026

@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Feb 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants