linked_issue_hard_rule_violated_at is written when any single pass observes a violation (src/queue/processors.ts ~3046-3051) and is never cleared (src/db/repositories.ts ~4227-4243). It is then merged as violated-forever while any rule is enabled (linked-issue-hard-rules.ts ~154-186).
So an ephemeral, benign issue state condemns the PR for its entire lifetime. Concrete case: a maintainer momentarily self-assigns the linked issue to triage it; the next pass observes "issue assigned to someone else", stamps the violation, and the PR is permanently marked for a one-shot close. Removing the assignment does not exonerate it. The only escape is disabling all hard rules (anyRuleOn, ~173-183).
This punishes contributors for a maintainer's own triage action, with no recourse.
Fix
Require the violation to be observed on two temporally separated passes before persisting, or store the observed snapshot so a benign transition (assignee removed, issue reopened) clears the flag. Distinguish "the author dodged the rule" from "the state changed underneath them".
linked_issue_hard_rule_violated_atis written when any single pass observes a violation (src/queue/processors.ts~3046-3051) and is never cleared (src/db/repositories.ts~4227-4243). It is then merged as violated-forever while any rule is enabled (linked-issue-hard-rules.ts~154-186).So an ephemeral, benign issue state condemns the PR for its entire lifetime. Concrete case: a maintainer momentarily self-assigns the linked issue to triage it; the next pass observes "issue assigned to someone else", stamps the violation, and the PR is permanently marked for a one-shot close. Removing the assignment does not exonerate it. The only escape is disabling all hard rules (
anyRuleOn, ~173-183).This punishes contributors for a maintainer's own triage action, with no recourse.
Fix
Require the violation to be observed on two temporally separated passes before persisting, or store the observed snapshot so a benign transition (assignee removed, issue reopened) clears the flag. Distinguish "the author dodged the rule" from "the state changed underneath them".