Skip to content

feat(preprod): Add artifact-type filtering to size status checks#108311

Merged
cameroncooke merged 3 commits intomasterfrom
codex/eme-808-backend-artifact-rules
Feb 18, 2026
Merged

feat(preprod): Add artifact-type filtering to size status checks#108311
cameroncooke merged 3 commits intomasterfrom
codex/eme-808-backend-artifact-rules

Conversation

@cameroncooke
Copy link
Copy Markdown
Contributor

@cameroncooke cameroncooke commented Feb 16, 2026

Add artifact-type filtering support to preprod size status checks.

Previously rules were effectively evaluated only against main-app metrics. This change introduces explicit rule artifact types and applies them during status check evaluation, so rules can target Main App, Watch App, Android Dynamic Feature, or All artifacts.

Key changes:

  • Parse and normalize rule artifact type via a typed enum.
  • Preserve legacy behavior by defaulting missing artifact type to Main App.
  • Select candidate compare metrics per rule artifact type.
  • Match base metrics using both metric artifact type and identifier.
  • Include triggered artifact type details in status check output.
  • Count failed checks from triggered rules and dedupe expanded rule links.
  • Add and expand tests for rule parsing, artifact-targeted evaluation, helper selection logic, and templates.

Refs EME-808

@linear
Copy link
Copy Markdown

linear bot commented Feb 16, 2026

@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Feb 16, 2026
@cameroncooke cameroncooke force-pushed the codex/eme-808-backend-artifact-rules branch from 334b6f1 to ad7fc00 Compare February 16, 2026 16:41
Copy link
Copy Markdown
Contributor Author

cameroncooke commented Feb 16, 2026

@cameroncooke cameroncooke changed the title fix(preprod): Apply artifact-aware status check evaluation feat(preprod): Add artifact-type filtering to size status checks Feb 16, 2026
@cameroncooke cameroncooke marked this pull request as ready for review February 16, 2026 16:58
@cameroncooke cameroncooke requested a review from a team as a code owner February 16, 2026 16:58
Copy link
Copy Markdown
Contributor

@chromy chromy left a comment

Choose a reason for hiding this comment

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

lgtm

Parse status check rule artifact types as explicit enums and apply artifact-matching semantics consistently when selecting compare metrics. Add focused tests for candidate metric and base metric matching helpers to guard against neutral-first-run regressions.

Refs EME-808
Fix CI pre-commit lint by applying ruff formatting to the status check filter test file.

Refs EME-808
Replace string artifact type values with RuleArtifactType enums in status check filter tests so backend typing passes.

Refs EME-808
@cameroncooke cameroncooke force-pushed the codex/eme-808-backend-artifact-rules branch from 1de6d69 to 18cb46f Compare February 18, 2026 13:42
@cameroncooke cameroncooke merged commit c761655 into master Feb 18, 2026
78 checks passed
@cameroncooke cameroncooke deleted the codex/eme-808-backend-artifact-rules branch February 18, 2026 14:28
cameroncooke added a commit that referenced this pull request Feb 19, 2026
…#108313)

Add frontend support for artifact-type filtering in mobile build size
status check rules.

This PR adds the UI and client-side rule handling needed to configure
artifact targeting for status checks and aligns frontend behavior with
backend rule evaluation in #108311.

Key changes:
- Add artifact type options to the rule editor (All, Main App, Watch
App, Dynamic Feature).
- Move the artifact type dropdown below the Artifact Type label for
consistent layout.
- Order the dropdown with All at the top.
- Default new rules to All artifacts.
- Preserve existing saved rules by reading missing artifact type as Main
App.
- Update rule typing and persistence logic so `artifactType` is
round-tripped correctly.

This PR remains stacked on #108311 so backend and frontend can be
deployed independently.

<img width="765" height="655" alt="Screenshot 2026-02-16 at 16 18 39"
src="https://github.com/user-attachments/assets/8792ab33-4bd3-4cc4-81ac-a65e2a592672"
/>

Refs EME-808
JonasBa pushed a commit that referenced this pull request Feb 19, 2026
…#108313)

Add frontend support for artifact-type filtering in mobile build size
status check rules.

This PR adds the UI and client-side rule handling needed to configure
artifact targeting for status checks and aligns frontend behavior with
backend rule evaluation in #108311.

Key changes:
- Add artifact type options to the rule editor (All, Main App, Watch
App, Dynamic Feature).
- Move the artifact type dropdown below the Artifact Type label for
consistent layout.
- Order the dropdown with All at the top.
- Default new rules to All artifacts.
- Preserve existing saved rules by reading missing artifact type as Main
App.
- Update rule typing and persistence logic so `artifactType` is
round-tripped correctly.

This PR remains stacked on #108311 so backend and frontend can be
deployed independently.

<img width="765" height="655" alt="Screenshot 2026-02-16 at 16 18 39"
src="https://github.com/user-attachments/assets/8792ab33-4bd3-4cc4-81ac-a65e2a592672"
/>

Refs EME-808
mchen-sentry pushed a commit that referenced this pull request Feb 24, 2026
…8311)

Add artifact-type filtering support to preprod size status checks.

Previously rules were effectively evaluated only against main-app
metrics. This change introduces explicit rule artifact types and applies
them during status check evaluation, so rules can target Main App, Watch
App, Android Dynamic Feature, or All artifacts.

Key changes:
- Parse and normalize rule artifact type via a typed enum.
- Preserve legacy behavior by defaulting missing artifact type to Main
App.
- Select candidate compare metrics per rule artifact type.
- Match base metrics using both metric artifact type and identifier.
- Include triggered artifact type details in status check output.
- Count failed checks from triggered rules and dedupe expanded rule
links.
- Add and expand tests for rule parsing, artifact-targeted evaluation,
helper selection logic, and templates.

Refs EME-808
mchen-sentry pushed a commit that referenced this pull request Feb 24, 2026
…#108313)

Add frontend support for artifact-type filtering in mobile build size
status check rules.

This PR adds the UI and client-side rule handling needed to configure
artifact targeting for status checks and aligns frontend behavior with
backend rule evaluation in #108311.

Key changes:
- Add artifact type options to the rule editor (All, Main App, Watch
App, Dynamic Feature).
- Move the artifact type dropdown below the Artifact Type label for
consistent layout.
- Order the dropdown with All at the top.
- Default new rules to All artifacts.
- Preserve existing saved rules by reading missing artifact type as Main
App.
- Update rule typing and persistence logic so `artifactType` is
round-tripped correctly.

This PR remains stacked on #108311 so backend and frontend can be
deployed independently.

<img width="765" height="655" alt="Screenshot 2026-02-16 at 16 18 39"
src="https://github.com/user-attachments/assets/8792ab33-4bd3-4cc4-81ac-a65e2a592672"
/>

Refs EME-808
@github-actions github-actions bot locked and limited conversation to collaborators Mar 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

claude-code-assisted 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