Skip to content

feat(ci): opt-in PR label trigger for the changed plugin's eval suite #9705

Description

@kyle-sexton

Part of #6405. Add the PR label trigger the owner's 2026-10-18 decision on #6405 deferred until #6962 answered (#6962 is closed).

Scope

  • On a same-repository, non-draft PR that carries an opt-in label and touches plugins/<p>/skills/**, plugins/<p>/agents/** or plugins/<p>/evals/**, run only the changed plugin's suite through the generalized eval workflow, deterministic graders, --max-cost-usd set.
  • Advisory only: never a required check, never a ci-status input, no write token in any model step (ADR 0049).
  • Credential: the role's subscription token, as the dispatch job uses. Probe: does a self-written claude -p step in GitHub Actions draw the linked org's API credits? #6962 showed a linked-org key draws credits for claude -p; its claude plugin eval half is unprobed, so do not switch credentials here.
  • Create the label if it does not exist and document it where the other lane labels are documented.

Done when

  • actionlint exits 0 on every changed workflow file.
  • A test of the path filter shows a PR touching plugins/testing/evals/x selects plugins/testing only, and one touching only docs/ selects nothing.
  • scripts/check-affected.sh --uncommitted passes.

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 24, 2026
  2. github-actions commented on Oct 24, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: scoped
    Basis: automated intake triage; the lanes App applied this class.

    Size: Medium
    Complexity: Medium
    Uncertainty: Known
    Flags: none

    Understood: add an opt-in, advisory PR label that runs only the changed plugin's eval suite (deterministic graders, cost-capped, subscription token, no write token) for same-repo non-draft PRs touching skills, agents or evals. It also needs the label created and documented. The scope and done-when items are clear and checkable. I found no likely duplicates beyond the parent #6405.

    Automated triage, applied by the lanes App.

  3. added
    priority: mediumReal value, no hard deadline; normal backlog flow.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 24, 2026
  4. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    on Oct 24, 2026
  5. melodic-automation-lanes commented on Oct 24, 2026

    @melodic-automation-lanes
    Contributor

    Not admitted to the issue lane yet: blocker #9704 is not closed as completed by a listed human or a merge; blocker #9713 is not closed as completed by a listed human or a merge.

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

    priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Fields

    No fields configured for Feature.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions