Problem
Needly has no notion of priority. IsAtRisk is a boolean, and group ordering is a fixed list in Needly.Web/Components/Pages/Inbox.razor.cs. Twenty open actions present as twenty equal demands, which is the same failure mode as the GitHub notification list Needly exists to replace.
docs/productidea.md section 9 is explicit that the score must be explainable, not an opaque AI number. The explanation is the product.
Scope
Compute a 0-100 attention score per action from weighted, named signals, and always show the breakdown.
92 - Urgent
+30 explicitly requested your review
+20 production repository
+15 waiting 11h
+15 release branch
+12 requested by a CODEOWNER team
Signal families: assignment directness, repository importance, waiting duration, branch target, CODEOWNERS involvement, review risk, agent authorship, blocking other work.
Acceptance criteria
Notes
Ship the default weights as configuration, not code, so they can be tuned without a deployment.
Problem
Needly has no notion of priority.
IsAtRiskis a boolean, and group ordering is a fixed list inNeedly.Web/Components/Pages/Inbox.razor.cs. Twenty open actions present as twenty equal demands, which is the same failure mode as the GitHub notification list Needly exists to replace.docs/productidea.mdsection 9 is explicit that the score must be explainable, not an opaque AI number. The explanation is the product.Scope
Compute a 0-100 attention score per action from weighted, named signals, and always show the breakdown.
Signal families: assignment directness, repository importance, waiting duration, branch target, CODEOWNERS involvement, review risk, agent authorship, blocking other work.
Acceptance criteria
Notes
Ship the default weights as configuration, not code, so they can be tuned without a deployment.