Temporal coupling

Codebase

What it measures

Pairs of files that repeatedly change in the same time window across SEPARATE pull requests, ranked by how many windows they co-changed — among pairs that change together at least half the time (a Jaccard coupling-strength gate, shown in the full list).

Why it matters

Coupling that spans PRs is the kind nobody bundled into one change, so it stays invisible — and it is exactly the hidden dependency that makes one change quietly require another.

How to read it

  • The chart bar is the count of shared change windows (how often they co-changed); strength (a Jaccard ratio, in the full list) gates out merely-busy pairs that rarely actually change together.
  • A file must change in several windows, and a pair must co-change in several, before it appears — one-off coincidences are pruned.
  • Expected source↔test pairs are tagged in the full list and kept out of the chart; surprising pairs are the signal.

Anti-blame

Coupling is a property of the code's file pairs, never of contributors.

Common misreads

  • A high strength is not a defect — it is a prompt to ask whether the coupling is intentional.
  • Files that change together within ONE PR are the separate same-PR coupling panel; this panel is about coupling across PRs over time.