Automatic notifications based on issue parameters #171
Labels
No labels
automation
backend
bug
contributor experience
data
deployment
documentation
duplicate
good first issue
help wanted
nice to have
notifications
package maintainer
performance
skin
tech debt
user story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lix-community/nix-security-tracker#171
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
As a maintainer of a Nixpkgs derivation, I want to get notified with a healthy dose of reminders about that derivation -- not too often, not too rarely.
Implementation notes
Every day, we should determine to whom we should hand out notifications automatically.
Here are the dimensions for a given issue:
The heuristic should answer to:
First implementation can be:
Let
T_{\text{last notified}}
represent the number of days since the last notification was sent to the maintainer.T_{\text{age}}
represents the number of days since the status of the issue last changed.S_{\text{severity}}
refers to the severity score of the issue, where higher values represent more critical issues (e.g., RCE = 10, RegexDoS = 3).V_{\text{attack vector}}
is the score of the attack vector, with higher values for more dangerous attack surfaces (e.g., Internet = 10, Trusted Network = 3).C_{\text{channel affected}}
represents the score of the affected channel, where stable and EOL channels have higher scores than unstable ones (e.g., Stable = 10, Unstable = 5).M_{\text{away}}
is a binary variable representing whether the maintainer has declared themselves to be away, whereM_{\text{away}} = 1
means they are unavailable, andM_{\text{away}} = 0
means they are available. Finally,\alpha_1, \alpha_2, \alpha_3, \alpha_4, \alpha_5
are weights assigned to the respective factors, and\beta
is a penalty factor for the maintainer's unavailability. The thresholdW
is a predefined value above which a notification will be sent.Depends on: