Stage 06 · Exploratory clustering · Issue #8

What the retained issues are about

Every issue kept by the filter, embedded as text and grouped by meaning. The clusters show where the corpus concentrates, which regions are outside the research problem, and which themes the Stargazer v2 predictor should address.

Exploratory — clusters are suggestions, not labels Precision from the preliminary labelled sample model

The map

Each dot is one issue; nearby dots are issues the encoder reads as being about the same thing. Colour shows the scope assigned to the issue's cluster in the proposed taxonomy. Rings and crosses are the labelled sample: a ring was judged RELATED by the annotators, a cross NOT RELATED. Pick a cluster to highlight it; hover a dot for the issue.

UMAP projection of the embeddings, for display only: clustering and every number on this page are computed in the full embedding space, not on this picture. Distances between far-apart regions in a UMAP map are not meaningful.

Proposed taxonomy

The class names, definitions and scope are a human proposal recorded in data/msr/exploration/taxonomy.json; the sizes and precision next to them are computed. Labelled precision is the share of labelled issues in the class that the annotators judged RELATED, with its 95% Wilson interval.

Clusters in detail

Distinctive terms come from class-based TF-IDF; the listed issues are the medoids, the ones closest to the cluster's centre and therefore its most typical members.

How k was chosen

Silhouette (cosine) by k

Bootstrap stability (mean ARI) by k

Robustness

A global ARI averages over every boundary of a continuum. Per cluster, the best-match Jaccard says which themes survive a change of algorithm, encoder or text preparation (1 = recovered intact).

Were user-interface issues a cluster to discard?

Method and limits

Text. Title plus body, with code, logs, HTML comments and URLs removed, and with every line shared by at least 2% of the issues dropped. That last rule removes each tracker's issue template, so the encoder reads the reporter's prose rather than form headings and stack traces.

Clustering. k-means on L2-normalised all-mpnet-base-v2 embeddings (cosine geometry). k is the largest value whose partition is reproduced under resampling (mean bootstrap ARI at or above the declared threshold), because issues from one technical domain form a continuum and the silhouette cannot choose k on its own.

Limits. Per-cluster precision rests on a small, preliminary labelled sample, so the intervals are wide. The committed run covers the 11-repository corpus; it is re-run when the 86-repository corpus is filtered (issue #17), and the taxonomy's anchor issues will show whether the themes hold.

Full report: cluster_report.md · Script: cluster_issues.py · Per-issue table: issue_clusters.csv