Private SaaS codebase with 186K pull requests and review threads
Summary
The full private codebase of one B2B SaaS company: 640 repositories of Go, TypeScript and Python services with every pull request, inline review comment and linked issue since 2014. The reviews show a senior team arguing about correctness, naming, migrations and rollout risk, which open-source data rarely captures. Secrets, keys, internal hostnames, customer identifiers and author identities are removed or replaced with stable placeholders.
Collected to order. We collect it from US companies for your order. Scope, volume and timing are confirmed in writing before you sign.
Pricing on request
Request scope and pricingAt a glance
- Planned scope. Volume, sources and timing are confirmed in writing before you sign.
- Records
- 186Kpull requests with review threads
- Size
- 10.5 GB
- Tokens, estimated
- 2.6B
- Years
- 2014 to 2026
- Firms
- 1
- Owner profile
- US B2B SaaS company in logistics software, 150 to 300 staff
- Industry
- Software
- Data type
- Code and engineering
- Headcount
- 150 to 300 staff
- Region
- United States
- Languages
- English
- Formats
- Source tree, JSONL
- Updated
Sources
| System | Kind | Records |
|---|---|---|
| GitHub | Code | 640 repositories, 412K commits |
| GitHub pull requests | Code | 186K pull requests, 1.1M review comments |
| Jira | Projects and wiki | 238K issues linked to commits |
Good for
- training code review models on real reviewer objections and the author's follow-up commits
- evaluating agents that write pull request descriptions from a diff and its linked issue
- testing long-context retrieval across a private multi-service codebase no model has seen
- learning safe database migration and feature flag rollout patterns
Fields
| Field | Type | Description |
|---|---|---|
| pr_id | string | De-identified pull request id |
| repo | string | Repository name, replaced if it names a customer |
| opened_at | timestamp | When the pull request was opened |
| merged_at | timestamp | Merge time, null if closed unmerged |
| title | string | Pull request title |
| description | string | Author's description |
| linked_issue | string | Linked issue key |
| files_changed | int | Files touched by the final diff |
| review_comments | array<object> | Reviewer, file path and body for each review comment, in order |
| review_outcome | enum | approved, changes_requested or closed |
| merge_commit | string | Commit hash that maps into the source tree |
Example record
{
"pr_id": "PR-0071644",
"repo": "shipments-api",
"opened_at": "2023-08-02T16:41:09Z",
"merged_at": "2023-08-04T13:12:55Z",
"title": "Add composite index on shipments (carrier_id, created_at)",
"description": "Carrier dashboard query does a sequential scan over 180M rows. Adds an index and points the dashboard query at it.",
"linked_issue": "PLAT-9184",
"files_changed": 4,
"review_comments": [
{
"reviewer": "[PERSON_7]",
"path": "migrations/0142_add_carrier_idx.sql",
"body": "Needs CREATE INDEX CONCURRENTLY or it locks shipments for the whole build. It also can't run inside the migration transaction."
},
{
"reviewer": "[PERSON_22]",
"path": "store/shipments.go",
"body": "Query still orders by id, so the planner may skip the new index. Order by created_at to match."
}
],
"review_outcome": "approved",
"merge_commit": "9f3c1e7a"
}Licenses available
Exclusive
One buyer. Nobody else can license it during the exclusive term, usually 2 years.
Non-exclusive
Licensed to more than one buyer.
First look
One buyer gets 2 to 4 weeks to make an offer before anyone else sees the dataset.
What ships with it
- Datasheet: what it is, what it is good for, verified size, sources, years, format and limits.
- Provenance file: the owner shown by code, staff notice and consent status, exclusions, mapped to the EU AI Act Article 53 training-data summary and California AB 2013.
- Manifest with a hash for every file.
- QC report and de-identification report.
- Your own copy, with unique canary records.
How it is de-identified
Default exclusions removed, files flattened to text, identifiers found in three layers and replaced with consistent placeholders, and the result measured against a 99% bar for each identifier type in each source.