AntFleet

Disagreement · 9bb17981-anthropic-0

Skip rule for 'already triaged' labels prevents re-triage on new commits, contradicting (PR, headRefOid) re-triage promise

mismatch
repo 6f7fc663·PR #7·reviewed 1 week ago

Primary finding

Skip rule for 'already triaged' labels prevents re-triage on new commits, contradicting (PR, headRefOid) re-triage promise

highbughigh
  • skills/pr-triage/SKILL.md:70-78
  • skills/pr-triage/SKILL.md:152-158
Step 3 says a PR is skipped if it already has any `triage:*` label, but step 9/Constraints state that a new push should re-triage and replace the prior label. After the first triage, every subsequent run will skip the PR because the `triage:*` label is still attached, regardless of whether the head SHA has changed. The two rules are mutually contradictory and the label-based skip wins (it's checked before the state-file check), so the (PR, headRefOid) re-triage behavior promised in Constraints will never fire.

Recommendation

Either remove the `triage:*` labels from the skip list (rely on the (PR, headRefOid) state-file check + comment-dedup check), or explicitly exempt `triage:*` labels from the skip rule and document that the label gets replaced on each re-triage.

Counterpart finding

Dedup check example omits the required 7-day time window filter

mediumdocs-gaphigh
  • skills/pr-triage/SKILL.md:78-81
The text requires skipping only if a triage comment was posted within the last 7 days, but the provided gh/jq example returns all triage comment timestamps without date filtering. This invites incorrect implementations that over-skip older PRs.

Recommendation

Amend the example to demonstrate date filtering or make explicit that the timestamp must be compared to now-7d in code. For example: pipe to jq with a comparison against (now-7d) or document that the CLI output must be post-filtered by the client.

Why this didn't post

This finding didn't meet AntFleet's unanimous agreement threshold. Both frontier models review every PR independently; only findings they both flag with the same severity and category are posted to the PR. This one fell through.

read the methodology →