Skip to content

Rank monitored pull requests into one explainable attention queue #106

Description

@apps3000

Problem

The Agent PR Monitor can watch many repositories, but users still have to scan every row and decide which pull request deserves attention first. That is especially expensive when several projects have failed CI, unresolved findings, drafts, or work that is merely waiting.

User outcome

Add a calm, cross-repository Attention Queue that recommends one pull request to handle next, explains the ranking in plain language, and keeps the remaining work in a short deterministic order.

Scope

  • Add an alpha feature flag for the Attention Cockpit.
  • Reuse the Agent PR Monitor watchlist, rows, refresh state, and guidance; do not add a second repository registry.
  • Add a pure attention model and deterministic PR ranking policy.
  • Rank stale authorization/refresh failures, failed CI, requested changes, unresolved findings, drafts, waiting work, and ready work without treating honest waiting as urgent.
  • Present one recommended item plus a native dense queue and inspector.
  • Explain the priority reason separately from the source guidance.
  • Let users open the PR, refresh, or open Settings only through existing safe routes.
  • Add a top-level Focus sidebar group and persist its expansion/selection through existing navigation state.
  • Cover empty, setup-required, loading, partial-refresh, and mixed-repository states.
  • Add English and German copy, VoiceOver labels, wiki documentation, and focused tests.

Ranking constraints

  • Hard failures and requested changes outrank waiting.
  • Current unresolved findings outrank ordinary review-required states.
  • Stale authorization or failed refresh must be visible but must not overstate the underlying PR status.
  • Drafts are not automatically urgent.
  • Ready PRs remain visible but never outrank actionable blockers.
  • Ties are deterministic using repository, PR update time, and PR number.
  • No opaque numeric score is shown to users.

Acceptance criteria

  • The first queue row is deterministic for the same snapshot.
  • Every row exposes a localized priority label and plain-language reason.
  • Queue actions cannot bypass the Agent PR Monitor's existing route ownership.
  • A provider failure for one repository does not hide valid items from other repositories.
  • The view works at minimum window size with keyboard selection and VoiceOver.
  • Tests cover each ranking class, ties, stale snapshots, empty/setup states, and action routing.
  • Full Swift tests, app build, feature-flag validation, String Catalog validation, wiki checks, and git diff checks pass.

Dependency

This slice intentionally builds on PR #104 for pull-request guidance and remains separate from the Health & Security sibling PR #103.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions