Skip to content

Full GitHub collaboration metrics (reviews, comments, merge timing, rework) #3

Description

@gkanitz

Parent

#1

What to build

The full v1 collaboration metric set for the GitHub adapter — the headline content of the report. Extend the provider's ActivitySet and the metrics stage to cover: reviews given, review comments written and received, time-to-merge, time-to-first-review, and share of the subject's PRs requiring rework (re-review cycles after changes requested). All metrics are subject-only aggregates: no colleague usernames, PR titles, branch names, or within-team comparisons may appear anywhere in the ActivitySet-to-report path.

Rendered output (still the minimal HTML from the walking skeleton) shows the new metrics with a short plain-language description each; full narrative design comes in a later slice.

Acceptance criteria

  • Report includes reviews given, review comments written/received, time-to-merge, time-to-first-review, and rework share for the subject
  • All values are aggregates about the subject only; fixtures seeded with colleague usernames and PR titles prove none leak into report JSON or HTML
  • metrics table-driven tests cover edge cases: empty window, no reviews, unmerged-only PRs, single-PR subjects
  • GitHub adapter fixtures cover pagination and review/comment endpoints

Parallel-work contract

This issue runs in parallel with #4, #5, #6. Territory rules (reviewer must enforce):

  • Owns: the collaboration metric files in the metrics package (new files registering into the metrics registry), the collaboration sub-struct of the report schema, the activity-fetch logic of the GitHub adapter (review/comment/merge-timing data), and the collaboration section template of the renderer.
  • Sole right to extend ActivitySet — no other issue in this wave may modify it.
  • Must not touch: cadence/bucketing files, the coverage and verification sub-structs, repo-enumeration/token-auth files, CI wrapper YAML.
  • Shared files (schema root, registry wiring): additive-only changes.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentTriage complete; ready for an agent to pick up

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions