Skip to content

Dashboard analytics: restructure sections, keep GitHub data source #531

@waleedkadous

Description

@waleedkadous

Problem

The analytics tab needs restructuring but the data sources must be preserved.

Previous attempt (#529/#530) was reverted because it replaced GitHub API data with local project artifact scanning, which broke completion counts (status.yaml dates don't cover all completed work).

Requirements

1. Merge GitHub + Builders into single "Activity" section

  • KEEP GitHub API as the primary data source for PRs merged, issues closed, avg time to merge, avg time to close bugs
  • Remove "open issues backlog" metric
  • Add "Projects Completed" (already exists in Builders section — move it here)
  • Add "Bugs Fixed" — count of merged PRs that reference bug-labeled issues
  • Keep throughput/week and active builders

2. Split projects by protocol

  • Add a "Projects by Protocol" breakdown showing SPIR, ASPIR, AIR, and soft counts
  • Source this from local codev/projects/*/status.yaml as a SUPPLEMENTARY source (not replacement)
  • If a project doesn't have a status.yaml entry, it's fine to not count it in the protocol breakdown

3. Consultation section changes

  • Replace pie charts with segmented bar charts (MiniBarChart instead of MiniPieChart)
  • Remove cost per project sub-section

4. DO NOT change

  • GitHub API data fetching (fetchMergedPRs, fetchClosedIssues, fetchIssueList)
  • How avg time to merge is calculated (PR creation → merge from GitHub)
  • How avg time to close bugs is calculated
  • The consultation metrics data source (MetricsDB)

Acceptance Criteria

  • Single "Activity" section replaces GitHub + Builders
  • "Open issues backlog" removed
  • "Projects Completed" and "Bugs Fixed" metrics visible
  • "Projects by Protocol" bar chart with SPIR/ASPIR/AIR/soft breakdown
  • Pie charts replaced with segmented bar charts in Consultation
  • Cost per project removed
  • All existing metrics still populated (PRs merged, avg time to merge, etc.)
  • Numbers are accurate and non-zero for a 7-day range with recent activity

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions