Skip to content

The Capacity and Task status reports and the Projects I am in count do not show what their labels promise #651

Description

@rubenvdlinde

What happens

Three report and dashboard figures do not show what their labels say.

  1. Capacity is described as "How allocation is spread across the people working on projects". The page shows one row per project, with member count, open tasks and overdue tasks. It never groups work by person.
  2. Task status is described as "What is open, what is blocked, and what is overdue". The report counts open, in progress and blocked. Nothing on it counts or flags overdue tasks. "Due soonest" lists open tasks by due date only.
  3. Projects I am in on the dashboard counts every project the reader can see. It has no member filter. For an admin, who can read every project, the number is all projects.

Why

Read at development 6fa5ef5.

  • src/manifest.json:151 (the Portfolio page note) promises "one row per assignee aggregating allocation". src/manifest.json:163 is the Capacity card. src/views/Portfolio.vue:131-152 loops over active projects and pushes one row per project.
  • src/manifest.json:162 is the Task status card. The TaskStatusReport widgets (src/manifest.json:169 onward) are open, in progress, blocked, by status, by priority and due soonest. None filters on a past due date. The page's own note explains why: OpenRegister's aggregation endpoint only evaluates scalar equality, so a relative-date filter would be silently dropped.
  • src/manifest.json:97-110 (kpi-member-projects) is a plain count on project with no filter.

Fix direction

  1. Either build the per-person view (group open tasks by assignedTo across projects), or rename the card and note to "Projects at a glance".
  2. Add an overdue count that does not depend on a relative-date aggregation filter, for example a small custom widget that reuses summariseProjectTasks(). Or drop "overdue" from the card text.
  3. Filter kpi-member-projects on members containing the current user, or remove it if RBAC scoping already makes it equal to the active count for non-admins.

Live check

  1. Open Reports, then Capacity, in a project where two people have tasks. Expected today: rows are projects, not people.
  2. Give a task a due date in the past. Open Reports, then Task status. Expected today: no overdue figure.
  3. As admin, create a project you are not a member of. Expected today: "Projects I am in" goes up by one.

Matrix rows

prt-capacity, prt-task-status, prt-dashboard, prt-project-capacity in openspec/parity/capabilities.json (PR #645).

Related: #228 (portfolio dashboard spec), #227 (capacity planning spec).

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingtriageAwaiting triage

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions