DOI: 10.5281/zenodo.18101949
title: Dataset: Why Are AI-Generated Pull Requests Discarded? A Preliminar Analysis Using the AIDev Dataset

description: dataset.json



The primary dataset containing complete metadata for all 4,314 Pull Requests analyzed in this study.


Root object containing two main properties:





Key Fields per PR Object:






id (Integer): Unique GitHub PR identifier.







number (Integer): PR number within the repository.







title (String): PR title/heading.







body (String): PR description and detailed content.







agent (String): Tool/agent that created the PR (e.g., "Claude_Code", "Devin", "GitHub Copilot").







user_id (Integer): GitHub user ID of the PR author.







user (String): GitHub username of the PR author.







state (String): PR status (always "closed" in this dataset).







created_at (ISO 8601 Datetime): PR creation timestamp.







closed_at (ISO 8601 Datetime): PR closure timestamp.







merged_at (null): Merge timestamp (null = not merged).







repo_id (Float): GitHub repository ID.







repo_url (String): API URL endpoint of the repository.







html_url (String): Web URL of the PR on GitHub.







comments (Array) Array of comment objects from PR discussion.




 




Comments Array Structure:

 





id (Integer): Unique comment ID.







pr_id (Integer): Parent PR ID for linking.







user (String): Comment author username.







user_id (Integer): Comment author GitHub user ID.







user_type (String): User type identifier ("User", "Bot", "Organization").







created_at (ISO 8601 Datetime): Comment creation timestamp.







body (String): Full comment text content.





 

summarize_gemini.json



AI-generated semantic summaries of PR closure reasons using Google's Gemini LLM. This file maps each PR ID to a structured analysis explaining why the PR was closed without merging.


Structure:



pr_id (Integer): Unique GitHub PR identifier (matches dataset.json).

html_url (String):Web URL of the PR on GitHub.

original_comment (Array[String]): Original PR comment threads (context for analysis).

analysis (String): AI-generated summary of closure reason.


 

cluster_bert_generated.json



Initial unsupervised clustering results generated by combining BERT embeddings and HDBSCAN algorithm. This file represents the raw algorithmic output before manual curation and consolidation.


Root Level Metadata:



source_run  (Integer): Identifier for the clustering run.

number_of_clusters (Integer): Total clusters generated by HDBSCAN.

total_analyses (Integer): Total PR analysis texts processed.

clustered_analyses (Integer): Texts successfully assigned to clusters.

outliers_noise (Integer): Texts classified as outliers/noise.

clusters (Array): Array of cluster objects with detailed content.




Cluster Object Structure:



cluster_id (String): Numeric identifier (0-169) or "OUTLIERS/NOISE".

items (Integer): Number of PRs assigned to this cluster.

keywords (Array[String]): Top 5-10 keywords extracted from cluster texts.

texts (Array[String]): Representative analysis text samples from cluster.



 

clusters_final.json





Manually curated and consolidated clustering results derived from cluster_bert_generated.json. Domain experts reviewed the 170 initial clusters and merged semantically related patterns into 20 comprehensive categories representing common PR closure reasons.



Root Level Metadata:



source_run  (Integer): Identifier for the clustering run.

outliers_removed (Boolean): Outliers explicitly handled in consolidation.

categories (Array): Consolidated category objects.








Category Object Structure:





new_cluster_id (Integer): Final category ID.

label (String): Human-readable category name.

description (String): Detailed description of PR closure reason pattern.

original_clusters_ids (Array[Integer]): IDs of original clusters merged into this category.

items (Integer): Total PRs assigned to this category.

text (Array[String]): Representative closure reason texts from PRs.

metadata (Object): Frequency distribution of unique analysis texts.