Skip to content

Explainable attention score #33

Description

@kasuken

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

  • Every action carries a score and an ordered list of contributing reasons
  • Hovering or expanding the score reveals the full breakdown in the UI
  • Weights are configurable per user, and per installation for shared defaults
  • Score becomes the default Inbox sort, with the manual sort control as an override
  • Recomputation is incremental and event-driven, not a periodic full scan
  • Score and reasons are queryable so rules and search can filter on them
  • No machine learning and no hidden heuristics: every point is traceable to a named rule

Notes

Ship the default weights as configuration, not code, so they can be tuned without a deployment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High value, post-MVParea: action-engineEvent-to-Action pipeline and detectorsarea: uiBlazor + MudBlazor front endfeatureA scoped unit of work

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions