Skip to content

Enrich the ActionFilter contract #32

Description

@kasuken

Problem

Needly.Domain/ActionFilter.cs supports type, state, repository, organization, author, assignee scope, waiting duration and bot involvement. That is not enough to express the filters people actually want, and it blocks both search and useful automation rules.

Missing: labels, draft state, pull request size, milestone, and whether the review was requested through CODEOWNERS.

Scope

Extend ActionFilter to SchemaVersion = 2, with migration of stored Saved Views and Rules.

New criteria:

  • Labels - GitHub labels on the subject, OR semantics within the set
  • IsDraft - include, exclude or any
  • SizeBuckets - XS, S, M, L, XL derived from additions plus deletions
  • Milestones
  • RequestedViaCodeowners - include, exclude or any
  • Risk levels once review risk classification exists
  • AgentAuthor once agent detection exists

Acceptance criteria

  • SchemaVersion bumped, with a documented upgrade path in ActionFilterJsonSerializer
  • Existing stored version 1 filters deserialize unchanged and keep working
  • ActionFilterMatcher applies the new criteria with the documented AND/OR semantics
  • The new facts are persisted on the action so filtering does not require a GitHub API call
  • ActionFilterEditor exposes every new criterion
  • docs/saved-views-and-rules.md updated
  • Round-trip serialization tests for both schema versions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0Must-have for the MVParea: action-engineEvent-to-Action pipeline and detectorsarea: uiBlazor + MudBlazor front endfeatureA scoped unit of work

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions