Skip to content

Select only affected CI jobs while preserving relevant release validation #316

Description

@proerror77

Parent

#314

What to build

Make the monorepo and Prediction Markets CI selectors decide at job level which checks are relevant to a change. A collector binary change must not run unrelated frontend or heavy-research jobs, while shared Rust inputs, Cargo manifests and lockfiles, Docker inputs, and unknown safety-sensitive inputs must select every affected job. Pull requests and relevant main pushes use the same input rules; relevant main pushes still run the complete Research image validation.

Acceptance criteria

  • Unrelated documentation and modules do not start Prediction Markets or unrelated Rust jobs.
  • Package-local and binary-only changes select only their proven Cargo dependency closure and required contract checks.
  • Shared libraries, Cargo manifests and lockfiles, Docker inputs, selector inputs, and unknown safety-sensitive paths select all affected fail-safe jobs.
  • Pull requests and main pushes use the same relevance table, with complete Research image validation retained for relevant main changes.
  • Existing required job display names remain stable so branch protection is not weakened.
  • A table-driven selector test covers collector-only, evaluator-only, shared Rust, Cargo.lock, Dockerfile, workflow, docs-only, and unknown-path changes.

Blocked by

None - can start immediately.

Out of scope

Changing compiler caches, Docker image contents, ACR publication, research semantics, collector behavior, or branch-protection policy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestready-for-agentFully specified and safe for an autonomous agent

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions